lmserver - The server for Leges Motus, a team-based, networked, 2D
    shooter set in zero-gravity
lmserver [-c conffile] [-d] [-l] [-m mapname] [-P
    password] [-p portno]
Only the most useful options are listed here; see below for the
    remainder.
Leges Motus is a networked, team-based, 2D shooter set in
    zero-gravity. Using only the force from jumping off of walls and the recoil
    from their guns, players must travel across the arena to lower their
    opponent's gate.
This is the server program for Leges Motus. It listens on a UDP
    port for packets from clients, and relays them to other connected clients.
    In addition, the server is responsible for scorekeeping, team assignment,
    timing the gates, and notifying the clients of the map and rules in
  play.
The following command line options are supported. Note that some
    options can also be specified in the server configuration file (see
    CONFIGURATION below). Option values specified on the command line
    always override option values specified in the configuration
  file.
  - -c
    <conffile>
- Load server configuration options (see CONFIGURATION below) from
      <conffile>.
- -o
    <option_name>=<option_value>
- Set the value of the server configuration option named
      <option_name> to <option_value>.
- -d
- Daemonize (i.e. run in background) the server program (does not work on
      Windows).
- -l
- (Local server) Do not register the server with the meta server.
- -m
    <mapname>
- Sets the server map to <mapname>. (config option: map)
      (default: alpha1)
- -P
    <password>
- Enables operator mode and sets the operator password to
      <password>. Warning: using this option will expose the
      operator password to other users of the system through commands like
      ps(1). You should use the password configuration option
      instead.
- -u
    <user>
- Drop privileges to <user> (e.g. nobody). By default,
      privileges are not dropped. Only the super user may use this option. Not
      supported on Windows.
- -g
    <group>
- Drop group privileges to <group> (e.g. nogroup). By default,
      if no -u or -g options are specified, privileges are not
      dropped. If only -u is specified, then group privileges are dropped
      to the user's primary group. Only the super user may use this option. Not
      supported on Windows.
- -i
    <interface>
- Listen only on the interface with address <interface>.
      (config option: interface) (by default, listen on all
    interfaces)
- -p
    <portno>
- Listen on port <portno>. (config option: portno)
      (default: 16877)
- -?, --help
- Output help information and exit.
- --version
- Output version information and exit.
These commands are entered in the client's chat bar (see
    legesmotus(6)). Some commands (marked as [op]) require operator
    status.
  - /server auth <password>
- Become operator, if <password> matches the server operator
      password.
- /server teamscore
- Display the score of each team.
- /server teamcount
- Display the number of players on each team.
- /server maps
- Display a list of maps available on the server.
- /server balance
- Balance the teams by reassigning players as necessary. (See also the
      autobalance game parameter below.) [op]
- /server shakeup
- Randomly reform the teams. [op]
- /server reset
- Reset the scores. [op]
- /server map <mapname>
- Load the map named <mapname> and immediately start a new
      game. [op]
- /server newgame
- Declare a draw and start a new game, with the same map. [op]
- /server kick <player>
- Kick the player named <player> from the game. [op]
- /server shutdown
- Immediately shutdown the server. [op]
- /server help
- Display a summary of commands supported by the server.
Various aspects of the server can be configured by a standard text
    file which has one configuration directive per line. Blank lines and lines
    starting with a # or ; are ignored. Each configuration
    directive has the following syntax:
option_name option_value
At least one space or tab character must separate the
    option_name from the option_value.
The path to the server configuration file is specified by passing
    the -c command line option. If no -c option is passed, then no
    configuration file is loaded, and the defaults are used. Note that some
    configuration options can also be specified using command line options.
    Values specified on the command line always override values specified
    in the configuration file.
The following options are supported. Configuration directives
    containing an unrecognized option name are ignored. Unless otherwise
    specified, all option values that specify times are in milliseconds.
  - password
    <password>
- Enable operator mode and set the operator password to
      <password>. (command line option: -P)
- map
    <mapname>
- Set the server map to <mapname>. (command line option:
      -m) (default: alpha1)
- interface
    <interface>
- Listen only on the interface with address <interface>.
      (command line option: -i) (by default, listen on all
    interfaces)
- portno
    <portno>
- Listen on port <portno>. (command line option: -p)
      (default: 16877)
- server_name
    <name>
- Set the human-readable server name to <name>. If set, appears
      in the server browser in lieu of the hostname.
- server_location
    <location>
- Set the human-readable geographic location of the server to
      <location>. Not presently used, but in the future will appear
      in the server browser.
- register_server
    [ yes | no ]
- Specifies whether to register the server with the global meta server. When
      enabled, the server will appear in the server browsers of Internet
      players. When disabled, the server will only appear in the server browsers
      of LAN users. (default: enabled)
Various aspects of gameplay can be adjusted by setting game
    parameters. Game parameters can be set either as server configuration
    options (see above), or in the header of map files. When specified in map
    files, the values act as defaults for that map, and game parameters in the
    server configuration take precedence.
The following game parameters are supported. Unless otherwise
    specified, all values that specify times are in milliseconds.
  - max_players
    <number>
- The maximum number of players allowed at any given time. After this number
      is reached, players will not be allowed to join. (default: 32)
- gate_open_time
    <time>
- The time required to open the gate when one player is engaging it.
      (default: 15000 ms)
- gate_close_time
    <time>
