Dedicated Server

From MechWarrior: Living Legends Wiki
Revision as of 19:20, 3 August 2017 by Unbroken (talk | contribs) (port, but this is old. needs images of better, GUI'd dedicated server stuff)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Template old.jpg Out of Date
This article contains out-of-date information.

You may help MWLL Wiki by logging in and updating it.


This article needs a rewrite to incorporate the new launcher, server variables and league modes


Overview

This page will describe in a few easy steps to start up a dedicated server for Mechwarrior Living Legends. Examples are used to illustrate what is necessary to get it running as many other servers out there.

Server Configuration

In order to run a dedicated server you need to set it up with a configuration file which tells the server what to do. There are two files required:

  • levelrotation.xml - used to specify the maps and per-map settings
  • server.cfg - used for the general server configuration

These two files need to be placed in either one of two locations: %ProgramFiles%\Crysis Wars\mod\mwll or %Program Files%\Crysis Wars\mod\mwll\server

Note: As of MWLL 0.4, the MWLL Launchers dedicated server section can also be used to generate the required files.

Levelrotation.xml

Here is an example for a levelrotation. You can add and remove maps as needed and also remove the randomizer if you want them to be played in order. This file does not need to be created since MWLL does come with a default levelrotation that looks almost the same. If you are not happy with it you can create a new one in the mwll directory and load that instead.

<levelRotation randomize="1">
 <level name="Multiplayer/TSA/TSA_Sandblasted" gameRules="TeamSolarisArena">
  <setting setting="g_timelimit 100"/>
  <setting setting="g_fraglimit 0"/>
  <setting setting="g_pp_scale_income 1.00"/>
  <setting setting="g_revivetime 5"/>
  <setting setting="g_roundtime 100"/>
  <setting setting="g_roundlimit 0"/>
  <setting setting="g_preroundtime 0"/>
  <setting setting="g_suddendeath_time 0"/>
 </level>
 <level name="Multiplayer/TSA/TSA_Marshes" gameRules="TeamSolarisArena">
  <setting setting="g_timelimit 100"/>
  <setting setting="g_fraglimit 0"/>
  <setting setting="g_pp_scale_income 1.00"/>
  <setting setting="g_revivetime 5"/>
  <setting setting="g_roundtime 100"/>
  <setting setting="g_roundlimit 0"/>
  <setting setting="g_preroundtime 0"/>
  <setting setting="g_suddendeath_time 0"/>
 </level>
 <level name="Multiplayer/TSA/TSA_Inferno" gameRules="TeamSolarisArena">
  <setting setting="g_timelimit 100"/>
  <setting setting="g_fraglimit 0"/>
  <setting setting="g_pp_scale_income 1.00"/>
  <setting setting="g_revivetime 5"/>
  <setting setting="g_roundtime 100"/>
  <setting setting="g_roundlimit 0"/>
  <setting setting="g_preroundtime 0"/>
  <setting setting="g_suddendeath_time 0"/>
 </level>
  <level name="Multiplayer/TSA/TSA_Clearcut" gameRules="TeamSolarisArena">
  <setting setting="g_timelimit 100"/>
  <setting setting="g_fraglimit 0"/>
  <setting setting="g_pp_scale_income 1.00"/>
  <setting setting="g_revivetime 5"/>
  <setting setting="g_roundtime 100"/>
  <setting setting="g_roundlimit 0"/>
  <setting setting="g_preroundtime 0"/>
  <setting setting="g_suddendeath_time 0"/>
 </level>
</levelRotation>

Server.cfg

The server.cfg is used to pre-configure your server when starting up. This example here should get you all set so use it as your own server.cfg which is placed in your mwll directory.

g_useProfile = 1
g_teamlock = 0

r_ShadersAsyncCompiling = 1
r_driver = "DX9"

sv_levelrotation = "levelrotation.xml"
sv_servername = "Servername"
sv_password = "0"

sv_voice_enable_groups 0
net_enable_voice_chat = 0

sv_cheatprotection = 0
net_pb_sv_enable false
sv_ranked = 0
sv_maxplayers = 32
sv_bandwidth = 900000
sv_packetRate  = 240

g_timelimit = 100
g_minteamlimit = 0
g_revivetime = 5
g_autoteambalance = 0
g_tk_punish = 0
g_tk_punish_limit = 100

ban_timeout = 600

log_verbosity = 1
log_fileverbosity = 1

g_nextlevel

Game modes

There are currently three game modes available which can be set via sv_gamerules or the gameRules attribute in the level rotation:

  • TerrainControl - works with all TC maps
  • TeamSolarisArena - works with all TSA maps
  • TestOfStrength - works with all TSA maps

Server Startup

Go to your Crysis Wars\bin32 (or Crysis Wars\bin64) directory and chose the CrysisDedicatedServer.exe with a right-click, then Send to --> Desktop to create a new shortcut to the server binary.

Now edit this shortcut by doing a right-click on it on the desktop icon and choosing Properties. In the Target box add a -mod MWLL +exec server.cfg to it.
This should be enough to get you going.

Running the Server

To start the server just double click on the created shortcut on your desktop. A dos window will come up which is the server console for your created dedicated server.

Known Issues

Name the levelrotation anything else than levelrotation.xml and trying to load it inside the server.cfg is bound to fail. Crysis has a bug that ignores this variable it will load the default levelrotation.xml that came with the mod.

Unlimited Funds Testing Setup

To setup a private testing server to spawn any type of mech follow these steps:

  • Create folder %ProgramFiles%\Crysis Wars\mod\mwll\server
  • Create server.cfg and levelrotation.xml as per above sections and place into the new \server folder (don't forget to customize your servername and password)
  • Create shortcut to one of the CrysisDedicatedServer.exe executable files (64-bit or 32-bit) as described in the section above
  • Run the shortcut
  • Enter the following commands at the console:
sv_gamerules TestofStrength
sv_starting_cbills 10000000
map TSA_Sandblasted
  • Move the \server folder OUT of the mwll directory (to your desktop or something) Leaving it there will produce a "cheat" warning for modified game files when running the client/game
  • Run your game as normal, you should find your game listed in the "Multiplayer" > "Local Area Network" listing
  • When finished, typing quit in the server console window will shutdown the dedicated server