Joss' Gold

Joss' Notes On Setting Up Your First Server

I'll put some notes here on setting up an Unreal Server, since the default server settings are really not very good especially for Unreal Gold. I'm going to assume that you know basic use of your computer, more than just turning it on and playing Unreal. You should know what a directory structure is, how to run Windows Explorer (or My Computer), and how to run NotePad. If you don't know these things, you shouldn't be messing around with stuff :-) Go learn these things now. You will need to get familiar with unreal.ini file, found in the unreal\system directory (usually it is c:\unreal\system or c:\unrealgold\system), and maybe the user.ini file in the same directory. Experiment is best way to learn, but know you can make the game not run. Make a backup copy first! Then if you have problem, revert to the backup copy. Change only little bits at a time.

Many times you can get your server started but it is not visible on the internet. The two main reasons for this are 1) server is not advertising itself properly (see Basic server starting, just below), and 2) you have a firewall that is blocking incoming traffic.

Many good reading on www.UnrealSP.org (click on Coop Server Guide under the Community heading).

Basic server starting: (Coop Game) Start the game. Hit 'Esc' to get the game menus. First, make sure you have the right network settings. Do this by going to the Options menu and selecting Preferences. In the Preferences dialog box, choose the Network Connection tab. In the drop down list, choose your internet connection type. Mostly this will be modem or cable/dsl. Now from the main menus choose Multiplayer, then select Start New Multiplayer Game. Here you will find several tabs for game options to set. The first tab is Match, where you choose your game type and starting map. Nyleve is a good start for Coop game, since it is the first map with any real game play. The second tab is Bots, which you won't use in Coop game. The third tab is Server. Here you can set a name for your server (the default of 'Another Unreal Server' will surely mark you as a newbie). To be seen on the Internet, you must check the box for Advertise Server, and you must clear the box for Optimize for Lan. For coop game, ngWorldStatsLogging is meaningless. Now you are ready to actually start the game server. You can click on either Dedicated or Start button. The Start button starts a server with you in the game. This is known as a listen server (your game is listening for other players) and gives you the zero ping*. This is best to use if you will only run your server while you are playing the game, or if your machine is a little limited (memory, cpu). The Dedicated button starts a dedicated server, that is, a copy of the program is running that only serves the network. This is best if you will be running the server on a separate machine, or if the machine you run it on is very fast with plenty of memory.

You can also start the game from a command prompt; this is the only way I know just now to be admin in a listen server. You must first start the command window. in this window, CD to your unreal\system directory. Here you can start a listen server similar to this:
    C:\> unreal nyleve?game=unreali.coopgame?name=yourname?password=youradminpass?listen -log
To change the difficulty setting (0-3 for the four game settings) of your game, try this:
   C:\> unreal nyleve?game=unreali.coopgame?difficulty=3?name=yourname?password=youradminpass?listen -log
(You can also put this in a .bat file) When you start a listen server this way, you are automatically the admin. However, it seems that a listen server is much easier to exploit than a dedicated server. Many listen server exploits have been addressed in JCoop3 To start a dedicated server, use -server instead of ?listen. You can specify many other options on the command line, for example ?class=unreali.malethree, ?skin=Nikita, LOG=yourlogfile, INI=yourinifile, ... See http://unreal.epicgames.com/Console.htm for info on command line parameters.

*What is ping? Ping is a measure of the time it takes a data packet to travel from your machine to the server and back again, and greatly influences perceived lag in the game. Pings below 300 are usually quite playable, 300-500 is noticeably laggy, and above 500 gets nearly unplayable.

To improve pings on your server, start with your unreal.ini file. In [Engine.GameEngine] section, set CacheSizeMegs=64 (or about 2/3 to 3/4 of your total system RAM (dedicated or listen), or 1/4 to 1/3 total RAM if you run dedicated and client on same machine). (If you use the unrealed.exe editor, change the CacheSizeMegs in the editor engine section, too.) If it is dedicated server only, set UseSound=False.

You could also remove the line "ServerActors=...telefragged.com... / MasterServerPort=27500", since telefragged.com seems to be defunct.

Additionally, there is another Master Server (qtracker) that you could include on a new line:
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900

Get QTracker at http://www.qtracker.com/ You don't have to get QTracker in order to update qtracker master server.

In the [IpDrv.TcpNetDriver] section, change these settings: MaxClientRate=10000 (depends on your connection: 2600 for 56K, 10000 works well for DSL or cable modem, I keep mine set to 7500); NetServerMaxTickRate=12 (or 15, rather then the default 20 which is much too high). There is much more you can read about tuning your server. Take a look at some of the admin readings on the links area.

How to login as Admin: in order to be admin in your dedicated server, you must first set an admin password. (For a listen server, see Basic Server Starting  above.) Since you cannot set password from the game starting menus (in Gold) you will have to do this in unreal.ini. In your unreal.ini file, search for "adminpassword=" and add your desired admin password after the equal sign. Save the file and start the dedicated game server. Now you need to start the game client (the game you play) and join the server as admin. An easy way to do this is to hit tab, and type: "open 127.0.0.1?password=youradminpassword" (this assumes the dedicated server is on the same machine. if it is not, you will need the IP address of you game server). This also works for games on the internet that you might have the admin pass for; you just need the IP address which you can get from the server browser of the game. This is also a way to join passworded games with the game password.

