redeclipse-conf

configuration and runit scripts for RedEclipse 1.6 (template)
git clone git://deadbeef.fr/redeclipse-conf.git
Log | Files | Refs | README

server.cfg (10267B)


      1 /// This file aims at making it easier to setup a server without gameplay
      2 /// changes.
      3 /// It tries describes the network and authentification sides of server setup,
      4 /// but intentionnally avoids embedding informations that one should not share.
      5 /// Instead, those are defined in the file "sensible.cfg", which is executed
      6 /// (aka included) here 1st.
      7 /// To further help avoiding leaks, here is a list of the dangerous (to share)
      8 /// variables:
      9 /// 	serverpass
     10 /// 	adminpass
     11 /// 	serveraccountpass
     12 /// 	serverauthkey
     13 /// 	ircpass
     14 /// Hopefully this should help one to automate safety checks.
     15 
     16 exec sensible.cfg
     17 
     18 ////////////////////////////////////////////////////////////////////////////////
     19 /// general settings
     20 /// Those are the traditional IP/port, number of clients allowed, network
     21 /// traffic, informations publication settings, etc.
     22 ////////////////////////////////////////////////////////////////////////////////
     23 /// this server can bind to a specific IP and needs 2 consecutive ports.
     24 /// Only 1st lower port can be set, the 2nd upper port is determined by lower+1
     25 // serverip "127.0.0.1" // cmdline: -siN
     26 // serverport 28801
     27 /// type of server:
     28 /// 	1 = private (does not register with masterserver)
     29 /// 	2 = public
     30 /// 	3 = dedicated
     31 // servertype 3
     32 /// server description, appears on serverbrowser and scoreboard
     33 // sv_serverdesc "My server"
     34 /// server message of the day, will be printed on client's HUD when they connect
     35 // sv_servermotd "Welcome to this blue-nebula server instance. Feel free to visit us on: * https://blue-nebula.org * https://forum.freegamedev.net/viewforum.php?f=101 * https://webchat.freenode.net/ channel: #blue-nebula"
     36 /// maximum number of allowed clients
     37 // sv_serverclients 16
     38 /// maximum upload speed (cmdline: -suN). Upload of what, I don't know, though.
     39 // serveruprate 0
     40 
     41 
     42 ////////////////////////////////////////////////////////////////////////////////
     43 /// public/dedicated (what's the difference?) server settings
     44 /// for public servers, a connection to a master can be used. The master will
     45 /// publish the server's settings to clients, and handle global players
     46 /// authentifications.
     47 /// It is apparently possible to have the "local" server authentied to the
     48 /// master server, but the benefits of doing so are unknown of me at the time of
     49 /// this writing.
     50 ////////////////////////////////////////////////////////////////////////////////
     51 /// host server tries to use as master by default; cmdline: -smS
     52 // servermaster "play.redeclipse.net"
     53 /// master server port which server *connects* to; cmdline: -saN
     54 // servermasterport 28800
     55 /// Server Auth Handling
     56 ///determines if the server should attempt to auth
     57 // serverauthconnect 1
     58 ///server's auth handle
     59 // serveraccountname handle
     60 
     61 
     62 ////////////////////////////////////////////////////////////////////////////////
     63 /// User management.
     64 /// allows to register IP to various lists, to give rights to some (or all)
     65 /// users, etc.
     66 /// There are two ways of setting local privileged access:
     67 /// [1] set a server password, access granted with in game command "/setmaster"
     68 /// [2] specific players identified by master and give them some local rights.
     69 ///////////////////////////////////////////////////////////////////////////////
     70 /// includes (exec) a file that defines a list of users authentified by master
     71 /// and gives them some roles.
     72 /// Multiple lists can of course be provided, for example if you host servers
     73 /// several groups of people.
     74 exec localop.cfg
     75 /// those files include lists of IPs that are automatically added to some lists
     76 /// by the server.
     77 /// Read them for more informations.
     78 /// As for localop.cfg, they can be split.
     79 /// There were no real example usage in original servinit.cfg, and I have no
     80 /// idea if other than single IPv4 list are supported (ranges, IPv6...)
     81 exec ban.cfg
     82 exec allow.cfg
     83 exec mute.cfg
     84 exec limit.cfg
     85 
     86 /// determines server openness for public use
     87 /// This allows players to acquire new privileges on server
     88 /// 	0 = allow "setpriv 1" and locked/private
     89 /// 	1 = allow "setpriv 1" but no privileged mode, no locked/private
     90 /// 	2 = allow "setpriv 1" but disallows private privileged mode
     91 ///		(for public coop-editing),
     92 /// 	3 = privilege only by moderator or above
     93 // sv_serveropen 3
     94 
     95 /// determines if authorities claim status by default
     96 // sv_autoadmin 0
     97 
     98 /// determines privileges (who may...)
     99 /// Value description:
    100 /// 	0 = off (everyone?)
    101 /// 	1 = player
    102 /// 	2 = supporter
    103 /// 	3 = moderator
    104 /// 	4 = operator
    105 /// 	5 = administrator
    106 /// 	6 = developer
    107 /// 	7 = founder
    108 /// 	8 = nobody
    109 ///
    110 /// list of privileges:
    111 /// 	sv_demolock      allows demo recording
    112 /// 	sv_editlock      allows spawn+edit when editing if mastermode = 2 (lock)
    113 /// 	sv_spawneditlock allows spawn when editing if mastermode = 2 (lock)
    114 /// 	sv_speclock      allows force spectate other players
    115 /// 	sv_kicklock      allows kicking other players
    116 /// 	sv_allowlock     allows allowing other players
    117 /// 	sv_banlock       allows banning other players
    118 /// 	sv_mutelock      allows muting other players
    119 /// 	sv_limitlock     allows limiting other players
    120 /// 	sv_vetolock      allows forcing votes
    121 /// 	sv_floodlock     allows flooding
    122 /// 	sv_crclock       allows to join despite incorrect CRC integrity check
    123 /// 	sv_modelock      allows to bypass locked modes (modelocktype)
    124 /// 	sv_mapslock      allows to bypass locked maps (mapslocktype)
    125 /// 	sv_varslock      allows to change variables
    126 /// 	sv_votelock      allows to vote? (votelocktype)
    127 /// 	sv_gamespeedlock allows to change game speed (also limited by varslock)
    128 // sv_demolock 4
    129 // sv_editlock 4
    130 // sv_spawneditlock 3
    131 // sv_speclock 3
    132 // sv_kicklock 3
    133 // sv_allowlock 4
    134 // sv_banlock 4
    135 // sv_mutelock 3
    136 // sv_limitlock 3
    137 // sv_vetolock 4
    138 // sv_floodlock 4
    139 // sv_crclock 8
    140 // sv_modelock 4
    141 // sv_mapslock 4
    142 // sv_varslock 4
    143 // sv_votelock 4
    144 // sv_gamespeedlock 5
    145 
    146 ////////////////////////////////////////////////////////////////////////////////
    147 /// misc
    148 ////////////////////////////////////////////////////////////////////////////////
    149 /// 0 pauses the game, 1 unpauses it. Server automatically unpauses the game at
    150 /// start, they say, and I have no idea who can set this variable.
    151 /// Keeping it here allows to remember/learn about it though.
    152 // sv_gamepaused 0
    153 
    154 /// when should some lists or other things be reset:
    155 /// 	0 = off,
    156 /// 	1 = just when empty,
    157 /// 	2 = when matches end
    158 /// sv_resetmmonend: privilege mode changes
    159 /// sv_resetallowsonend: allow list
    160 /// sv_resetbansonend: ban list
    161 /// sv_resetmutesonend: mute list
    162 /// sv_resetlimitsonend: limite list
    163 /// sv_resetvarsonend: game variables
    164 // sv_resetmmonend 2
    165 // sv_resetallowsonend 1
    166 // sv_resetbansonend 1
    167 // sv_resetmutesonend 1
    168 // sv_resetlimitsonend 1
    169 // sv_resetvarsonend 1
    170 
    171 
    172 ////////////////////////////////////////////////////////////////////////////////
    173 /// auto-mute settings
    174 ////////////////////////////////////////////////////////////////////////////////
    175 /// maximum warning before mute
    176 // sv_floodmute 3
    177 /// time span to check for floody messages
    178 // sv_floodtime 10000
    179 /// number of lines in floodtime span before too many
    180 // sv_floodlines 5
    181 
    182 
    183 ////////////////////////////////////////////////////////////////////////////////
    184 /// vote settings
    185 /// Actually, game threshold is 50%, I have no clue if it can be changed.
    186 /// The vote system implemented is the traditional "this or nothing" one. Pretty
    187 /// inefficient for a game with that much mutators/modes, but condorcet would
    188 /// probably confuse people anyway, and hard to implement.
    189 ////////////////////////////////////////////////////////////////////////////////
    190 /// time in milliseconds before a player may cast another vote (to avoid flooding)
    191 // sv_votewait 2500
    192 /// time in milliseconds intermission voting lasts
    193 // sv_votelimit 45000
    194 /// how to decide if players agree on suggestions:
    195 /// 	0 = votes don't pass mid-match or need to wait entire time in inter-match
    196 /// 	1 = passes if votethreshold is met
    197 /// 	2 = passes if unanimous
    198 ///   3 = undocumented (only for sv_voteinterm)
    199 // sv_votestyle 2
    200 // sv_voteinterm 2
    201 /// filters out spectators that have not voted from threshold
    202 // sv_votefilter 1
    203 /// vote threshold when style = 1
    204 // sv_votethreshold 0.5
    205 
    206 
    207 ////////////////////////////////////////////////////////////////////////////////
    208 /// demo recording
    209 /// games can be recorded for further examination. They can be kept in memory
    210 /// or saved on disk, manually or automatically.
    211 /// The server implements a rotation system, but I think one should better rely
    212 /// on dedicated tools instead (e.g. logrotate) on real servers.
    213 ////////////////////////////////////////////////////////////////////////////////
    214 /// demo recording politics (should record, should save, max size, etc)
    215 /// should demos be automatically recorded each match? 0 is no, 1 is yes.
    216 // sv_demoautorec 1
    217 /// determines if the server automatically saves demos to disk
    218 // sv_demoautoserversave 0
    219 /// maximum size of individual demo files
    220 // sv_demomaxsize 16
    221 
    222 /// rotation of on-disk demos settings. Allows to delete demos that are too old
    223 /// (demoserverkeeptime) and/or when there are too many of those (democount).
    224 /// and/or when there are too many of those.
    225 /// maximum number of demo files
    226 // sv_democount 5
    227 /// if greater than 0, remove auto-recorded demos older than this many seconds
    228 // sv_demoserverkeeptime 86400
    229 
    230 
    231 ////////////////////////////////////////////////////////////////////////////////
    232 /// IRC settings (optional)
    233 ////////////////////////////////////////////////////////////////////////////////
    234 /// defines the way the colour-to-irc filter works
    235 /// 	0 = off
    236 /// 	1 = convert
    237 /// 	2 = strip
    238 // ircfilter 1
    239 
    240 /// server connection and authentification
    241 // ircaddrelay name server.irc.net 6667 nickname
    242 /// set the ident field, defaults to $systemuser
    243 // ircident name ident
    244 /// use this only if you need to bind to a specific address, eg. multihomed
    245 /// machines (I guess it's when you host multiple servers).
    246 // ircbind name 127.0.0.1
    247 
    248 /// channels and relay settings (blocks? can be specified multiple times)
    249 // ircaddchan name "#channel"
    250 /// should relay? -1 => no, 3 => yes?
    251 // ircrelaychan name "#channel" -1
    252 /// set a friendly name for the relay on this channel
    253 // ircfriendlychan name "#channel" CHAN
    254 
    255 /// and tell it to connect!
    256 // ircconnect name