[wesnoth-commits] [wesnoth/wesnoth] 888100: campaignd: Add server info request, [server_id]

Iris Morelle noreply at github.com
Thu Dec 10 03:15:34 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 8881002555d7f7509e89ebc4e27fa374c0b5783a
      https://github.com/wesnoth/wesnoth/commit/8881002555d7f7509e89ebc4e27fa374c0b5783a
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/server/campaignd/server.cpp
    M src/server/campaignd/server.hpp

  Log Message:
  -----------
  campaignd: Add server info request, [server_id]

This new commands allows clients to request some identification and
feature capability information from the server, intended to allow
clients to find out what features the server supports and enable or
disable UI elements accordingly while preserving compatibility where
desirable.

Currently this results in a response like this:

  [server_id]
      version="1.15.7+dev (c7643e0785b-Modified)"
      cap="auth:legacy,delta"
  [/server_id]

More information might be added later, such as a website URL and a link
to a web listing for the particular server (e.g. <https://add-ons.wesnoth.org/1.16/>),
more details on add-on licensing, or even doing away with the need to
send [request_terms] before displaying the prompt on the client side.


  Commit: f9631f108a0fedda6e5afc4659385ad78d115257
      https://github.com/wesnoth/wesnoth/commit/f9631f108a0fedda6e5afc4659385ad78d115257
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/addon/client.cpp
    M src/addon/client.hpp

  Log Message:
  -----------
  addon/client: Initial support for [server_id]

The client now sends the [server_id] command during connection and
records the server version and capabilities for later use. A simple API
to query the client's saved info is provided but not used at this time.

If the server does not recognize [server_id], the request will result in
an error that we simply ignore, and we make an educated guess on
capabilities based on vanilla campaignd.


  Commit: 38912c467a812fa50d7e40cc37e61fefca30c340
      https://github.com/wesnoth/wesnoth/commit/38912c467a812fa50d7e40cc37e61fefca30c340
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/server/campaignd/server.cpp
    M src/server/campaignd/server.hpp

  Log Message:
  -----------
  campaignd: Add licensing info and add-ons web URL to [server_id]

This is the part where an attentive reader realises the [server_info]
tag was intended all along to contain information for the command's
response, not just the add-on thread URL formatting string. Talk about a
Chekhov's gun.

Still want to keep them named differently since [server_id] is a
superset of [server_info] including hardcoded values (capabilities and
version).


  Commit: 239cced1d4dd7f621189bc67ece67ed16572d852
      https://github.com/wesnoth/wesnoth/commit/239cced1d4dd7f621189bc67ece67ed16572d852
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/addon/client.cpp
    M src/addon/client.hpp

  Log Message:
  -----------
  addon/client: Add support for [server_id] license terms/url and web url

The URLs do not have a user interface yet, but the license terms are
used in lieu of the [request_terms] request if available at connect
time.


  Commit: 1366b108a64a5339de83278bd5ea1758b4781ff4
      https://github.com/wesnoth/wesnoth/commit/1366b108a64a5339de83278bd5ea1758b4781ff4
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/addon/client.cpp
    M src/addon/client.hpp

  Log Message:
  -----------
  addon/client: Clear server error and info on disconnect

Kind of an obvious thing to do when you think about it. We clear the
error too because we successfully disconnected from the server. In
theory.


  Commit: 704ba04503d4616f1beb0e0650525eae167faaf5
      https://github.com/wesnoth/wesnoth/commit/704ba04503d4616f1beb0e0650525eae167faaf5
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/addon/client.cpp
    M src/addon/client.hpp
    M src/server/campaignd/server.cpp
    M src/server/campaignd/server.hpp

  Log Message:
  -----------
  campaignd: Remove [server_id] license_url

We're better off making URLs in the license text clickable on the client
side and including any relevant URLs there instead.


  Commit: 8c3918197cde8564e0cd4c1fa39795edccccb047
      https://github.com/wesnoth/wesnoth/commit/8c3918197cde8564e0cd4c1fa39795edccccb047
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    A data/gui/window/addon_license_prompt.cfg
    M projectfiles/VC16/wesnoth.vcxproj
    M projectfiles/VC16/wesnoth.vcxproj.filters
    M source_lists/wesnoth
    A src/gui/dialogs/addon/license_prompt.cpp
    A src/gui/dialogs/addon/license_prompt.hpp
    M src/gui/dialogs/addon/manager.cpp

  Log Message:
  -----------
  gui/addon_manager: Add dedicated license prompt dialog

This allows using full markup for the license text and making it
independently scrollable without messing up the dialog. It also enables
URL parsing in it.


  Commit: 494123131c0c9ae521e713a588b969ff5ca96f44
      https://github.com/wesnoth/wesnoth/commit/494123131c0c9ae521e713a588b969ff5ca96f44
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/server/campaignd/server.cpp

  Log Message:
  -----------
  campaignd: Reformat license terms to add a link to the full rules

And some other minor markup and spacing changes.


  Commit: 3ddff73675ca169f51c2be279f9c21c796d4433f
      https://github.com/wesnoth/wesnoth/commit/3ddff73675ca169f51c2be279f9c21c796d4433f
  Author: Iris Morelle <shadowm at wesnoth.org>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M src/tests/gui/test_gui2.cpp

  Log Message:
  -----------
  gui2: Update unit tests


Compare: https://github.com/wesnoth/wesnoth/compare/a41c88659af4...3ddff73675ca



More information about the Commits mailing list