==================================================================
Battlefield 1942(tm)
Server Admin FAQ
September 4, 2002
==================================================================


==================================================================
Server Admin FAQ v1.0
==================================================================

Make sure you're running a dedicated server and not playing on the server,
that will really impact performance on your 'net game (although LAN it 
works okay).

SERVERS
Set your BANDWIDTH LIMIT on the ded. server. This limit is your total 
allowed bandwidth for your server. So, if you're on a DSL connection, 
you'd limit your server to 256 kB/s.

CLIENTS
Set your connection type (under MULTIPLAYER>INTERNET) to reflect HOW 
you're connecting to the 'net, or one step lower. If you're on a modem, 
don't have this checked as a LAN...you won't enjoy the experience as much.

NOTE: Keep an eye on http://www.ea.com/eagames/official/battlefield1942/home.jsp
      for more information to be posted as we get it.


==================================================================

Thanks to g8 for the following FAQ.  We've taken the liberty of re-ordering 
it and adding some more information.  

==================================================================

1. How many users can I have on my server? How big of a connection do 
   I need?

These are our current estimates, err on the high side, and aim for 
best performance (sure you could get more on less but that's when you get 
laggy/crummy servers):

'How big' primarily depends on bandwidth. A *good* DSL connection (1.5/768) 
can handle about 8-10 players MAX. Slower DSL (such as residential 1.5/256) 
would only be able to support about 4 players at best (same for cable as that 
is usually 256 to 384 on the upload). If you have a 1 Mb SDSL connection (or 
1 Mb on your cable upload) you should be able to support a 12 player server 

As a rough rule of thumb, each player requires anywhere from 50 to 80 KBps. 
You need a *minimum* of a T1 to support a 16 player server, dual T1 (3 Mb) 
for a 32 player server, and just over 6 Mb for a 64 player server (although 
that can hit up to 7 or 8 Mb/sec depending on how many people are connecting 
and downloading maps). Basically you need some serious bandwidth for anything 
over a 16 player server and it should be dedicated hardware (i.e. it's only a 
server, no GUI or other apps running on it).

As far as the hardware, here is a rough estimate/guide of what kind of server 
to host on what kind of bandwidth:


CPU/NETWORK	128kbit	256kbit	512kbit	T1(1.4Mbit) > 2Mbit  10Mbit > T3(45Mbit)
PIII 500	  2	   4	      8	            12	           12
PIII 800	  2	   4	      8	            20	           20
PIII 1300	  2	   4	      8	            24	           32
PIV 2000	  2	   4	      8	            24	           64


General rule of thumb:
Cable Modem: 4 - 6 players.
DSL Line: 8 - 10 players
T1+ 16 - X players. (X is dependant on your connection)


THE SERVER WILL CONSUME 85 TO 100% OF YOUR CPU. This means YOU CANNOT RUN AN 
INTERNET SERVER ON AND PLAY FROM THE SAME MACHINE. SERVERS MUST BE DEDICATED FOR 
OPTIMAL AND PROPER PERFORMANCE.


2. How do I run a dedicated server without having to enter my info into the 
   DedicatedServer.exe every time?

You need to enter the server config parameters into its config file. The file is 
called ServerSettings.con, located in Settings folder for the application 
(usually C:\Program Files\EA GAMES\Battlefield 1942 Multiplayer Demo\Settings). 
The DedicatedServer.exe can be used when first setting up the server, then you 
can manually edit the ServerSettings.con after the first time it is run. See 
this post from Saracen (thanks!):
pub30.ezboard.com/fceandbfcommunityfrm3.showMessage?topicID=1235.topic for a full 
descrption of the server config file options.

DO NOT USE DedicatedServer.exe MORE THAN ONCE if you do not want to enter your info 
every time you start the server. You must start the server from a shortcut which 
starts the game as a server, or start the server as a service (more below), or write 
a batch file to start the server (FAQ-todo). The simplest method is to modify the 
shortcut file on your desktop to include the following switches:

+restart 1 +hostServer 1 +dedicated 1

So the Target for the shortcut would look like:

"C:\Program Files\EA GAMES\Battlefield 1942 Multiplayer Demo\BF1942Demo.exe" +restart 
1 +hostServer 1 +dedicated 1

Rename that shortcut to something apropriate like 'BF1942 MP Demo Server' and double 
click it. The server should launch with the settings you entered into the 
ServerSettings.com file.


3. How do I setup my server behind a firewall?

If you do not care about (or want) the server being listed in Ga*spy, then you only 
need to open udp port 14567 into your network. If you are behind a firewall/router that 
is also doing NAT, you will need to port forward udp port 14567 from your firewall/router 
to your internal server. On some routers you may also make your server a 'DMZ' host which 
effectively puts the server on the outside of the firewall. However, please realize that 
exposes your server and all of its potentially open ports (and exploitable code) to the rest 
of the dirty public internet :)

If you do want your server to be listed in Gamespy you will need a number of additional ports 
opened up: 

