Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Server list question

Hello
How can I get a list of servers and detailed information about servers without running the Doomsday Engine program? Is there request/response protocol of servers anywhere?

Comments

  • There is the master server JSON API. You can request a list of servers with: http://api.dengine.net/1/master_server?op=list

    Most of the fields should be self-explanatory, except for these:
    • "__obj__" is for Doomsday's internal use.
    • "dom" is the domain name (optionally provided).
    • "sid" is the unique server ID (randomly generated at server launch).
    • "cver" is the network protocol compatibility version.
    • "pnum"/"pmax" is the current and maximum number of players.
    • "flags" is 1 if the server is open for players to join.
  • thanks)
    what about server ping - how can i get it?
  • Unfortunately there is currently no simple to way to contact a server a find out the ping. The master server does not provide that information.

    The Doomsday server has a TCP socket interface that you can contact for requesting server status info (and to join the game), but the ping calculation itself is built into the client. The network protocol is a bit complicated, though. Briefly, you'd have to construct a Huffman-coded message containing the string "Ping?", and the server would send you back a similar packet with the string "Pong".
  • I am trying to include Doomsday in a multiplayer launcher (OS Windows) and discovered several problems using wads:
    • it is very difficult to convert the names of the loaded wads sent by the server (info) to the initial ones - it is not clear how to extract the name of the wad
    • sometimes wad names are distorted, for example, '_' is replaced by '-', and if the name ends with '_' and a digit (test_0.wad, test_1.wad) - these characters disappear altogether
    • server does not check wads loaded by client at all — you can load anything, for example:
      server: doomsday-server.exe -game doom2 -file dwango5.wad
      client: doomsday.exe -game doom2 -file dwango6.wad -connect localhost
      client connects to the server without problems
    • in Doomsday UI, the “versions” of wads are compared, which, as I understand it, are formed from the file's date/time - that is, files that are the same except for the date are considered different and the client downloads the wad from the server - and does this every time with subsequent connections, that is does not remember where it uploaded wad
      (by the way, the filename like test_1.wad is converted to file.pwad.test_1.0.0 in serverinfo)

    It seems to me that the existing protocol for the exchange of information is not very convenient for independent launchers, since requires significant transformations and analysis
    Is it possible to create an additional server-launcher protocol with more transparent rules (we could discuss the details)?

    And one more wish: possibility to immediately open the server console after the start server from command line (may be open Doomsday Shell.exe from server command line?)
Sign In or Register to comment.