Redirect servers

Discussions about Servers
Post Reply
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Redirect servers

Post by Pileyrei »

Can anyone recommend a good redirect server/service?
Ideally free although free usually means unreliable/issues at times. Maybe I'm wrong?!

I don't see me needing a redirect for loads of files but I think its a good idea to have one as I currently have a few small files that players need before joining.

Thanks
Piley
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Redirect servers

Post by sektor2111 »

Take in account that XC_Engine doesn't need redirect - it's probably better with no redirect at this point...
Advantages:
- if player has some firewall messing up other addresses, if has access to game-server will have files too, game-server being redirect by itself for itself;
- so if server is up and running, redirect is up and running too.

You can keep XCGE's ini configs mainly to False (Relevancy things, Level Hooks, etc.) except sending file feature.
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Re: Redirect servers

Post by Pileyrei »

Can I be VERY lazy and ask for a brief overview of the XC engine works so that redirects are not needed?
Or a link to some readmes/info?

I'm now renting a server with gameservers.com so would need to know if any issues using it there?

Thanks
Piley
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Redirect servers

Post by sektor2111 »

A couple of points.

As I recall (I don't know current deal of Game-Servers) last time they were permitting run-line modifications and INI configuration.

For a bit of understanding, Medor has a sample of an XC server (is MH/MH2/MA but files are set simple). That thing can be fired at Home for figuring the deals (Run-Line, also there is a starter based on UT-Logo-Map optimization for MapVotes LA types). A direct check is more than a speech. In case of updates (to last V20) NsUTw mutator can be removed from there for not messing with new XC stuff - even switching to next MBot_E with newer iterators.

Chamberly has some docs shared around about configuring XCGE. Setup is pretty simple and you can give it a go. Yes, XCGE can use extra Net resources for pumping files to player at a better speed that default game-server. In this way no redirect is needed unless you are intended for really high speed (x MB/S).

Btw I could see that you run Deck16][ - XCGE has some pathing modifiers/links for that map (and for a few others) perfectly operational (Bot will get redeemer, will go for SniperRifle from Top not only if spawns there, etc. ) improving A.I. at this point. You have nothing to lose by testing it.
ShaiHulud
Adept
Posts: 459
Joined: Sat Dec 22, 2012 6:37 am

Re: Redirect servers

Post by ShaiHulud »

I think you basically have two options.

You can use the free redirect graciously provided by Skillz over at ut-files.com - see the redirect page for instructions. This may well suit your needs if you're running fairly common maps. And if there are maps or map files that are not available from the redirect, you can upload them there too.

Or go the XC_Engine route. Switching to XC_Engine is an entirely reversible operation, so if you change your mind it's very simple to switch back to the stock UT "engine".
You'll need both the XC_Engine files, and the XC_Core files - versions 20 and 7 respectively at the time of writing (see the XC_Engine thread for updates).

Since Game Server uses Linux as the platform for hosting UT servers, you're only interested in the Linux binaries in these files.

From XC_Core (and the XC_Code folder inside the archive) you'd extract:

Code: Select all

XC_Core.int
XC_Core.so
XC_Core.u
No other files are required from the .7z archive containing them. These are all placed in your server /System/ folder.

From XC_Engine (and the System folder inside the archive) you'd extract:

Code: Select all

XC_Engine.so
XC_Engine.u
XC_Engine_UT99.u
XC_IpDrv.int
XC_IpDrv.so
And place these in your server /System/ folder. XC_Engine also includes some other useful files, including:

Code: Select all

NexgenXCGE_01.u
...which would also go in the System folder. PreLogin_NexgenXCGE.txt explains the purpose of this file
...will allow the IP component of Nexgen bans to reject players
before they even get to load the map, just like default ip bans
It might not be something you need at the moment, but it's not a bad thing to have available.

Then you need to modify your UnrealTournament.ini file. Create a new section: [XC_IpDrv.XC_TcpNetDriver] - which is essentially a mirror of the existing section [IpDrv.TcpNetDriver].

XC_IpDrv is what will allow you to get around the need for a redirect server. It temporarily "opens the tap" on file downloads from the UT server, rather than restricting clients to a trickle.
Side note: you can still use redirects with XC_Engine - in fact, in a more efficient compression format - but if you're primarily thinking about XC_Engine as a means of avoiding the need for a separate redirect server, this probably isn't important to you.

My [XC_IpDrv.XC_TcpNetDriver] section looks like this:

Code: Select all

[XC_IpDrv.XC_TcpNetDriver]
AllowDownloads=True
ConnectionTimeout=15.0
InitialConnectTimeout=120.0
AckTimeout=1.0
KeepAliveTime=0.2
MaxClientRate=20000
SimLatency=0
RelevantTimeout=5.0
SpawnPrioritySeconds=1.0
ServerTravelPause=4.0
NetServerMaxTickRate=80
LanServerMaxTickRate=80
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=XC_Core.XC_ChannelDownload
DownloadManagers=Engine.ChannelDownload
Now create another new section [XC_Engine.XC_GameEngine] which essentially mirrors the existing section [Engine.GameEngine]. Mine looks something like this:

Code: Select all

[XC_Engine.XC_GameEngine]
CacheSizeMegs=4
UseSound=True
bDisableTimingFix=True
bDisableBrushTracker=False
bSortMaplistByFolder=False
bSortMaplistGlobal=False
bAutoTravelManager=False
bCacheConvertAtJoin=False
bCollisionHashHook=True
bFasterUpload=True
bEnableDebugLogs=False
bUseNewRelevancy=False
bUseSetEnemyHook=True
bUseLevelHook=True
bAutoCompressLZMA=False
bScriptDebug=False
bForceLevelHook=False
MaxBadLoginAttempts=10
LoginTryAgainTime=4.000000
bKickAfterMaxLogin=True
DatalessTimeout=5.0
CriticalTimeout=2.0
CriticalConnCount=10
ExtraTCPQueries=2
MinClientVersion=432
ClientFrameRateLimit=0
ServerPackages=SoldierSkins
ServerPackages=CommandoSkins
ServerPackages=FCommandoSkins
ServerPackages=SGirlSkins
ServerPackages=BossSkins
ServerPackages=Botpack
ServerPackages=SkeletalChars
ServerPackages=SkeletalCharsFix313
ServerPackages=CountryFlags2
ServerPackages=NexgenCC
ServerPackages=NPLoader_v16b
ServerPackages=NPLoaderLLU_v16b
ServerPackages=NPLoaderLLD_v16b
ServerPackages=NPLoaderLLS_v16b
ServerPackages=ACEv08h_Cdll
ServerPackages=IACEv08c
ServerPackages=ACEv08h_C
ServerActors=IPToCountry.LinkActor
ServerActors=ServerCrashFix_v11.SCFActor
ServerActors=Nexgen112N.NexgenActor
ServerActors=NexgenServersideExt.NSEMain
ServerActors=NexgenPlayerLookupDataBase.NexgenPlayerLookupDataBase
ServerActors=NexgenPlayerLookup.NexgenPlayerLookup
ServerActors=NexgenABM.NexgenABMMain
ServerActors=NexgenXCGE_01.NexgenXCGE_PreLogin
ServerActors=XC_Engine.XC_ServerActor
ServerActors=IpDrv.UdpBeacon
ServerActors=IpServer.UdpServerQuery
ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900
ServerActors=UWeb.WebServer
ServerActors=NPLoader_v16b.NPLActor
ServerActors=ACEv08h_S.ACEActor
ServerActors=ACEv08h_EH.ACEEventActor
...don't copy this section verbatim, I have some custom Nexgen packages, that are renamed from the original public releases. And though I've reverted those names (to something like the originals), these names might not be identical the the public Nexgen file names. But basically the part from the header - [XC_Engine.XC_GameEngine] - down to ExtraTCPQueries is what's most significant. Together with the ServerActor line:

Code: Select all

ServerActors=NexgenXCGE_01.NexgenXCGE_PreLogin
...if you want to include that.

See Documentation.txt for a description of the settings available. Now you just need to make a couple of other changes in the UnrealTournament.ini file. Under the section [Engine.Engine]

Code: Select all

;NetworkDevice=IpDrv.TcpNetDriver
NetworkDevice=XC_IpDrv.XC_TcpNetDriver
...comment out the existing NetworkDevice=IpDrv.TcpNetDriver line, and add the one shown below it. And...

Code: Select all

;GameEngine=Engine.GameEngine
GameEngine=XC_Engine.XC_GameEngine
...comment out the existing GameEngine=Engine.GameEngine line, and add the one shown below it.

That's it. When you restart the server it will be running XC_Engine (you'll see a note about this in the console). And file downloads should be quick. If you ever want to switch back, you simple comment out the lines:

