HSE/Server Commands
Definitions
In the following command reference, certain words are use to describe arguments. They are as follows:
boolean - 0/1/Y/N/true/false
duration - Time period. 10m (10 minutes), 5s (5 seconds), 1h5m (1 hour, 5 minutes) are all valid. d, h, m, s are all valid and can be used in any order. So even this is valid: 5s1d5h9m
durationms - Same as above, but can include milliseconds in the format: 5.999s along with all the other duration specs.
string - Any valid string. Quotes can be used around strings to include spaces.
pattern - A wildcard pattern such as *this*text* matches "thistext", "adsfthisasdftextasdf", etc.
Server commands
The following list is divided into subsections that pertain to the function of the commands. Chat, AFK, etc.
Some basics first:
Include files are a quick way to include another init file. Say you have a set of 10 servers, and you need them all to have the same settings. Do this in your init.txt:
<includefile.txt
This will read in all the commands in the include file as if they were in the main init.txt - and they can be nested.
Furthermore, you can include arguments from a file. If you have a list of schedule entries in a file, you can do this:
sched_add <schedule.txt
The sched_add command will be repeated, using each line from the include file.
se_help <pattern> - Print help for any commands (or help text) that contains <pattern>.
Basic Server settings
se_include_path <string> - Set the path used to find include files. Files outside this path cannot be included for security reasons. Variables can be used here.
admins_file <string> - Set the path+filename to the Gandanur-compatible admins.xml file. This is read on every new game. No means are provided to modify this file.
se_timer <ms> - Set the timing interval. By default, this is 8ms where stock Halo is 30 ticks per second (around 33ms). Stock Halo timing is VERY inaccurate and VERY cpu hungry.
se_timefix <boolean> - If the main timing loop went past the value of se_timer, wait another se_timer milliseconds before continuing. During testing, this didn't seem to do anything, but included for completeness.
se_logfile_path <string> - Path to where to store the log files. Files are turned over every night at 12AM local time. Log file names have the format hse_<se_server_name>.log - archived log files are hse_<se_server_name>-YEAR-MM-DD.log
se_debug <level> - Debug level - 0=FATAL, 1=ERROR, 2=WARN, 3=INFO (default), 4=DEBUG, 5=DEBUGMORE. If a log message is processed whose debug level is greater than or equal to the current se_debug level, it's printed and logged to the log file. See below for handling of where DEBUG level output goes if enabled.
se_debuginterval <0-100000> - How many timing loops pass before we print timing debug information which includes how many loops ended less or more than se_level milliseconds. Useful to see how stable/unstable your server's timing is. On virtual machines, this a great indicator of how busy the real host is. Only enabled when log level is DEBUG
se_debug_to_console <boolean> - enable debug output to console (default is Y)
se_debug_to_logfile <boolean> - enable debug output to log file (default is Y)
se_sj <boolean> - enable (default) or disable Site-Jack in HAC2 - this depends on the SAPP flag "scrim mode" to be interpreted by HAC2. The most recent version of HAC2 as of July 2018 (not released yet) does not check the scrim flag anymore, so SJ can not be disabled. We are working with Btcc22 to see if this can be enabled again. SJ will not immediately turn off as HAC2 only reads this flag on new games. If you disable or enable SJ, it won't toggle until the next game. A future feature of HAC2 might allow SJ to be turned on or off immediately, but given Btcc22's want to make it impossible to disable at all, that may never happen now.
se_keycheck <boolean> - Enable or disable (default) key check.