goatattack-server(6)

GOATATTACK-SERVER(6) Multiplayer shooter GOATATTACK-SERVER(6)

NAME

goatattack-server - dedicated server for a multiplayer pixel art shooter game

SYNOPSIS

goatattack-server conffile

DESCRIPTION

Goat Attack dedicated server for a fast-paced multiplayer pixel art shooter game. The server uses UDP sockets for communication.

CONFIGURATION

Create a configuration file as described below and run the dedicated server with that configuration file as parameter. You should find a couple of configuration files in the source package of Goat Attack.

FIELD TYPES

alphanumeric
This field allows to hold a text.
numeric
This field can hold numeric values.
boolean
This field is a true or false field. You can use 0 for false/no and 1 for true/yes.

VALID FIELDS

server_name (required, alphanumeric)
server_name=schlachttempel DM #1
Sets the name of the dedicated server.
server_message (optional, alphanumeric)
server_message=hello player :)|welcome to schlachttempel DM #1.
If a player connects to your server, this greeting message will be shown. Use the pipe symbol to break lines.
server_password (optional, numeric)
server_password=12345
You can protect your server with a password. The ingame server list will mark your server as password protected.
num_players (required, numeric)
num_players=12
Define here, how many players can connect to your server.
port (required, numeric)
port=25111
Your dedicated server will listen on this port.
master_server (optional, alphanumeric)
master_server=master.goatattack.net
Fill out this field, if you want to register your dedicated server to the master server. The official master is master.goatattack.net.
hold_disconnected_player (optional, boolean)
hold_disconnected_player=1
If a player disconnects (in due to network lags) and reconnects again, the score is preserved. The server will hold the scores for about 60 seconds.
reconnect_kills (optional, numeric)
reconnect_kills=10
Here you can define a reconnect penalty, how many kills the reconnecting player will get.
shuffle_maps (optional, boolean)
shuffle_maps=1
Set to 1 (true), if you want to shuffle the map rotation list.
map_count (required, numeric)
map_count=2
Define, how many maps in your rotation list are.
nameX (required, alphanumeric)
name0=dm1
Define the name of the map (do not use the map description). Set X to the index of the current map, zero based.
warmupX (optional, numeric)
warmup0=30
If you want to begin with a warm up, define it in seconds. Set X to the index of the current map, zero based.
durationX (required, numeric)
duration0=10
Define the duration in minutes. Set X to the index of the current map, zero based.
logfile (optional, alphanumeric)
logfile=/var/log/serverstat.log
Define a log output file for creating statistics and reports.
clan_red_name (optional, alphanumeric)
clan_red_name=sharks
Define the name of the red team.
blue_red_name (optional, alphanumeric)
blue_red_name=jets
Define the name of the blue team.
admin_password (optional, alphanumeric)
admin_password=master
Define the password to authenticate to manage the dedicated server. You can enter the server mode using the chat window. To submit server command, use the slash before commands, eg. /op master.
friendly_fire_alarm (optional, boolean)
friendly_fire_alarm=1
Set to 1 (true), if you want to hear an alarm if a team mate is shot. Set to 0 to turn the alarm off.

SERVER COMMANDS

The server commands only work on a dedicated server. Servers created in a game play do not accept server commands.

COMMANDS

/op <password>
Become operator/administrator.
/deop
Exit operator mode.
/kick <player_name>
Kick immediately a player from the arena.
/next
Select the next map in the map rotation list.
/map <map_name> <warmup> <duration>
Load map, warmup are in seconds, duration in minutes.
/reload
Reloads the server configuration file.
/get <variable>
Shows the server configuration variable.
/set <variable> <value>
Sets the server configuration variable.
/reset <variable>
Clears the server configuration variable.
/save
Saves the server configuration file.
/stats
Show all client stats (address and port, ping time in ms, receive and send sequence number for unreliable data, receive and send sequence number for reliable data, number of data in input and output queue).
/list
Show list of all connected players (op is tagged with an asterisk).

