UT99 Master Server address format

UT99 Master Server address format

Postby Higor » Sat Mar 31, 2018 4:06 am

Has anyone tried seeing if it's possible to spoof the server's ip address when communicating with the master server?
The intent is not to try to exploit (I assume the server is already safe from that).

If the master server does indeed store the server address as a standard string instead of IP, then it's possible to send a resolvable hostname, or even a IPv6 address to it.
While the game has no support for IPv6 (that's not a problem to implement at all), hostname resolution can help servers with dynamic ip addresses.
Higor
Godlike
 
Posts: 1744
Joined: Sun Mar 04, 2012 6:47 pm

Re: UT99 Master Server address format

Postby Feralidragon » Sat Mar 31, 2018 12:00 pm

While I don't know if it was ever tried, that would be a good question to ask to Darkelarious directly, since he made a master server of his own.
And even if the original master server only accepts IPs (IPv4), maybe his may accept something more already, or in the future if asked I would say.
User avatar
Feralidragon
Godlike
 
Posts: 5076
Joined: Wed Feb 27, 2008 6:24 pm
Location: Liandri
Personal rank: Work In Progress

Re: UT99 Master Server address format

Postby Higor » Sat Mar 31, 2018 7:55 pm

[Turns on the batsignal]
@Darkelarious
Higor
Godlike
 
Posts: 1744
Joined: Sun Mar 04, 2012 6:47 pm

Re: UT99 Master Server address format

Postby Hook » Sun Apr 01, 2018 12:21 am

Higor wrote:[Turns on the batsignal]
@Darkelarious

FYI Darkelarious has been pretty busy lately, but he could see this soon I would guess, as he generally responds to us within a few days or less when needed.
=Hook=(Member# 626)
Forums: http://hooksutplace.freeforums.net
UT99 Server -> CROSSBONES Missile Madness {CMM}

* Newest Versions of: PRO-Redeemers | PRO-SNIPER-Redeemers | PRO-SEEKER-Redeemers <-(the Original)
and Now with FOOD FIGHT and Frying Pan arena !!!
IP: 68.232.181.236:7777
User avatar
Hook
Masterful
 
Posts: 693
Joined: Tue Apr 22, 2008 11:21 pm
Location: Minnesota USA
Personal rank: UT99 Promoter/Admin

Re: UT99 Master Server address format

Postby Darkelarious » Mon Apr 02, 2018 10:17 pm

Higor wrote:[Turns on the batsignal]
@Darkelarious


* Ropes in from the dark *

At the moment the 333networks masterserver looks at the UDP packet headers. Those can be spoofed as far as I know. But then the 333networks masterserver uses the secure/validate challenge to determine whether this server is reachable and legitimate before it can be added to the masterserver list.

Regarding IPv6 and hostnames; 333networks only stores IPv4 addresses in the database for now. I do not have a plan for IPv6 support, but I welcome suggestions for the implementation.
User avatar
Darkelarious
Skilled
 
Posts: 162
Joined: Sat Feb 08, 2014 12:02 pm
Location: Phobos Moon

Re: UT99 Master Server address format

Postby Higor » Mon Apr 02, 2018 10:37 pm

I've done my research on the epic games masterserver and news are bad.

It does store in string format, but it takes the ip address from the UDP headers too.
And when validating a server it will take said address without any form of hostname conversion.

@Darkelarious
Proposed update for 333networks:

- Game Server can send his heartbeat using an additional value: "\\hostname\\server.hostname.com"
- Master Server can detect and do the following:
-- Resolve address.
-- If address matches the packet's address, then store server in list as hostname (additional var?).
-- If address doesn't match or resolution fails, store the ip only.

UT Client's server browsers fully support hostnames so the game itself wouldn't need to be updated at all.
Also, when a client adds one of these servers to favorites, the entry will be saved with 'hostname' instead of 'ip'.

Also, you've probably noticed this in the server's uplink:
Code: Select all
   if( MasterServerAddress ~= "unreal.epicgames.com" )
      HeartbeatMessage = "\\heartbeat\\"$Query.Port$"\\gamename\\"$Query.GameName$"\\gamever\\"$Level.EngineVersion;
   else
      HeartbeatMessage = "\\heartbeat\\"$Query.Port$"\\gamename\\"$Query.GameName;

If you want to implement the \\gamever\\ key, let me know and I'll remove that conditional in a XC_Engine update (so all master servers receive gamever).
If you'd like additional keywords to be sent (333networks-only feature), now's the chance.
Higor
Godlike
 
Posts: 1744
Joined: Sun Mar 04, 2012 6:47 pm


Return to Discussions

Who is online

Users browsing this forum: No registered users and 0 guests