allow udp port 14567
allow udp 22000 (THIS IS ONLY FOR LAN GAMES.  If you don't want that accessible from the net, 
don't open it)
allow udp range 23000 23009
# Gamespy Master Server UDP Heartbeat
allow udp port 27900
# Gamespy Master Server List Request
allow tcp port 28900

In addition you may or may not :) need to open the ports listed in the "Working Around the 
Firewall / Proxy" section of this Gamespy page: http://www.gamespyarcade.com/support/firewalls.shtml 
(thanks to mibsc123 for the link)


4. How do I set the admin password and use remote commands?

You must first set the server admin password at the server console. Get in front of the server/black 
window and hit the ` key to bring up the console (also called the ~ key). This will take the 
console out of status display mode (where it shows you FPS) and into entry mode where you can 
enter console commands. When you get the > prompt, type:

admin.enableremoteadmin <password> 

where <password> is any password of your choice that is all numbers OR letters, BUT NOT BOTH 
AND NO SPACES! 

After you have set the password on the server console, you can use the same command from your 
client when you connect to the server. So, fire up your game and connect to your server. Now 
open the console ingame with the ` key and issue the following command:

admin.enableremoteadmin <password>

where <password> is the password you set before at the server console.

You should now be authed as an admin and able to issue remote commands. To issue a remote 
command, use the following command:

admin.execremotecommand "command"

where command is any command you would normally run from the server console. For example, 
to kick a user number 15 you would issue this:

admin.execremotecommand "admin.kickplayer 15" or to ban player 15:
admin.execremotecommand "admin.banplayer 15"


5. How do I kick/ban people from my server?

Read #2 again if you are not sitting in front of the server/console. If you are sitting in 
front of your server/console (i.e. NOT remote), then you just issue the admin command right 
into the console (i.e. game.listplayers and admin.kickplayer <number>)



All comments, changes, suggestions, and additions are welcome! Please contact me at the 
address below or on the CE and BF Community forums - cebf.ws

-------------------------------
COPYRIGHT 2002 g8@the.whole.net
"Restecp" to the CE and BF Community - http://cebf.ws Permission is granted to reproduce/repost 
this FAQ as long as the entire contents and copyright are retained. Please give credit where it's due :)


--------------

To modify your server settings, see the following:

Server Settings
---------------
When hosting a server, the server settings are read from Settings/ServerSettings.con

they are as follows:

game.serverName "Bf Server"
> server name
game.serverDedicated 0
> 0 - non dedicated, 1 - dedicated
game.serverGamePlayMode GPM_CQ
> gameMode: GPM_CQ - Conquest, GPM_CTF - Capture the Flag, GPM_TDM - Team Death Match, GPM_COOP - Coop
game.serverGameTime 0
> round time limit in minutes. 0 = unlimited
game.serverMaxPlayers 32 
game.serverScoreLimit 24
> score limit in TDM and CTF. 0 = unlimited
game.serverInternet 0
> 1 - internet server, 0 - local server
game.serverNumberOfRounds 3
> number of rounds before map change
game.serverSpawnTime 20
> spawn time in seconds, i.e. time between waves
game.serverSpawnDelay 10
> spawn delay in seconds, i.e. the time the wave is active
game.serverGameStartDelay 20
> delay before game starts
game.serverSoldierFriendlyFire 100
> friendly fire in percent versus soldiers
game.serverVehicleFriendlyFire 100
> friendly fire in percent versus vehicles
game.serverTicketRatio 100
> ticket ratio in percent. 100 % = default ticket settings. 200 % = twice the number of tickets
game.serverAlliedTeamRatio 1 
game.serverAxisTeamRatio 1
> team ratio Allied versus Axis. 1-2, means twice the number of axis players
game.serverCoopAiSkill 75
> If Coop, this is the skill of the ai. (in percent)
game.serverCoopCpu 20
> If Coop, the amount of cpu time given to the ai. 15-25
game.serverPassword ""
> password (DO NOT USE ANY SPACES)
game.ServerBandwidthChokeLimit 0
> Limit: bytes / second. 0 = unlimited
game.ServerAllowNoseCam 1
> Nose cam on/off (1/0) when flying planes
game.ServerFreeCamera 0
> Free camera on/off (1/0)
game.ServerExternalViews 1
> external views on vehicles on/off (1/0)
game.ServerAutoBalanceTeams 0
> external views on vehicles on/off (1/0)
game.ServerNameTagDistance 50
> name tag distance
game.ServerNameTagDistanceScope 300
> name tag distance when using scope
game.ServerKickBack 0
> kickback. damage received when hurting teammates. (in percent)
game.ServerKickBackOnSplash 0
> kickback. splash damage received when hurting teammates. (in percent)
game.setServerSoldierFriendlyFireOnSplash 100
> friendly fire from splash damage in percent vs soldiers
game.setServerVehicleFriendlyFireOnSplash 100
> friendly fire from splash damage in percent vs vehicles
game.setServerIP
> Ip of server
game.setServerIP
game.setServerPort 14567
>port of server 