LOG FILE

If configured, a dedicated server will generate log entries on each action. Eg. if a player connects, on fragging, or if a game play is finished.

ENTRY FORMAT

Each entry begins with date, time and logtype. All following fields depend on log type. Alphanumeric fields are quoted. The field delimiter is the space character (0x20). Example:
2016-09-02 22:26:31 000 "freanux connected" "freanux"

FIELDS

DATE
Represents the date of log entry. The format is YYYY-MM-DD.
TIME
Represents the time of log entry. The format is hh:mm:ss.
LOG
This numeric field represents the type of the log entry. The format is nnn.
MAP
This alphanumeric field represents the short name of a map.
MAP_DESC
This alphanumeric field represents the full description of a map.
PLAYER
This alphanumeric field represents the name of the player.
TEXT
This alphanumeric field represents a text.
FRAG_PLAYER
This alphanumeric field represents the player who has fragged another player.
KILL_PLAYER
This alphanumeric field represents the player who was kill by another player.
REASON
This alphanumeric field represents the reason, why a player was killed.
TIME_IN_S
This numeric field represents how many seconds a player has needed to complete a lap.
RANK
This numeric field represents the ranking.
SCORE
This numeric field represents the score.
FRAGS
This numeric field represents the number of frags.
KILLS
This numeric field represents the number of kills. The reconnection penalty will be added as well, if configured.
TEAM_RED
This alphanumeric field represents the name of the team red.
TEAM_BLUE
This alphanumeric field represents the name of the team blue.
LAPS
This numeric field represents the number of done laps in a speed race game type.
BEST
This numeric field represents the best time of all laps in a speed race game type. The format is n.n, eg. 18.30.
LAST
This numeric field represents the time number of last lap in a speed race game type. The format is n.n, eg. 18.30.
MIN:SEC
This special field represents the time in minutes and seconds of carrying the big coin in a CTC game play, eg. 5:12.
OLD_NAME and NEW_NAME
This alphanumeric field represents the name before and after changing the nick of a player.

LOGTYPES