Code: Select all

NetworkDevice=XC_IpDrv.XC_TcpNetDriver
GameEngine=XC_Engine.XC_GameEngine
...and uncomment the lines:

Code: Select all

NetworkDevice=IpDrv.TcpNetDriver
GameEngine=Engine.GameEngine
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Re: Redirect servers

Post by Pileyrei »

Wow Shaihulud....

What can I say?!

Huge thanks for taking the time and effort to write such a detailed response - very helpful!

I'm going to look into the XC Engine for sure :tu:

Piley
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Redirect servers

Post by sektor2111 »

XC_Ipdrv has also it's own DownloadManager

Code: Select all

DownloadManagers=XC_IpDrv.XC_HTTPDownload
Because entire section is this:

Code: Select all

[XC_IpDrv.XC_TcpNetDriver]
ConnectionLimit=64
AllowDownloads=True
ConnectionTimeout=7.0
InitialConnectTimeout=15.0
AckTimeout=1.0
KeepAliveTime=0.3
MaxClientRate=20000
SimLatency=0
RelevantTimeout=40.0
SpawnPrioritySeconds=0.5
ServerTravelPause=1.0
NetServerMaxTickRate=30
LanServerMaxTickRate=30
LogPortUnreach=True
AllowPlayerPortUnreach=False
LogMaxConnPerIPPerMin=True
MaxConnPerIPPerMinute=20
OverrideBufferAllocation=True
MaxDownloadSize=0
DownloadManagers=XC_IpDrv.XC_HTTPDownLoad
DownloadManagers=XC_Core.XC_ChannelDownload
DownloadManagers=Engine.ChannelDownload
And sections are like that:

Code: Select all

[IpDrv.HTTPDownload]
RedirectToURL=
ProxyServerHost=
ProxyServerPort=3128
UseCompression=False
I don't have redirect for default player just direct XC Speed but...

Code: Select all

[XC_IpDrv.XC_HTTPDownLoad]
RedirectToURL=http://SomeLZMAAddress:Port/LZMAFolder/
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True
XC Player will get LZMA faster and smaller - I'm using only LZMA for some UZ goofing reasons.
Post Reply