User Tools

Site Tools


en:games:ut99:query_protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:games:ut99:query_protocol [2022-04-01-22-59] – ↷ Links adapted because of a move operation 7saturnen:games:ut99:query_protocol [2022-04-02-12-16] (current) 7saturn
Line 1: Line 1:
 ====== Unreal Tournament 99 Query Protocol ====== ====== Unreal Tournament 99 Query Protocol ======
-[[..:unreal_tournament]], like many other games of the time frame around year 2000 allow for LAN and online play. The former is done by looking for game servers on the local network while the latter game servers are looked up on master servers. In case of UT, the actual information query is therefore a bit different for LAN and online servers.+[[..:Unreal Tournament]], like many other games of the time frame around year 2000 allow for LAN and online play. The former is done by looking for game servers on the local network while the latter game servers are looked up on master servers. In case of UT, the actual information query is therefore a bit different for LAN and online servers.
  
-The game uses up to three ports for connectivity, which can be set rather freely. The LAN query port is a single [[..:network_terms:udp]] port while the actual (online) play ports are an adjacent pair of UDP ports that you can select by configuring the first one of the two. The default for online servers are UDP ports 7777, resp. 7778, and also 7779 and 7780. The first one is used for the actual game connectivity (playing) while the second one is always used for querying server details.+The game uses up to three ports for connectivity, which can be set rather freely. The LAN query port is a single [[en:network_terms:UDP]] port while the actual (online) play ports are an adjacent pair of UDP ports that you can select by configuring the first one of the two. The default for online servers are UDP ports 7777, resp. 7778, and also 7779 and 7780. The first one is used for the actual game connectivity (playing) while the second one is always used for querying server details.
  
-The LAN port on the other hand is solely used to find out about the set game port. The default port is 8777 (UDP). However it will work just fine, if you choose a port within range 8777-8786. Those ports are queried automatically via [[..:network_terms:broadcast]] queries. The server then answers by sending the game port to the client, which in turn now knows where to connect to the game server.+The LAN port on the other hand is solely used to find out about the set game port. The default port is 8777 (UDP). However it will work just fine, if you choose a port within range 8777-8786. Those ports are queried automatically via [[en:network_terms:broadcast]] queries. The server then answers by sending the game port to the client, which in turn now knows where to connect to the game server.
 ===== LAN Server Queries ===== ===== LAN Server Queries =====
 ==== REPORTQUERY ==== ==== REPORTQUERY ====
Line 28: Line 28:
   * ''maptitle'': name or the map currently being played,   * ''maptitle'': name or the map currently being played,
   * ''mapname'': technical name of the map currently being played,   * ''mapname'': technical name of the map currently being played,
-  * ''gametype'': the [[#Game Types|game type]] currently being played, e. g. [[..:deathmatch]],+  * ''gametype'': the [[#Game Types|game type]] currently being played, e. g. [[en:gaming_theory:Deathmatch]],
   * ''numplayers'': currently playing humans,   * ''numplayers'': currently playing humans,
   * ''maxplayers'': maximum number of players allowed to be connected simultaneously,   * ''maxplayers'': maximum number of players allowed to be connected simultaneously,
Line 44: Line 44:
  
 This returns basically the same information, but adding the following information on top: This returns basically the same information, but adding the following information on top:
-  * ''listenserver'': Is this a [[..:server_types#dedicated_server|dedicated server]] or a [[..:server_types#listen_server|listen server]]?,+  * ''listenserver'': Is this a [[en:gaming_theory:server_types#dedicated_server|dedicated server]] or a [[en:gaming_theory:server_types#listen_server|listen server]]?,
   * ''password'': does the server require the client to authenticate with a password before joining the match?,   * ''password'': does the server require the client to authenticate with a password before joining the match?,
   * ''timelimit'': how long in minutes is a map being played at most?,   * ''timelimit'': how long in minutes is a map being played at most?,
Line 71: Line 71:
 The queries //basic//, //info// and //rules// can be combined in one query by sending ''\basic\\info\\rules\''. This way the server will answer with all the data sent back, that the single queries would return by themselves. The queries //basic//, //info// and //rules// can be combined in one query by sending ''\basic\\info\\rules\''. This way the server will answer with all the data sent back, that the single queries would return by themselves.
 ===== Master Server Queries ===== ===== Master Server Queries =====
-In principle, the queries of server details mentioned in section [[#LAN Server Queries]] can be applied as well for internet servers. But in order to get a list of available game servers a master server has to be queried. This is done via a TCP connection. The original master server for UT99 hosted by [[..:epic]] is still available via the domain name //unreal.epicgames.com:28900// (IP: 199.255.40.174 on 2021-12-12).+In principle, the queries of server details mentioned in section [[#LAN Server Queries]] can be applied as well for internet servers. But in order to get a list of available game servers a master server has to be queried. This is done via a TCP connection. The original master server for UT99 hosted by [[..:publishers:Epic Games]] is still available via the domain name //unreal.epicgames.com:28900// (IP: 199.255.40.174 on 2021-12-12).
  
 When connecting to the master server the server will begin by sending the following string: ''<nowiki>\basic\\secure\wookie</nowiki>''. The client then sends the string: ''\gamename\ut\location\0\validate\2/TYFMRc\final\'' and in a subsequent message: ''<nowiki>\list\\gamename\ut\final\</nowiki>''. The ''2/TYFMRc'' is actually an identifier for UT, as many games use very similar protocols, that differ only minor. This ensures, that the client identifies itself as a UT99 client. When connecting to the master server the server will begin by sending the following string: ''<nowiki>\basic\\secure\wookie</nowiki>''. The client then sends the string: ''\gamename\ut\location\0\validate\2/TYFMRc\final\'' and in a subsequent message: ''<nowiki>\list\\gamename\ut\final\</nowiki>''. The ''2/TYFMRc'' is actually an identifier for UT, as many games use very similar protocols, that differ only minor. This ensures, that the client identifies itself as a UT99 client.
Line 90: Line 90:
  
 ^  Identifier ^  Game Type  ^ ^  Identifier ^  Game Type  ^
-| DeathMatchPlus | [[..:deathmatch]] | +| DeathMatchPlus | [[en:gaming_theory:Deathmatch]] | 
-| TeamGamePlus | [[..:team_deathmatch]] | +| TeamGamePlus | [[en:gaming_theory:Team Deathmatch]] | 
-| CTFGame | [[..:capture_the_flag]] | +| CTFGame | [[en:gaming_theory:Capture the Flag]] | 
-| Domination | [[..:domination]] | +| Domination | [[en:gaming_theory:Domination]] | 
-| Assault | [[..:assault]] | +| Assault | [[en:gaming_theory:Assault]] | 
-| LastManStanding | [[..:last_man_standing]] |+| LastManStanding | [[en:gaming_theory:Last Man Standing]] |
  
-[ [[..:games_database]] ] [ [[..:unreal_tournament#network_internet_servers|Unreal Tournament]] ]+[ [[en:Games Database]] ] [ [[..:unreal_tournament#network_internet_servers|Unreal Tournament]] ]
en/games/ut99/query_protocol.1648846748.txt.gz · Last modified: 2022-04-01-22-59 by 7saturn

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki