Monday, November 19, 2012

Halo CE Dedicated Server Setup



Table of Contents
A. Installation
B. System Requirements
C. Running the Dedicated Server
D. Creating a Batch file
E. Setting up a basic init.txt file
F. Custom Gameyptes
G. Message of the Day
H. Setting up rcon (commands list and rcon guide included)
I. Setting up a server log
J. Setting up an autoban system
K. Port forwarding
L. Command Line Arguments
M. Running Multiple Servers
N. Relocating Custom gametypes/log file folders
O. Dealing with lag issues

A. Installation
Installing the dedicated server is quite simple. It is included with the installation of Halo CE. Just find your Halo CE root folder. Default is C:\Program Files\Microsoft Games\Halo Custom Edition\
***Make sure you download this Update 




B. System Requirements
To run an optimal Halo PC dedicated server, a personal computer with the following requirements is recommended: 
• Personal computer with a 1.4 GHz or higher processor 
• Windows XP or Windows 2003 Server (with all service packs installed) 
• 256 MB of RAM or more Keyboard and Microsoft Mouse or compatible pointing device
• When running multiple instances on a server, these requirements have to be adjusted to account for the additional resources required.

C. Running the Dedicated Server
There are two ways to run the dedicated server:
1. Browse to where your Dedicated Server installation folder is and double Click on the haloceded.exe
2. Create a batch file and then double click on the batch file.

D. Creating a Batch File

To create a startup batch file: 
1. Open Notepad (or a similar pure text editor) 
2. On the first line enter: start {drive}:\{path}\haloceded.exe -exec {drive}:\{path}\init.txt
3. Click "File" > "Save As" and then navigate to where you want to save the file and name it "HaloCEStart.bat" - Change Save as Type to "All Files" and Encoding to "Ansi" then click "Save"

