UT99 Master Server address format

Post Reply
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

UT99 Master Server address format

Post by Higor »

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.
User avatar
Feralidragon
Godlike
Posts: 5489
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: UT99 Master Server address format

Post by Feralidragon »

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.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: UT99 Master Server address format

Post by Higor »

[Turns on the batsignal]
@Darkelarious
User avatar
Hook
Inhuman
Posts: 754
Joined: Tue Apr 22, 2008 11:21 pm
Personal rank: UT99 Promoter/Admin
Location: Minnesota USA
Contact:

Re: UT99 Master Server address format

Post by Hook »

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)
HUTP Active Forums: https://hooksutplace.freeforums.net/forum
HUTP UT99 Community Portal: https://hooksutplace.freeforums.net/
OR: https://hermskii.com/hook/ut99_hutp/
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 <-(NEW IP to come)
UT99 MH Server -> {CMH} CROSSBONES Monster Hunt (MH) by Mars007 (The Original) - IP: 108.61.238.93:7777
User avatar
Darkelarious
Skilled
Posts: 175
Joined: Sat Feb 08, 2014 12:02 pm
Personal rank: 333networks admin
Location: Phobos Moon
Contact:

Re: UT99 Master Server address format

Post by Darkelarious »

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.
--Darkelarious
Image
Masterserver | Discord Channel
Oh, and we still are ready to receive donations. The url works, right? It doesn't seem to be doing anything...
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: UT99 Master Server address format

Post by Higor »

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.
Post Reply