SOLVED: UT99 redirect server port specification.

Discussions about Servers
tgm1024
Novice
Posts: 7
Joined: Thu Apr 16, 2020 6:27 pm

SOLVED: UT99 redirect server port specification.

Post by tgm1024 »

Ok, I'm digging out my UT99 setups, and am re-setting up my own redirect server. I am re-creating my dedicated http demon to manage this. This is for tweaking reasons, not because something like LightTPD wouldn't "work", I just need control over some of the details.

Basically trying to dust off roughly 15-20 year old memories here.

I remember roughly how to have UT99 servers specify redirect servers for the client to use. Usually something like this example:

Code: Select all

[IpDrv.HTTPDownload]
RedirectToURL=http://uz.MyRedirectServer.com/
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True

[IpDrv.TcpNetDriver]
AllowDownloads=True
MaxDownloadSize=0
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload
Ok, because the client is issuing either an HTTP GET or POST (I forget which), does it mean that my redirect server should be hosting on the standard HTTP port 80? I'm assuming that the 3128 isn't the port (is that only for full HTTP proxies?)

Or can I specify (say) the port 6666 as this:

Code: Select all

[IpDrv.HTTPDownload]
RedirectToURL=http://uz.MyRedirectServer.com:6666/
Thanks guys. Trying to remember stuff I used to know like the back of my hand is embarrassing, but feel free to bust on me anyway.
Last edited by tgm1024 on Thu Apr 16, 2020 10:04 pm, edited 1 time in total.
User avatar
Barbie
Godlike
Posts: 2911
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: UT99 redirect server port specification.

Post by Barbie »

tgm1024 wrote: Thu Apr 16, 2020 6:35 pmI'm assuming that the 3128 isn't the port (is that only for full HTTP proxies?)
Yes, thats usually the squid proxy port. But if the port on the machine running the web server is free, you could use it.
Or can I specify (say) the port 6666 as this:

Code: Select all

[IpDrv.HTTPDownload]
RedirectToURL=http://uz.MyRedirectServer.com:6666/
Yes, that should work. Don't forget to advise your web server to listen on that port.
"If Origin not in center it be not in center." --Buggie
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York

Re: SOLVED: UT99 redirect server port specification.

Post by RocketJedi »

I would use the xc engine redirect don't need a server, dont need to manually compress, and its fast
https://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SNIPER DEATHMATCH
Image InstaGib + ComboGib + Jailbreak
Image ROSEBUM ROCKET-X RB
User avatar
Barbie
Godlike
Posts: 2911
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: SOLVED: UT99 redirect server port specification.

Post by Barbie »

RocketJedi wrote: Fri Apr 17, 2020 1:00 amI would use the xc engine redirect don't need a server, dont need to manually compress, and its fast
Yes, but what's about players that don't have installed XC-Engine?
"If Origin not in center it be not in center." --Buggie
User avatar
sektor2111
Godlike
Posts: 6433
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: SOLVED: UT99 redirect server port specification.

Post by sektor2111 »

Barbie wrote: Fri Apr 17, 2020 3:37 am Yes, but what's about players that don't have installed XC-Engine?
It sends files to everyone anyway. Else there are other problems with XC... I'm hoping to see these solved, still hoping...