- The time that the gate takes to fully close from being fully open when no
      players are engaging it. (default: 5000 ms)
- freeze_time
    <time>
- The time for which players are frozen after losing all energy. (default:
      10000 ms)
- friendly_fire
    [ on | off ]
- When off, players are immune to shots from their teammates. (default:
    on)
- game_timeout
    <time>
- If specified, the maximum duration of a game before a stalemate is
      declared. (default: none)
- radar_mode [
    on | off | aural ]
- Determines how the radar (minimap) operates. When on, all players
      within range (see radar_scale below) are visible on radar. When
      off, no other players are visible on radar. When set to
      aural, only players who are in range and have fired recently (see
      radar_blip_duration below) are visible. (default: on)
- radar_scale
    <decimal>
- Distances on the radar are displayed at <decimal> times the
      size of their actual distances. (For example, a value of 0.1 means that
      distances on the radar are one-tenth of their actual distances.) (default:
      0.1)
- radar_blip_duration
    <time>
- The time for which players are visible on an aural radar after firing.
      (default: 1000 ms)
- game_start_delay
    <time>
- The time before a new game starts. The countdown starts either after the
      previous game ends or after the first player joins. (default: 5000
    ms)
- late_join_delay
    <time>
- The time which a player who joins mid-game must wait before spawning.
      (default: 5000 ms)
- team_change_period
    <time>
- The minimum time that a player must wait after switching teams before
      being allowed to switch again. (default: 30000 ms)
- autobalance
    [ yes | no ]
- Specifies whether to enforce balanced teams. When enabled, players are not
      permitted to switch teams if it would cause an imbalance, and when
      imbalances are caused by player departures, random players are switched
      until the teams are balanced. (default: disabled)
- jump_velocity
    <magnitude>
- The magnitude of the player's velocity when jumping from an obstacle.
      (default: 6.0)
- late_spawn_frozen
    [ yes | no ]
- If enabled, players who join mid-round are spawned immediately, but are
      frozen for "late_join_delay" milliseconds. If disabled,
      players spawn thawed after waiting this amount of time (this was the
      behavior prior to Leges Motus 0.3.0). (default: yes)
- recharge_rate
    <time>
- How often energy should be recharged. (default: 150 ms)
- recharge_delay
    <time>
- The amount of time that must elapse after receiving damage before energy
      starts recharging. (default: 0 ms)
- recharge_amount
    <amount>
- The amount of energy that should be recharged every
      "recharge_rate" milliseconds. (default: 1 unit)
- recharge_continuously
    [ yes | no ]
- If enabled, health is always recharged, even when actively taking damage.
      (default: no)
- weapon_switch_delay
    <time>
- The amount of time it takes to switch weapons. During this time the player
      may not fire his weapon. (default: 300 ms)
- weapon_set
    <name>
- The weapon set to use. If you would like to disable weapons (behavior
      prior to Leges Motus 0.3.0), use the weapon set "classic".
      (default: standard)
If no operator password is set, then any player connecting from
    the localhost (127.0.0.1) will be given operator status. If this is
    undesirable behavior, then be sure to set an operator password.
By default, the Leges Motus server will contact the meta server so
    other players on the Internet can connect to and play on the server. If you
    would NOT like your server to appear in server browsers of other Internet
    users, pass the -l ("local") option to lmserver, or set the server
    configuration option "register_server" to "no"
    (See CONFIGURATION above).
If a server is run behind a firewall, and it is registered with
    the meta server, the meta server will attempt to traverse the firewall so
    that clients outside the firewall are able to connect to the server.
    However, this technique does not work with all firewalls, and is not 100%
    reliable. If you intend to host a long-running server behind a firewall, you
    are strongly recommended to modify your firewall settings to allow/forward
    UDP port 16877.
$LM_DATA_DIR/maps
$LM_DATA_DIR/weapons
  
  - LM_DATA_DIR
- Specifies the location of the directory containing Leges Motus data
    files.
- LM_METASERVER
- Specifies the address to use for registering with the meta server. This is
      useful only for testing alternative meta servers, and should not be used
      generally.
To run the server in the background:
lmserver -d
To run Leges Motus every time you start your computer, you could
    put this in a system startup script (e.g. /etc/rc.local):
lmserver -d -u nobody
If you don't want to register your server with the meta
  server:
legesmotus -l
Run the server with the gamma3 map:
legesmotus -m gamma3
To set an operator password:
legesmotus -P foobar
To authenticate with your operator password:
/server auth foobar
To kick an unruly player:
/server kick Steve
Andrew Ayer <agwadude@users.sourceforge.net>
  
  Nathan Partlan <greywhind@users.sourceforge.net>
  
  Jeffrey Pfau <archaemic@users.sourceforge.net>
Copyright 2009-2010 Andrew Ayer, Nathan Partlan, Jeffrey Pfau
Leges Motus is free and open source software. You may redistribute
    it and/or modify it under the terms of version 2, or (at your option)
    version 3, of the GNU General Public License (GPL), as published by the Free
    Software Foundation.
Leges Motus is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE. See the full text of the GNU General
    Public License for further detail.
For a full copy of the GNU General Public License, please see the
    COPYING file in the root of the source code tree. You may also retrieve a
    copy from <http://www.gnu.org/licenses/gpl-2.0.txt>, or request
    a copy by writing to the Free Software Foundation, Inc., 59 Temple Place,
    Suite 330, Boston, MA 02111-1307 USA