lmserver(6) Games lmserver(6)NAMElmserver - The server for Leges Motus, a team-based, networked, 2D
shooter set in zero-gravity
SYNTAXlmserver [-c conffile] [-d] [-l] [-m mapname] [-P password] [-p portno]
Only the most useful options are listed here; see below for the remain‐
der.
DESCRIPTION
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 oppo‐
nent'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 assign‐
ment, timing the gates, and notifying the clients of the map and rules
in play.
OPTIONS
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 <pass‐
word>. 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.
COMMANDS
These commands are entered in the client's chat bar (see legesmo‐
tus(6)). Some commands (marked as [op]) require operator status.
/server auth <password>
Become operator, if <password> matches the server operator pass‐
word.
/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.
CONFIGURATION
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 configura‐
tion file is loaded, and the defaults are used. Note that some config‐
uration options can also be specified using command line options. Val‐
ues specified on the command line always override values specified in
the configuration file.
The following options are supported. Configuration directives contain‐
ing an unrecognized option name are ignored. Unless otherwise speci‐
fied, all option values that specify times are in milliseconds.
password <password>
Enable operator mode and set the operator password to <pass‐
word>. (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)
GAME PARAMETERS
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 speci‐
fied, 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 play‐
ers 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 dis‐
tances.) (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 tak‐
ing 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 "clas‐
sic". (default: standard)
NOTES
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 unde‐
sirable 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 CONFIGURA‐
TION 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.
FILES
$LM_DATA_DIR/maps
$LM_DATA_DIR/weapons
ENVIRONMENT VARIABLES
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.
EXAMPLES
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
AUTHORS
Andrew Ayer <agwadude@users.sourceforge.net>
Nathan Partlan <greywhind@users.sourceforge.net>
Jeffrey Pfau <archaemic@users.sourceforge.net>
COPYRIGHT
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) ver‐
sion 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 MER‐
CHANTABILITY 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 COPY‐
ING 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
SEE ALSOlegesmotus(6), lmscan(6)AGWA, Greywhind, Archaemic 0.4 lmserver(6)