Redirect:
Redirect works on which port we want, I used port 9000 for ages. Why that ? There I have LZMA files for redirecting XC player (not compressing them on fly because it's too slow), while default player has files directly from server sent by XC_Engine.
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: SOLVED: UT99 redirect server port specification.

Post by Que »

Skip redirect all together and use this setting on Commandline.

Code: Select all

-lanplay
* If you want to test speed then rename your Cache Folder to cache0
* Connect to Server in my Sig.
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
tgm1024
Novice
Posts: 7
Joined: Thu Apr 16, 2020 6:27 pm

Re: SOLVED: UT99 redirect server port specification.

Post by tgm1024 »

sektor2111 wrote: Fri Apr 17, 2020 6:26 am Redirect:
Redirect works on which port we want, I used port 9000 for ages. Why that ? There I have LZMA files for redirecting XC player (not compressing them on fly because it's too slow), while default player has files directly from server sent by XC_Engine.
Yes, but the biggest question was that I need to know how to specify that port in the game .INI.

For instance, part of my confusion is that in the redirect server services docs, they specify that you simply point the URL of the website. I see no specification of port #. What port is that defaulting to? 80? :noidea

Here's an example from https://news.ut-files.com/redirect/

[IpDrv.HTTPDownload]
RedirectToURL=http://uz.ut-files.com/
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True

See, there's no port for the redirect specified. No :9000 (or whatever). Do we agree that it's not 3128? Is it 80?

Que wrote: Fri Apr 17, 2020 7:43 am Skip redirect all together and use this setting on Commandline.

Code: Select all

-lanplay
* If you want to test speed then rename your Cache Folder to cache0
* Connect to Server in my Sig.
I've seen that option, but only recently. That sucker always been there? LOL. How does it impact game play. If the members of my now defunct clan want to get together and have nothing ahead of time (and didn't download my archive for it) does it hick-up the action itself?

Besides, there's another wrinkle in using something other than my own code. First of all, even the stripped down HTTP servers (H2O, LightTPD, thttpd, etc.) have two problems IMO:

1. (Clinical Paranoia) They supply enough compatibility to open up to potential pitfalls. For instance, what if there's a buffer overrun attack, or some kind of ".." in the path that was disguised just right to pass their testing, etc...... I've seen enough of these mistakes before, and they're outside my coding control.

2. (Not Invented Here Syndrome) There was at least one case of a filename case problem due to the fact that linux and windows (((insert yada³, you know the differences))) and I have control over that in the software itself. Plus, I can go as full bore datarate as I want, and load-balance however I like with direct control over my code.
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: SOLVED: UT99 redirect server port specification.

Post by Que »

No problems with -lanplay not quite as fast as Redirect.. But a hell of a lot less mucking around.

:tu:
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
User avatar
Barbie
Godlike
Posts: 2911
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: SOLVED: UT99 redirect server port specification.

Post by Barbie »

tgm1024 wrote: Fri Apr 17, 2020 2:02 pmI see no specification of port #. What port is that defaulting to? 80? :noidea
Port 80 is the default for http connections. You don't need to add the default port to the URL.


There was at least one case of a filename case problem
I would be glad if there was only one difference is name case... :x
filename case fixes
Ambancient.uax.uz -> AmbAncient.uax.uz
Ambmodern.uax.uz -> AmbModern.uax.uz
Amboutside.uax.uz -> AmbOutside.uax.uz
Ancient1.utx.uz -> Ancient.utx.uz
Area51Bunker_Music.umx.uz -> UnWorld2.umx.uz
BBoyLikePac.u.uz -> BBoyLikePak.u.uz
BBoyShare.u.uz -> BBoyShars.u.uz
Blufffx.utx.uz -> BluffFX.utx.uz
BookOfDreams.umx.uz -> bookofdreams.umx.uz
BoostV2.umx.uz -> Zan_oc.umx.uz
Botpack.u.uz -> BotPack.u.uz
BPak.u.uz -> bpak.u.uz
BPSE.u.uz -> bpse.u.uz
ChaosSounds2.uax.uz -> chaossounds2.uax.uz
Chaossounds2.uax.uz -> chaossounds2.uax.uz
Chaostex.utx.uz -> chaostex.utx.uz
chicoruinspack.utx.uz -> chicoruinspack(D).utx.uz
chizraefx.utx.uz -> ChizraEFX.utx.uz
CommandoSkins.utx.uz -> commandoskins.utx.uz
crypt2.utx.uz -> Crypt2.utx.uz
Doors.uax.uz -> doors.uax.uz
Doorsanc.uax.uz -> DoorsAnc.uax.uz
Doorsmod.uax.uz -> DoorsMod.uax.uz
Dusk.utx.uz -> dusk.utx.uz
DuskMusic.umx.uz -> dusk.umx.uz
EpicCustomModels.u.uz -> epiccustommodels.u.uz
eversmoke.umx.uz -> EverSmoke.umx.uz
Extro2.uax.uz -> Extro.uax.uz
GENEARTH.utx.uz -> GenEarth.utx.uz
genfluid.utx.uz -> GenFluid.utx.uz
GennFX.utx.uz -> GenFX.utx.uz
Jurassic.u.uz -> jurassic.u.uz
langs.utx.uz -> Langs.utx.uz
Lega.uax.uz -> lega.uax.uz
liquids.utx.uz -> Liquids.utx.uz
logo.utx.uz -> Logo.utx.uz
marvinSkins.utx.uz -> marvinskins.utx.uz
Minion.utx.uz -> minion.utx.uz
Monsterhunt.u.uz -> MonsterHunt.u.uz
monsterhunt.u.uz -> MonsterHunt.u.uz
Moroset.umx.uz -> Tropheus.umx.uz
Muton.u.uz -> muton.u.uz
Newmca7.umx.uz -> newmca7.umx.uz
Newmca9.umx.uz -> newmca9.umx.uz
Oldskool.u.uz -> oldskool.u.uz
predator.u.uz -> Predator.u.uz
Reaper.u.uz -> reaper.u.uz
Revenge.u.uz -> revenge.u.uz
Sabbskins.utx.uz -> SabbSkins.utx.uz
Sectopod.u.uz -> sectopod.u.uz
shaneDAY.utx.uz -> ShaneDay.utx.uz
shanesky.utx.uz -> ShaneSky.utx.uz
SKYBox.utx.uz -> SkyBox.utx.uz
Skybox.utx.uz -> SkyBox.utx.uz
skybox.utx.uz -> SkyBox.utx.uz
Skycity.utx.uz -> SkyCity.utx.uz
strider.umx.uz -> Strider.umx.uz
Suspense.umx.uz -> suspense.umx.uz
TCowMeshSkins.utx.uz -> tcowmeshskins.utx.uz
THUNDERBOLTDecoEgypt2.u.uz -> DragonDecoEgypt.u.uz
tnalimeshskins.utx.uz -> TNaliMeshSkins.utx.uz
Tree_PACK1.u.uz -> TreePack1.u.uz
TSkMSkins.utx.uz -> tskmskins.utx.uz
U2rtnp.u.uz -> u2rtnp.u.uz
UTMHpack.u.uz -> MHmonsters.u.uz
Warlord.umx.uz -> WarLord.umx.uz
WarlordMusic.umx.uz -> WarLord.umx.uz
WarNukingGroundfix.u.uz -> WarNukingGround.u.uz
Wooper.u.uz -> wooper.u.uz
xfx.utx.uz -> XFX.utx.uz
"If Origin not in center it be not in center." --Buggie
tgm1024
Novice
Posts: 7
Joined: Thu Apr 16, 2020 6:27 pm

Re: SOLVED: UT99 redirect server port specification.

Post by tgm1024 »

Barbie wrote: Sat Apr 18, 2020 1:06 pm
tgm1024 wrote: Fri Apr 17, 2020 2:02 pmI see no specification of port #. What port is that defaulting to? 80? :noidea
Port 80 is the default for http connections. You don't need to add the default port to the URL.
I understand that in the general sense for websites, but 80 is not tied to the HTTP discipline itself. Port 80 is just a convention that UT could have decided to use or not use for their purposes of serving up data. The HTTP "connection" they're using is absurdly limited (GET/POST, I forget which), and literally nothing else. (Again, dusting off memory).

I wish I kept my original code. This experience has made me paranoid about deleting a.n.y.t.h.i.n.g.

You answered the question though, so thanks. It's defaulting to port 80.

Barbie wrote: Sat Apr 18, 2020 1:06 pmI would be glad if there was only one difference is name case... :x
filename case fixes
Ambancient.uax.uz -> AmbAncient.uax.uz
Ambmodern.uax.uz -> AmbModern.uax.uz
Amboutside.uax.uz -> AmbOutside.uax.uz
Ancient1.utx.uz -> Ancient.utx.uz
Area51Bunker_Music.umx.uz -> UnWorld2.umx.uz
BBoyLikePac.u.uz -> BBoyLikePak.u.uz
BBoyShare.u.uz -> BBoyShars.u.uz
Blufffx.utx.uz -> BluffFX.utx.uz
BookOfDreams.umx.uz -> bookofdreams.umx.uz
BoostV2.umx.uz -> Zan_oc.umx.uz
Botpack.u.uz -> BotPack.u.uz
BPak.u.uz -> bpak.u.uz
BPSE.u.uz -> bpse.u.uz
ChaosSounds2.uax.uz -> chaossounds2.uax.uz
Chaossounds2.uax.uz -> chaossounds2.uax.uz
Chaostex.utx.uz -> chaostex.utx.uz
chicoruinspack.utx.uz -> chicoruinspack(D).utx.uz
chizraefx.utx.uz -> ChizraEFX.utx.uz
CommandoSkins.utx.uz -> commandoskins.utx.uz
crypt2.utx.uz -> Crypt2.utx.uz
Doors.uax.uz -> doors.uax.uz
Doorsanc.uax.uz -> DoorsAnc.uax.uz
Doorsmod.uax.uz -> DoorsMod.uax.uz
Dusk.utx.uz -> dusk.utx.uz
DuskMusic.umx.uz -> dusk.umx.uz
EpicCustomModels.u.uz -> epiccustommodels.u.uz
eversmoke.umx.uz -> EverSmoke.umx.uz
Extro2.uax.uz -> Extro.uax.uz
GENEARTH.utx.uz -> GenEarth.utx.uz
genfluid.utx.uz -> GenFluid.utx.uz
GennFX.utx.uz -> GenFX.utx.uz
Jurassic.u.uz -> jurassic.u.uz
langs.utx.uz -> Langs.utx.uz
Lega.uax.uz -> lega.uax.uz
liquids.utx.uz -> Liquids.utx.uz
logo.utx.uz -> Logo.utx.uz
marvinSkins.utx.uz -> marvinskins.utx.uz
Minion.utx.uz -> minion.utx.uz
Monsterhunt.u.uz -> MonsterHunt.u.uz
monsterhunt.u.uz -> MonsterHunt.u.uz
Moroset.umx.uz -> Tropheus.umx.uz
Muton.u.uz -> muton.u.uz
Newmca7.umx.uz -> newmca7.umx.uz
Newmca9.umx.uz -> newmca9.umx.uz
Oldskool.u.uz -> oldskool.u.uz
predator.u.uz -> Predator.u.uz
Reaper.u.uz -> reaper.u.uz
Revenge.u.uz -> revenge.u.uz
Sabbskins.utx.uz -> SabbSkins.utx.uz
Sectopod.u.uz -> sectopod.u.uz
shaneDAY.utx.uz -> ShaneDay.utx.uz
shanesky.utx.uz -> ShaneSky.utx.uz
SKYBox.utx.uz -> SkyBox.utx.uz
Skybox.utx.uz -> SkyBox.utx.uz
skybox.utx.uz -> SkyBox.utx.uz
Skycity.utx.uz -> SkyCity.utx.uz
strider.umx.uz -> Strider.umx.uz
Suspense.umx.uz -> suspense.umx.uz
TCowMeshSkins.utx.uz -> tcowmeshskins.utx.uz
THUNDERBOLTDecoEgypt2.u.uz -> DragonDecoEgypt.u.uz
tnalimeshskins.utx.uz -> TNaliMeshSkins.utx.uz
Tree_PACK1.u.uz -> TreePack1.u.uz
TSkMSkins.utx.uz -> tskmskins.utx.uz
U2rtnp.u.uz -> u2rtnp.u.uz
UTMHpack.u.uz -> MHmonsters.u.uz
Warlord.umx.uz -> WarLord.umx.uz
WarlordMusic.umx.uz -> WarLord.umx.uz
WarNukingGroundfix.u.uz -> WarNukingGround.u.uz
Wooper.u.uz -> wooper.u.uz
xfx.utx.uz -> XFX.utx.uz
Image

Ermahgerd. That's a ........ *lot*.

Yeah, IMO that totally needs to be addressed by the server software itself, and not with endlessly supplying symbolic link bandaids, etc.
Custer
Novice
Posts: 9
Joined: Sun Jan 10, 2021 3:11 pm

Re: SOLVED: UT99 redirect server port specification.

Post by Custer »

Bit late to the party, but I'll leave this here in case anyone finds it useful...

As I understand it, if the server switches to a map that the client lacks, the client can download it. Where from? There's two methods:
  • from the gaming server, using the standard UChannel - the same port for the game. This is the UT server saying: you need this file. You not got it? Here it is.
  • from a second location, bypassing the server entirely - this is the point of the REDIRECT. This is the the UT server saying: you need this file. You not got it? Go and get it from *here*
The first part is the simplest: in the config file, just flick over:

Code: Select all

[IpDrv.TcpNetDriver]
AllowDownloads=True
However, download speeds are limited by how fast the UChannel can give and also the "ConfiguredInternetSpeeds" setting in the client. Hosting the assets (not just maps, but required textures, sounds, meshes, system files, etc) on a different server entirely - the REDIRECT - means that content provided upon demand is delegated away from the UT Server.

So for the second: setup some sharing server - HTTP, FTP, etc - and ensure that you can visit the URL in a browser first. Then specify the URL to that server in the next section:

Code: Select all

[IpDrv.HTTPDownload]
RedirectToURL=http://uz.MyRedirectServer.com:800/
(as others have stated, can use the :port notation if it's not running on port 80)
Points to note here:
  • Recommend to use an HTTP location rather than FTP
  • Don't use HTTPS - it works, but the speed is lousy due to the additional encryption overhead
  • Don't use some directory structure on the filestore: the client simply bangs that URL in then appends "newmap.unr" or "neededTexture.utx" as a filename.
If you compress files on the redirect, add UseCompression=True to the [IpDrv.HTTPDownload] section. That tells the client to look for "newmap.unr.uz" instead.

Setting AllowDownloads=False in the [IpDrv.TcpNetDriver] section does NOT affect the redirect - it simply prevents the UT server itself from offering the asset locally if not found on the redirect. It's a nice fall-back, but ideally shouldn't be used.

The Proxy lines are intended for LAN play and to instruct the client how to connect to the remote redirect server. If you're not using a proxy at all (e.g.: gaming at home) or your PC is already setup with proxy settings, you can safely ignore those lines.

More information on a guide here: https://gaming.tombstones.org.uk/server ... ad-speeds/

Final note: I would really recommend anyone setting up a redirect server and setting their UT server to use the redirect to properly test their setup - check the logfiles on the redirect server to see what file is being request by the client.
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: SOLVED: UT99 redirect server port specification.

Post by Que »

RocketJedi wrote: Fri Apr 17, 2020 1:00 am I would use the xc engine redirect don't need a server, dont need to manually compress, and its fast
This only works ..if the client has XC_GameEngine Installed clientside.

You'll find that alot of players don't even know how to update their UT , let alone install XC.
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
ShaiHulud
Adept
Posts: 460
Joined: Sat Dec 22, 2012 6:37 am

Re: SOLVED: UT99 redirect server port specification.

Post by ShaiHulud »

It's a fair assumption, but this is actually not the case. Our server runs XC_Engine with

bFasterUpload=true

under [XC_Engine.XC_GameEngine] (I think that's the relevant setting), and vanilla UT clients are able to download files at whatever the next throughput bottleneck might be (I don't know whether the next limiter is something built into UT, throttling by the server host, or client connection throughput). It works pretty well. You still miss having a dedicated redirect for substantial files, especially with the benefits of compression, but it's a phenomenal improvement over stock UT server download rates.

Que wrote: Sun Jan 24, 2021 3:43 am This only works ..if the client has XC_GameEngine Installed clientside.
User avatar
Que
Inhuman
Posts: 812
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...

Re: SOLVED: UT99 redirect server port specification.

Post by Que »

whats your server ip ShaiHulud?.. i'd like to connect using various clients and see how she works.. am i correct in assuming that you have no redirect server running?
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
ShaiHulud
Adept
Posts: 460
Joined: Sat Dec 22, 2012 6:37 am

Re: SOLVED: UT99 redirect server port specification.

Post by ShaiHulud »

Yes, no redirect - it had gotten to the point that the yearly redirect server bill was costing more than the UT server itself, so we dropped it. It all happened in a bit of rush, and I wish I'd downloaded the 20+ GB of UZ files before the redirect server was wiped (because the thought of going through the process of re-compressing everything is painful to contemplate), just in case we ever decided to revert to a redirect setup.