## To create a custom config for a mod create a file with the same name
## as the jar file and append ".conf", for craftbukkit this would be
## "craftbukkit.jar.conf".
## The following config is an example that lists all possible options,
## without actually changing anything (it remaps the commands on
## themselves)
##
## General configuration. If this contains a setting called "file" the
## [commands], [start] and [parse_*] sections will be loaded from this
## other file
[config]
## The name as displayed in the panel, leave empty to hide
name = Mod: Spigot 1.18.2
## Where to download the JAR file from
source = https://jar.zserver.org/spigot-1182.jar
## Where to download this file from (will overwrite this file with the downloaded one)
configSource = https://jar.zserver.org/spigot-1882.jar.conf
## Sections of this file that may be overridden by .conf files in the server directory
#safeConfSections = ^(encoding|commands|parse_.+)$

## Encoding used for strings sent to and received from the server
[encoding]
## The encoding to use to send data to the Minecraft process
## Use "system" for your current locale.
## default: system
encode = utf-8
## The encoding to use to decode data received from the Minecraft process
## Use "system" for your current locale.
## default: system
decode = utf-8
## The encoding used when reading/writing configuration files such as
## the server.properties
## default: latin-1
fileEncoding = latin-1


## Command line customization.
## Available variables
## - {MULTICRAFT_DIR}   The Multicraft daemon base directory
## - {BASE_DIR}         Same as {MULTICRAFT_DIR}
## - {DAEMON_DIR}       Directory of the daemon binaries
## - {DATA_DIR}         Global.daemon.dataDir
## - {JAR_DIR}          Daemon JAR directory
## - {SERVERS_DIR}      Directory containing all servers
## - {SERVER_ID}        Current server ID
## - {SERVER_DIR}       Current server base directory
## - {WORLD}            Name of the current world
## - {JAVA}             Java executable to run
## - {START_MEMORY}     Startup memory amount
## - {MAX_MEMORY}       Maximum memory amount
## - {JAR_FILE}         Current JAR file name
## - {JAR}              Full path to current JAR file
## - {IP}               Server IP
## - {PORT}             Server port
## - {MAX_PLAYERS}      Maximum player slots
## - {DAEMON_ID}        Daemon ID
## - {PID}              Process ID of the server process
## - {PID_FILE}         File containing the PID of the server process
## - {USER}             User the server will run as
## - {GROUP}            Group the server will run as
## - {UID}              User system ID
## - {GID}              Group system ID
[start]
command = "/usr/bin/java" -server -Xmx{MAX_MEMORY}M -Xms{START_MEMORY}M -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=45 -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=50 -XX:ParallelGCThreads=32 -Djline.terminal=jline.UnsupportedTerminal -jar "{JAR}" --nogui


[settings]
## Restart the server when it doesn't respond to pings anymore
restartOnTimeout = True
## The server log file
logFile = server.log
## Ignore console output and parse log file instead
#followLog = False
## Only used if followLog is true, the interval in milliseconds at
## which to check the log file for new content
#logCheckInterval = 500
## Rotate the log every X bytes
logRotateSize = 512000000
## Use special method to rotate log, use this if normal rename rotation doesn't work
#logPersistent = False
## Maximum number of logs to keep
logBackupCount = 5
## Advanced: Read at most X bytes from the file at a time
logMaxRead = 4096
## Check every X milliseconds if the log needs to be rotated
logRotateCheckInterval = 3600000
## Print every line received from the server
#debugRawLine = False
## Print every line after cleanup
#debugCleanLine = False
## Print every line after the first parse pass
#debugParseLine = False
## Use the Multicraft launcher to wrap the gameserver (simulates a real command line)
#useLauncher = False
## Assume Minecraft is still running override (0: Known console output, 1: "List" command output, 2: Any console output)
pongMode = 0
## Minecraft response timeout override (milliseconds)
pingTimeout = 120000
## Minecraft pint interval override (milliseconds)
#pingInterval = 15000
## Minecraft crash restart delay overrice (milliseconds)
crashRestartDelay = 5000
## Console output rate limit override
rateLimit = 30
## Autosave interval overrice (milliseconds)
#saveInterval = 600000
## Player info save method override (0: Never Save, 1: Update Existing, 2: Always Save)
savePlayerInfo = 1
## Print server setting information
#debugSettings = False
## Restart the server after a crash or unexpected exit
restartOnCrash = true
## Print line parser information
#debugParse = False


## Plugin configuration
[plugins]
pluginDir = plugins
pluginMatch = \.(jar|zip)$


## Command remapping
[commands]
say = say
list = list
save-on = save-on
save-off = save-off
save-all = save-all
stop = stop
tell = tell
give = give
tp = tp
deop = deop
op = op
pardon-ip = pardon-ip
ban-ip = ban-ip
pardon = pardon
ban = ban
kick = kick
help = help


## Console output parsing can be completely customized to support
## any format (and theoretically any game). Please contact us if you require this.

[parse_startup]
start1=^\s*Listening on 

[parse_log]
start=^(?P<time>(:?[-\d]+ )?\[?[:\d]+\]?)\s+\[?(?P<type>[^]]+)\]\:?\s+(:?\[[^]]+\]\s+)?(?P<line>.*)$