000 LogTypePlayerConnect
DATE TIME LOG TEXT PLAYER
A player has connected to the game server.
001 LogTypePlayerDisconnect
DATE TIME LOG TEXT PLAYER
A player has disconnected the game server.
002 LogTypeNewMap
DATE TIME LOG MAP MAP_DESC TEXT
A new map was created and is ready for playing.
003 LogTypeChatMessage
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player has sent a chat message.
004 LogTypeWarmUp
DATE TIME LOG MAP MAP_DESC TEXT
The warm up begins.
005 LogTypeGameBegins
DATE TIME LOG MAP MAP_DESC TEXT
The game begins.
006 LogTypeGameOver
DATE TIME LOG MAP MAP_DESC TEXT
The game is over.
007 LogTypeFrag
DATE TIME LOG MAP MAP_DESC TEXT FRAG_PLAYER KILL_PLAYER REASON
A player has fragged another player.
008 LogTypeKill
DATE TIME LOG MAP MAP_DESC TEXT PLAYER REASON
A player was killed by falling off the stage or touching lava, or stings.
009 LogTypeRedTeamJoin
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player joins the red team. Belongs to TDM, CTF and GOH.
010 LogTypeBlueTeamJoin
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player joins the blue team. Belongs to TDM, CTF and GOH.
011 LogTypeRedFlagPicked
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The red flag was picked by a player of the opposite team. Belongs to CTF.
012 LogTypeRedFlagDropped
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The red flag was dropped by a player of the opposite team. Belongs to CTF.
013 LogTypeRedFlagSaved
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A Player has saved his red team flag. Belongs to CTF.
014 LogTypeRedFlagReturned
DATE TIME LOG MAP MAP_DESC TEXT
The red flag was returned to base without intervention of a player. Belongs to CTF.
015 LogTypeBlueFlagPicked
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The blue flag was picked by a player of the opposite team. Belongs to CTF.
016 LogTypeBlueFlagDropped
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The blue flag was dropped by a player of the opposite team. Belongs to CTF.
017 LogTypeBlueFlagSaved
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A Player has saved his blue team flag. Belongs to CTF.
018 LogTypeBlueFlagReturned
DATE TIME LOG MAP MAP_DESC TEXT
The blue flag was returned to base without intervention of a player. Belongs to CTF.
019 LogTypeCoinPicked
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player has picked the big coin. Belongs to CTC.
020 LogTypeCoinDropped
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The player, who carried the coin has dropped the big coin. Belongs to CTC.
021 LogTypeTeamRedScored
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The red team scored. Belongs to TDM, CTF and GOH.
022 LogTypeTeamBlueScored
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
The blue team scored. Belongs to TDM, CTF and GOH.
023 LogTypeRoundFinished
DATE TIME LOG MAP MAP_DESC TEXT PLAYER TIME_IN_S
A player has finished a speed race round. Belongs to SR.
024 LogTypeEndOfStats
DATE TIME LOG MAP MAP_DESC TEXT
If all statistics where logged, this type of log marks the end of statistics. Belongs to all game modes.
025 LogTypeStatsDM
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic entry is logged for all players. Belongs to DM.
026 LogTypeStatsTDMTeamScore
DATE TIME LOG MAP MAP_DESC TEXT TEAM_RED SCORE TEAM_BLUE SCORE
After a match, this team statistic is logged. Belongs to TDM.
027 LogTypeStatsTDMTeamRed
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team red. Belongs to TDM.
028 LogTypeStatsTDMTeamBlue
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team blue. Belongs to TDM.
029 LogTypeStatsCTFTeamScore
DATE TIME LOG MAP MAP_DESC TEXT TEAM_RED SCORE TEAM_BLUE SCORE
After a match, this team statistic is logged. Belongs to CTF.
030 LogTypeStatsCTFTeamRed
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team red. Belongs to CTF.
031 LogTypeStatsCTFTeamBlue
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team blue. Belongs to CTF.
032 LogTypeStatsSR
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER LAPS BEST LAST
After a match, this statistic entry is logged for all players. Belongs to SR.
033 LogTypeStatsCTC
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER MIN:SEC
After a match, this statistic entry is logged for all players. Belongs to CTC.
034 LogTypeStatsGOHTeamScore
DATE TIME LOG MAP MAP_DESC TEXT TEAM_RED SCORE TEAM_BLUE SCORE
After a match, this team statistic is logged. Belongs to GOH.
035 LogTypeStatsGOHTeamRed
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team red. Belongs to GOH.
036 LogTypeStatsGOHTeamBlue
DATE TIME LOG MAP MAP_DESC TEXT RANK PLAYER SCORE FRAGS KILLS
After a match, this statistic is logged for all players of team blue. Belongs to GOH.
037 LogTypeJoin
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player joins the game. Belongs to DM, CTC and SR.
038 LogTypePlayerNameChange
DATE TIME LOG TEXT OLD_NAME NEW_NAME
A player has changed his nick.
039 LogTypeMapClosed
DATE TIME LOG MAP MAP_DESC TEXT
If a match is finished or the last player has left the arena, the current map will be closed.
040 LogTypeLeft
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
041 LogTypeInTheLobby
DATE TIME LOG MAP MAP_DESC TEXT
042 LogTypeLobbyReady
DATE TIME LOG MAP MAP_DESC TEXT PLAYER
A player left the game and spectates now. Belongs to all game modes.

MORE INFORMATIONS

Please read the README file for more informations.

AUTHORS

Goat Attack and its manuals were written by Philippe Widmer <pw@earthwave.ch>, and are licensed under the terms of GPLv3 licenses.

March 2023 goat attack