Disable UPak. UPak was delivered with Unreal Gold, and is the part that gives you the Return To Na Pali monsters, weapons, and UPak skins. One feature (I would say bug, but it is intentional code) of Unreal Gold UPak skins is that anyone dressed in a UPak skin on a Gold server may summon, and maybe perform some other commands usually reserved for Admins. In general this is a problem for admins, since players will go around summoning any and everything, making the game difficult for others and usually making the engine unstable and likely to hang or crash. So, if you want to disable this feature/bug, you have to disable UPak. Here's how: First, make sure Unreal is not running. Find your unreal.ini file and double click on it. You should get this file opened in NotePad (or some other editor). Find a line in this file that says "ServerPackages=UPak" and delete the whole line (as alternative, you could put // at front of line to disable it) then save the file. The next time you run Unreal game server, UPak will not be available for players, they can't use the skins, and you also can not summon UPak items (well, you *can*, but you won't see them in the dedicated game). But you can still play the Return To Na Pali single player game no problem. As a bonus, Unreal patch224f and Unreal patch225f will now be able to join your server. Only incompatibility then is Unreal patch226f. Also, you (and players) will still be able to use the UPak.UPakConsole.

Once you have disabled UPak, you will have to make sure that your server never tries to assign a UPak playerclass. This can happen still, since the defaultplayerclass may still be set to UPak. In User.ini in the [DefaultPlayer] section, make sure Class= is not from UPak (suggestion: Class=unrealshare.FemaleOne). Also, find the same variable in Unreal.ini [URL] section. Once these two are set to non-UPak playerclasses, any player joining with UPak class will get instead the defaultplayerclass.

Firewall You really have no way to ban players in the Unreal game. A firewall is a tool that can do many things, and for Unreal server allows you to ban specific players (by their IP address). The firewall I use is from www.sygate.com but another very good firewall can be found at www.iss.net. Here is a site regarding firewall selections: http://www.firewallguide.com/

If you have Windows XP it came with a built in firewall, as well, many/most cable modems have some type of built in firewall. While I can't help you with your cable modem's firewall (find the makers web site, or some documentation you got with it), I can tell you a little about the XP built-in firewall. While the built in firewall is not as sophisticated as some others that you can get, with a little configuration it can be used. See here for how I set it up to work with Unreal Server.

Respawning Weapons: If you want your coop game to respawn weapons you will have to do that in the unreal.ini file. In unreal.ini, find the [UnrealShare.CoopGame] section, and change "bCoopWeaponMode" from True to False. If you don't do this, then players can only pick up any weapon once and then must find the ammos for it in the game. Respawning weapons allows the player to collect the weapon many times and get ammo filled.

Connection tuning. If you want to run a server you probably have cable modem or DSL service. You can also run a marginal server with a dial-up modem (56K). No matter what your connection or gametype you play, you will probably want to limit the number of players on your server.

Things You Can Summon

Here is a brief list of things you can summon in your game:

ScriptedPawns

Inventory Other
  • Brute
  • Behemoth
  • LesserBrute
  • Cow
  • BabyCow
  • Devilfish
  • Fly
  • Gasbag
  • GiantGasbag
  • Krall
  • KrallElite
  • LeglessKrall
  • Manta
  • CaveManta
  • GiantManta
  • Mercenary
  • MercenaryElite
  • Nali
  • NaliPriest
  • Pupae
  • Queen
  • SkaarjTrooper
  • SkaarjGunner
  • SkaarjInfantry
  • SkaarjOfficer
  • SkaarjSniper
  • SkaarjWarrior
  • IceSkaarj
  • SkaarjAssassin
  • SkaarjBerserker
  • SkaarjLord
  • SkaarjScout
  • Slith
  • Squid
  • Tentacle
  • Titan
  • StoneTitan
  • Warlord
Ammo (pickup):
  • ASMDAmmo
  • DefaultAmmo
  • FlakBox
  • FlakShellAmmo
  • RazorAmmo
  • RifleAmmo
  • RifleRound
  • RocketCan
  • ShellBox
  • Clip
  • Shells
  • Sludge
  • StingerAmmo

Pickups:

  • Amplifier
  • Armor
  • Dampener
  • Flare
  • Flashlight
  • Searchlight
  • ForceField
  • Health
  • Bandages
  • NaliFruit
  • SuperHealth
  • Invisibility
  • JumpBoots
  • SCUBAGear
  • Seeds
  • ShieldBelt
  • PowerShield
  • AsbestosSuit
  • KevlarSuit
  • ToxinSuit
  • Translator
  • VoiceBox
  • WeaponPowerUp

Weapons:

  • ASMD
  • AutoMag
  • DispersionPistol
  • Eightball
  • FlakCannon
  • GESBioRifle
  • Minigun
  • QuadShot
  • Razorjack
  • Rifle
  • Stinger
Bots
  • FemaleOneBot
  • FemaleTwoBot
  • MaleOneBot
  • MaleTwoBot
  • MaleThreeBot
  • SkaarjPlayerBot

Other

  • Bird1
  • Bloblet (summon several, then summon ParentBlob and watch the action)
  • ParentBlob
  • NaliRabbit
  • BiterFishSchool (shows at map origin?)
  • HorseFlySwarm
  • DeadBodySwarm
1