E. Setting up a Basic init.txt File
Open up notepad then type this in:
sv_name [Type the name of the server here in quotation marks. Default is Halo]
sv_public [Type true or false. True=can see in game lobby. False=can’t.]
sv_maxplayers [1-16. See L for how much players your server can handle.]
sv_password [set the password for the server. For no password leave it blank.]
sv_mapcycle_timeout [# of seconds to restart the next game for the server]

sv_mapcycle_add [map name] [game variant in quotation marks]
sv_mapcycle_begin [Starts the map cycling with the specified game entries.]

You can add as many (sv_mapcycle_add)’s as you want. 
Save it in the same folder as the haloceded.exe is in and name it init.txt

Default map names are:
1. beavercreek (Battle Creek)
2. bloodgulch
3. boardingaction
4. carousel (Derelict)
5. chillout
6. damnation
7. dangercanyon
8. deathisland
9. gephyrophobia
10. hangemhigh
11. icefields
12. longest
13. infinity
14. prisoner
15. putput (Chiron TL34)
16. ratrace
17. sidewinder
18. timberland
19. wizard 

Default Gametypes are: 

1. oddball
2. slayer
3. juggernaut
4. king
5. crazy_king
6. race
7. ctf
8. assault
9. team_slayer
10. team_oddball
11. team_race
12. classic_slayer
13. classic_slayer_pro
14. classic_elimination
15. classic_phantoms
16. classic_endurance
17. classic_rockets
18. classic_snipers
19. classic_oddball
20. classic_reverse_tag
21. classic_accumulation
22. classic_juggernaut
23. classic_stalker
24. classic_king
25. classic_king_pro
26. classic_crazy_king
27. classic_race
28. classic_rally
29. classic_ctf
30. classic_invasion
31. classic_iron_ctf
32. classic_ctf_pro
33. classic_team_race
34. classit_team_rally
35. classic_team_ball
36. classic_team_king
37. classic_team_slayer 

F. Custom Gametypes
To create custom gametypes:
• Open up Halo Custom Edition then click on Multiplayer, Edit Gametypes, Create New Gametypes. When done save the gametype.
To add the custom gametype to your dedicated server:
1. Go to (by Default): My Documents\My Games\Halo CE\savegames
2. Look for a folder with the name of your newly created gametype then add it to the init.txt file where the gametypes go.

G. Message of the Day
Adding a Message of the Day:
1. Add sv_motd "[Name of file].txt" to your init.txt file before the maps area
2. Open Notepad (or a similar pure text editor) 
3. On the first 4 lines line enter your message. (note keep each line to less than 30 characters) 
4. Click "File" > "Save As" and then navigate to the folder where you installed Halo CE then save the file and name it "MOTD.txt" - Leave Save as Type to "Text Documents (*.txt)" and Encoding to "Ansi" then click "Save" 

H. Setting up Remote Control (RCON)

How to add rcon
1. Add sv_rcon_password [one word password. Example madhound or color]
How to use rcon:

First enable console:
1. Right click on your Halo CE icon and click on properties.
2. Under the tagset where it says "C:\Program Files\Microsoft Games\Halo Custom Edition\haloce.exe" add –console
3. It should look like this: "C:\Program Files\Microsoft Games\Halo Custom Edition\haloce.exe" –console

Next using it in game:
1. Press the tilda button or ~ on the keyboard to the left of the 1 button under the Esc button.
2. Next type: rcon [what ever the password is] [command]

List of Commands (for rcon use):
• sv_ban [player name or index]
• sv_banlist
• sv_end_game
• sv_kick [player index or name]
• sv_map_next
• sv_map_restart
• sv_players [shows the list of players]
• sv_unban
• sv_say “enter text”

I. Setting up a Server Log

To enable the Server log function add the following commands to the init.txt before the sv_mapcycle_add commands: 
1. sv_log_file "[logfilename]" all one word. Can be found in C:\My Documents\My Games\Halo CE\savegames 
2. sv_log_enabled [1 or 0] 1=Enabled 0=disabled 
3. sv_log_echo_chat [1 or 0] 1=Enabled 0=disabled. Tells it to record all chat in the log. 
4. sv_log_rotation_threshold [numeric in kilobytes.] Tells it when to create a new log file so it doesn’t get to big. Ex: sv_log_rotation_threshold 1000

J. Autoban System
How to set up an Autoban system:
1. sv_tk_ban [number of tk’s it takes to be banned from server.] 
2. sv_tk_grace [time in seconds] a player can only be credited for one team kill every # of seconds, to prevent accidental grenade kills.
3. sv_tk_cooldown [time in minutes] cool down period is when a player will be forgiven one TKP if they have not committed another team kill.
4. sv_tk_penalty [ #m #h #d 0] m=minutes h=hours d=days 0=infinite. Up to four bans can be made then the fifth one is permanent. 
Example: sv_tk_penalty 60m 1d 7d 30d. That means that the person is first banned for 1 hour, if it happens again it is 1 day, then 1 week, then 1 month. If it happens again he is banned permanently.

How to unban:
Type the thing below in the dedicated server box or using rcon in the server. 
sv_unban [player name or corresponding number]
The banlist is located (by default) My Documents\My Games\Halo CE

K. Port Forwarding
To make your Server visible in the Game lobby you need to forward these ports through your firewalls and your router (if you have one)
Visit www.portforward.com for step by step instructions.

The default ports for Halo CE are:
• 80 (Transmission Control Protocol (TCP)) – Auto-update looks for and downloads updates through this port. 
• 2302 (User Datagram Protocol (UDP)) - Game host listens on this port. 
• 2303 (UDP) - Game client connects to host through this port.

L. Command Line Arguments
haloceded.exe -argument [option]
Example: (from halomaps.org) 
haloceded.exe -exec c:\haloCE\init.txt -path C:\haloCE\variants -IP 208.133.222.17 -port 2322
• -? 
Displays a list of all arguments.
• -exec 
Specify which init.txt file to use for this instance of the dedicated server. The name of this file can be any name. 
• -cpu 
When using a multi-processor computer (SMP) server, it is possible to instruct Halo Dedicated Server to run on a specific CPU. To do so, use the –cpu n command line argument (where n is a given CPU, 0 being the first one). 
• -path 
Sets the default path to the Gametypes and the log file location. The default is C:\My Documents\My Games\Halo CE\savegames. 
• -port 
Different instances must, obviously, use different ports. -port is used to specify the port for the instance being launched. If a port is not specified the server will automatically choose an open port though the chosen port is not reported. 
• -ip x.x.x.x 
Server IP address used when you have multiple IP addresses and wish to bind the server to a specific IP address. If this command is omitted in servers running multiple IP addressess the the Halo Server will answer on all IPs. 

M. Running Multiple Servers

The Halo CE Dedicated Server supports multiple instances running on one computer. The maximum number of instances that can be run on a server is 8. When running multiple instances, each instance should use its own init.txt file and unless you desire it should have its own path for gametypes and log files. (See N to learn how t relocate log files and custom gametype files.)

Here is an example on how to run multiple instances, assuming the Halo CE Dedicated Server is installed in the C:\HaloCE folder: 

instance 1: 
C:\HaloCE\haloceded.exe -exec C:\halopc\init1.txt -cpu 0 -path C:\haloCE\variants1 -port 2307 

instance 2: 
C:\HaloCE\haloceded.exe -exec C:\halopc\init2.txt -cpu 1 -path C:\haloCE\variants2 -port 2305 

instance 3: 
C:\HaloCE\haloceded.exe -exec C:\halopc\init6.txt -cpu 0 -path C:\haloCE\variants31 -port 2312 

instance 4: 
C:\HaloCE\haloceded.exe -exec C:\halopc\init9.txt -cpu 1 -path C:\haloCE\variants7 -port 2313

N. Relocating Custom gametypes/log file folders
Adding this argument to the startup of the Halo CE Dedicated server: 
-path C:\haloCE\variants1 

It will tell the server to look in the C:\haloCE\variants1 for the \savegames folder that contains your custom gametypes. If enabled the log file will also be written to the same path. 

This is particularly useful for remote access to dedicated servers since the C:\My Documents\My Games\Halo CE\savegames will be determined by the account the server is running under. It is also required when you wish to run multiple instances of the dedicated server each with their own custom gametypes.

O. Dealing with Lag Issues
Why you may have lag when hosting Halo CE:
When hosting a game you need a good amount of bandwidth. The average amount of upload that comes with an internet connection is between 128 and 384 kbps. There is a difference between upload and download. Download is information your pc receives from the internet and upload is information your pc sends out. Test your upload speed at www.speedtest.net 

The amount of upload required (requirements for non-dedicated hosts):
• 128kbps or more can host - 4 people (3 recommended)
• 384kbps or more can host - 8 people
• 512kbps or more can host - 10 people
• Greater than 768 - 16 people

Other reasons could that your computer could be out of date. 
1. Processor is slow or needs more RAM
2. Less than a 128mb video card
3. Spyware problems
4. Virus Protection problems

Recommended System Requirements when hosting:
• 1.6ghz Processor
• 512mb of ram
• Windows XP or 2000
• Broadband Connection with good bandwidth

Programs that help out lag situations:
http://hce.halomaps.org/index.cfm?pg=3&fid=479
http://forums.halomods.com/viewtopic.php?t=11930 (you need to register to see the attachment on the first post.
http://hce.halomaps.org/index.cfm?pg=3&fid=3077 Install it then go to your halo ce root folder and click on the E3pO dedicated server.

The order to use all the programs:
1. Use the HCELagTweak to patch up the haloceded.exe
2. Then put your init.txt file in the root folder with the patched up haloceded.exe
3. Rune the E3DedicatedServer.exe from the E3pO download. (you can delete the other stuff.)
4. Run the EPG's HaloCE Dedicated DeLagonator v2 last for a maximum lag free environment. 

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More