#
# autoexec_server.cfg
#
# See https://ddnet.org/settingscommands/ for all available settings.
# Everything following a # is considered a comment and ignored by the server.
# When an option can be enabled or disabled, it's enabled with 1, disabled with 0.
#
# SEE CUSTOM CONFIG AT THE END TO PREVENT DDNET UPDATES FROM OVERWRITING YOUR SETTINGS



# GENERAL OPTIONS
# ---------------

# Server port (only port range 8303-8310 show up in LAN tab,
# defaults to 0 to automatically select free port in range 8303-8310)
#sv_port 8303

# Server name
sv_name "My DDNet server"

# Password for joining the server, empty for no password
password ""

# rcon (F2) passwords for admin. If you don't set one, a random one will be
# created and shown in the terminal window of the server.
#sv_rcon_password ""

# rcon (F2) password for moderator. If you don't set one, none exists.
sv_rcon_mod_password ""

# rcon (F2) password for helper. If you don't set one, none exists.
sv_rcon_helper_password ""

# Map to start server with
sv_map "Tutorial"

# Whether this is a test server and rcon cheats are allowed. Also indicated in
# the server type, which is:
# - "DDraceNetwork" for 0 (no cheats) and
# - "TestDDraceNetwo" for 1 (cheats)
sv_test_cmds 1

# Register server (make it public)
sv_register 0



# ADVANCED OPTIONS
# ----------------

# File where server log will be stored
logfile "autoexec_server.log"

# Log level (-3 = None, -2 = Error, -1 = Warn, 0 = Info, 1 = Debug, 2 = Trace)
loglevel 0

# Max players on server
sv_max_clients 64

# Max players with the same IP address
sv_max_clients_per_ip 4

# Tournament mode - when enabled players joins the server as spectator
sv_tournament_mode 0

# Whether players can pause their character and make it disappear with the /spec command
sv_pauseable 0

# Allow /rescue (also /r) command so players can teleport themselves out of freeze
sv_rescue 1
# Number of seconds between two rescues
sv_rescue_delay 5



# SERVER CUSTOMIZATION
# --------------------

# Message on chat displayed when joining
sv_welcome "Welcome to my server!"

# File which contains the announcements (One on each line)
sv_announcement_filename "announcement.txt"

# Number of minutes before the next announcement will be displayed (from the announcement file)
sv_announcement_interval 120

# Whether announcements will be displayed in their order or chosen randomly
sv_announcement_random 1

# Message of the day to display when joining the server (use "\n" to create new line)
sv_motd "Testserver with DDraceNetwork Features!\nDon't forget to check server rules by using /rules"

# Use default DDRace rules
sv_ddrace_rules 1

# Own rules (up to 10 lines)
sv_rules_line1 ""
sv_rules_line2 ""
sv_rules_line3 ""

# Reset physics tunes after a map change
sv_tune_reset 1

# Reset DDRace tunes after a map change
sv_ddrace_tune_reset 1

# Use a config file to execute whenever a map is changed
sv_reset_file "reset.cfg"



# CUSTOM VOTES
# ------------

# Format: add_vote "[vote name]" "[command 1]; [command 2]; [command 3]; [...]"
# Example: add_vote "Close server" "sv_name Private DDNet server; password My secret password"
#
# To create empty line in votes just use space in name of vote and command
# "info". Every "empty line" vote should have different number of spaces in its
# name, because each vote text has to be unique.
# Example: add_vote " " "info"
#
# You can learn more about tunes on http://ddnet.org/settingscommands/#tunings

add_map_votes
add_vote " " "info"
add_vote "Option: Normal gravity" "tune gravity 0.50"
add_vote "Option: Moon gravity" "tune gravity 0.25"
add_vote "Option: No gravity" "tune gravity 0.00"
add_vote "  " "info"
add_vote "Option: Reset server" "exec autoexec_server.cfg"
add_vote "Option: Shutdown server" "shutdown"


# Only show errors for the next commands. Can't do that for the log file
# because the settings are only applied after reading the whole config file.
stdout_output_level -1

# ADDITIONAL COMMANDS PERMISSIONS
# -------------------------------

# You can see all commands which are accessible for specific authentication-levels by using "access_status"
# Format: access_status [0: admin, 1: moderator, 2: helper or 3: user]
#
# Format: access_level [command] [0: admin, 1: moderator, 2: helper or 3: user]
# Where 0 means only accessible for admin, 1 gives access to moderator and 2 gives access to helper
# Example: mod_command ban 1

# Non-default commands to which moderators and helpers will have access
access_level left helper
access_level right helper
access_level up helper
access_level down helper
access_level super helper
access_level unsuper helper
access_level tele helper
access_level totele helper
access_level totelecp helper
access_level logout helper
access_level ninja helper
access_level grenade helper
access_level shotgun helper
access_level laser helper
access_level weapons helper
access_level unweapons helper
access_level unlaser helper
access_level unshotgun helper
access_level ungrenade helper
access_level unsolo helper
access_level undeep helper
access_level status helper

# commands for moderators only
access_level ban moderator
access_level unban moderator
access_level ban_range moderator
access_level unban_range moderator
access_level unban_all moderator
access_level bans moderator
access_level bans_save moderator
access_level kick moderator
access_level force_vote moderator
access_level moderate moderator


# Restore original output level
stdout_output_level 0

# SPECIAL BROADCAST-SUGGESTION FOR PLAYERS
# ----------------------------------------

# Broadcast to display for players without DDNet client
sv_client_suggestion "Get DDNet client from DDNet.org to use all features on DDNet!"

# Broadcast to display for players with a very old version of DDNet client
sv_client_suggestion_old "Your DDNet client is old, update it on DDNet.org!"

# Broadcast to display for players with known botting client
sv_client_suggestion_bot "Your client has bots and can be remotely controlled!\nPlease use another client like DDNet client from DDNet.org"



# CUSTOM CONFIG
# -------------

# if you do not want updates to overwrite your settings create a
# file called myServerconfig.cfg and put your config there
exec myServerconfig.cfg
