I think redirecting to a 302 Moved is broken in the 3323 patch.

Clint Goudie-Nice clint at magicalspirits.net
Wed Oct 6 21:21:53 EDT 2004

When I'm running my Linux ut2004 server, if I point the redirect at a
web server that issues a 302 moved, the client doesn't download from the
new location, instead it comes back to the ut server to pull the file.

Here's an example..

Add a server package that's out on the redirect

Set this so the ut server cant send downloads itself...

setup redirect to point at unrealadmins redirection service.

(I've also tried it with the Proxy lines commented out)

Make sure you don't have a local copy of ServerExtClient103, connect to
the server, and you'll get a server refused to send file message,
however upon closer inspection by capturing the packets at the client in
ethereal you see this..

GET /ServerExtClient103.u.uz2 HTTP/1.1
Host: uz.unrealadmin.org
User-Agent: Unreal
Connection: close

HTTP/1.1 302 Found
Date: Thu, 07 Oct 2004 00:48:24 GMT
Server: Apache/2.0.50 (FreeBSD) PHP/4.3.8
X-Powered-By: PHP/4.3.8
Content-Length: 0
Connection: close
Content-Type: text/html; charset=iso-8859-1

Which is a valid 302 moved, and the url resolves fine, however, the
ut2004 client never makes the request to the server indicated in the 302
moved, and the above traffic is the only port 80 traffic in the capture.
(If you set AllowDownloads=True, it still wont follow the 302 moved)

I discovered this while working on my server to try and get it to use a
local redirect if it cant find a remote redirect with a valid file
through some 302 moved magic, and I've tried having the server issue
"HTTP/1.1 302 Moved Temporarily", "HTTP/1.1 302 Found", and "HTTP/1.1
301 Moved Permanently" all of which should work, but the client only
pulls the first page and then goes back to the server.

If you point RedirectToURL directly at the redirect that has the file it
works flawlessly.

Do I just have something amiss in my configuration here or is something
in UT broken? Is there some way I can format the 302 header differently
to get UT to pick it up? Is this something specific to the Linux server?
(I've tried it on 32 and 64 bit arch...)

This really hurts for me, as I don't want to spend the bandwidth for
everyone who connects to pull everything from me when there's servers
with more bandwidth and the files for this kind of thing out there



More information about the ut2004 mailing list