Sniper's Paradise!
Setting Up A DSL Server
What's DSL?
DSL (Digital Subscriber Line) comes in a couple different flavors. Most end users have what is called ADSL (Asymmetric Digital Subscriber Line), which can transmit up to 6 Mb/sec to your computer, and up to about 1.5 Mb/sec from your computer. SDSL (Symmetric Digital Subscriber Line) can supply about a 1.5 Mb/sec pipe to and from your computer. Both services are limited in range from your local phone company switching office, with a max of about 12,000 feet. Your service will deteriorate near the end of that limitation, and not all areas can get DSL service.
DSL is basically an invisible network connection to your provider. When you power on your computer, you're online. Period. No dialing up, no busy signals, incredible speed. All the bandwidth you purchase is yours, unlike cable, where you end up sharing with your neighbors on a token ring network. This has major advantages when running a Unreal server. Prices for DSL vary and are changing all the time, but generally you're going to pay about $50-$80 a month, plus any equipment and setup fees your provider requires. The speed difference you'll see, though, is staggering.
Setting Up
Setting up a DSL server is quite similar to a cable server, although you're going to have all that nice bandwidth dedicated for your users, and you are likely going to be able to support them better via DSL. Rather than repeat what is already available on the Cable Modem Servers page, I'll concentrate on the DSL-specific things.
How Many Users?
A common question, and I'll give you my answer. Let's say, for this example, you have a 768/384 KB/sec DSL line. What I suggest you do is divide your outgoing bandwidth by 28.8 KB/sec, then multiply that result by .9. Based on your bandwidth alone, you should
be able to comfortably run a dedicated (not listen) server for 12 people.
Going with a higher max players is only going to slow down performance for
all players.
There's another important issue here - CPU speed. From the old scientific method of trial and error, plus my experiences with my own and other people's servers, you should be able to stick with the max users using the formula above if you are running a Celeron (or P2) 300 mhz or better for most maps. Anything slower, and you run the risk of slowdowns based on your processor. I'd also set the Game Engine cache to 40 mb or 1/2 of your total RAM, whichever is higher. This will reduce swapping to the drive, which will completely destroy your server performance.
Pings Good, Performance Sucks br> Typical complaints, sometimes your issue, sometimes not. First, your provider. You're going to have to see, based on your own experiences online, if your provider is responsible for packet loss, multiple retries for packets, etc. There's just no subtitute for a good provider. In a DOS window, do a tracert xxx.xxx.xxx.xxx (use known IP or internet addresses) to see the routes your provider has to different geographical areas of the country - see how many timeouts you get (some of these will be normal, as many routers do not respond to this command, unfortunately). Be aware of actual computers on the internet in your tracert and any problems with times to respond.
Another nasty thing many DSL owners running Win95/98 come across is something called RWIN. This is a registry setting that you simply MUST set correctly for your DSL to operate properly (affects the download side, not the upload side). To set up your RWIN value to the correct one, follow these instructions exactly (use at your own risk - editing the registry is tricky business if you're not careful:
- Run REGEDIT from the Start menu (Start Menu | Run | regedit.exe)
- Find the section HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP
- After left clicking ONCE on this section, look at the right pane. You should see several keys there. If there is a key there called DefaultRcvWindow, update it to 65535 by double-clicking the value at the right-hand side. If there is no key, create one as a 'String Value', and put 65535 in it.
- Close REGEDIT, it will automatically save your changes.
- You will have to restart your computer for the changes to take effect.
Remember - the RWIN value is the ONLY one you will need to set. Win9x generally defaults this value to 8k, which is unsatisfactory for DSL (and Unreal server) performance. Don't be messing with other keys, or you're going to mess up your computer but good (and I'll have to biotch slap you).
Windows NT users need not worry about this value, as NT is generally pretty good about dynamically tuning TCP/IP performance, along the lines of Linux and other non-Win9x operating systems. For more information about that, check out this page.
Geography counts. If someone from Mongolia is trying to access your St. Louis-based DSL server, they're going to have a nasty time of it. Period. Pings and packet loss will likely make it impossible for them to play well on your server, and there's nothing you can do to improve that. Suggest to the user that they find a server located closer to them geographically.
I Want More DSL Information
While there are a lot of good DSL info pages on the web, I highly recommend going to DSL
Reports, the most comprehensive of the bunch. If it's not there, it probably doesn't exist.
UCC or Unreal?
While this is not strictly DSL-oriented, it's an option you have that people don't really talk about, including the official Unreal Techology page. My man Mutant Killer likes using UCC, for several reasons. I opt for using unreal.exe, and I have my reasons. First, you get the taskbar icon, which allows you to pull up the console, advanced options and quickly quit the server. Second, it's just as easy to start up the server using a desktop shortcut. Here one you can use for a team DM game:
c:/unreal/system/unreal.exe DM-Codex.unr?Game=UnrealShare.TeamGame?Mutator=?Listen -server log=server.log
If you have multiple ports you wish to use, just make copies of your unreal.ini file, edit them by changing the port=7777 to whatever you want, and save them with new names. Now you can add the ini=otherinifile.ini option just before the log=server.log portion of the above command line. Don't use the port=xxxx command right in the command line, as I've seen the server get cornfused, as it reads the .ini file again, overwriting your choice of port when it changes levels.
If you have any questions, or wish for me to add to/change/update this page with other information, just send me an
email at qapete@planetunreal.com and I'll be glad to help.
By: QAPete
All logos and trademarks are properties of their respective owners.
Unreal™ is a registered trademark of Epic Games Inc.
Privacy Policy
Website by
Powered by RUSH