{"article":{"id":45326769420827,"url":"https://hypixelstudios.zendesk.com/api/v2/help_center/en-us/articles/45326769420827.json","html_url":"https://support.hytale.com/hc/en-us/articles/45326769420827-Hytale-Server-Manual","author_id":44683878502555,"comments_disabled":true,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"upvote_count":0,"downvote_count":0,"section_id":45383871296539,"created_at":"2026-01-11T17:37:24Z","updated_at":"2026-10-12T19:48:54Z","name":"Hytale Server Manual","title":"Hytale Server Manual","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-10-12T19:48:53Z","user_segment_id":null,"permission_group_id":41690582981403,"content_tag_ids":[],"label_names":[],"body":"<p>This article covers the setup, configuration, and operation of dedicated Hytale servers.</p><div class=\"hypixel-notice-box\">\n  <p>\n    <span style=\"“color: #2F3941;\"><strong>Intended Audience:</strong> Server administrators and players hosting dedicated servers.</span>\n  </p>\n</div><h2 id=\"contents\">Contents</h2><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Section</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Topics</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><a href=\"#server-setup\">Server Setup</a></td>\n<td>Java installation, server files, system requirements</td>\n</tr>\n<tr>\n<td><a href=\"#running-a-hytale-server\">Running a Hytale Server</a></td>\n<td>Launch commands, authentication, ports, firewall, file structure</td>\n</tr>\n<tr>\n<td><a href=\"#tips-tricks\">Tips &amp; Tricks</a></td>\n<td>Mods, AOT cache, Sentry, recommended plugins, view distance</td>\n</tr>\n<tr>\n<td><a href=\"#multiserver-architecture\">Multiserver Architecture</a></td>\n<td>Player referral, redirects, fallbacks, building proxies</td>\n</tr>\n<tr>\n<td><a href=\"#h_01KKA5T8868V2F669N6PV763CG\">Auto Updating</a></td>\n<td>Update commands, configuration, wrapper scripts</td>\n</tr>\n<tr>\n<td><a href=\"#misc-details\">Misc Details</a></td>\n<td>JVM arguments, protocol updates, configuration files</td>\n</tr>\n<tr>\n<td><a href=\"#future-additions\">Future Additions</a></td>\n<td>Server discovery, parties, integrated payments, SRV records, API endpoints</td>\n</tr>\n</tbody>\n</table></figure><p> </p><h2 id=\"server-setup\">Server Setup</h2><p>The Hytale server can run on any device with at least 4GB of memory and Java 25. Both x64 and arm64 architectures are supported.</p><p>We recommend monitoring RAM and CPU usage while the server is in use to understand typical consumption for your player count and playstyle - resource usage heavily depends on player behavior.</p><p><strong>General guidance:</strong></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 26%;\">\n<col style=\"width: 74%;\">\n</colgroup>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Resource</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Driver</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td>CPU</td>\n<td>High player or entity counts (NPCs, mobs)</td>\n</tr>\n<tr>\n<td>RAM</td>\n<td>Large loaded world area (high view distance, players exploring independently)</td>\n</tr>\n</tbody>\n</table></figure><blockquote><p><strong>Note:</strong> Without specialized tooling, it can be hard to determine how much allocated RAM a Java process actually needs. Experiment with different values for Java's <code>-Xmx</code> parameter to set explicit limits. A typical symptom of memory pressure is increased CPU usage due to garbage collection.</p></blockquote><h3 id=\"installing-java-25\">Installing Java 25</h3><p>Install Java 25. We recommend <a href=\"https://adoptium.net/temurin/releases\" target=\"_blank\" rel=\"noopener noreferrer\">Adoptium</a>.</p><h4 id=\"confirm-installation\">Confirm Installation</h4><p>Verify the installation by running:</p><pre><code class=\"language-auto lang-powershell\">java --version</code></pre><p>Expected output:</p><pre class=\"language-auto\">openjdk 25.0.1 2025-10-21 LTS\nOpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)\nOpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)</pre><h3 id=\"server-files\">Server Files</h3><p>Three options to obtain server files:</p><ol>\n<li data-list-item-id=\"e72ad3e731a2b5bae51e1ddb9960daf0e\">Manually copy from your Launcher installation</li>\n<li data-list-item-id=\"e26d9fcf56fbe1b46b3e2fe99deb06ff1\">Use the Hytale Downloader CLI</li>\n<li data-list-item-id=\"e908265bf14e8b4f98ca63b115e6d2348\">Bootstrap from <code>HytaleServer.jar</code>\n</li>\n</ol><h4 id=\"manually-copy-from-launcher\">Manually Copy from Launcher</h4><blockquote><p><strong>Best for:</strong> Quick testing. Annoying to keep updated.</p></blockquote><p>Find the files in your launcher installation folder:</p><pre class=\"language-auto\">Windows: %appdata%\\Hytale\\install\\release\\package\\game\\latest\nLinux: $XDG_DATA_HOME/Hytale/install/release/package/game/latest\nMacOS: ~/Library/Application Support/Hytale/install/release/package/game/latest</pre><p>List the content of the directory:</p><pre><code class=\"language-auto lang-bash\">ls</code></pre><p>Expected output:</p><pre class=\"language-auto\">    Directory: C:\\Users\\...\\Hytale\\install\\release\\package\\game\\latest\n\nMode                 LastWriteTime         Length Name\n----                 -------------         ------ ----\nd-----        12/25/2025   9:25 PM                Client\nd-----        12/25/2025   9:25 PM                Server\n-a----        12/25/2025   9:04 PM     3298097359 Assets.zip\n</pre><p>Copy the <code>Server</code> folder and <code>Assets.zip</code> to your destination server folder.</p><h4 id=\"hytale-downloader-cli\">Hytale Downloader CLI</h4><blockquote><p><strong>Best for:</strong> Production servers. Easy to keep updated.</p></blockquote><p>A command-line tool to download Hytale server and asset files with OAuth2 authentication. See <code>QUICKSTART.md</code> inside the archive.</p><p><strong>Download:</strong> <a href=\"https://downloader.hytale.com/hytale-downloader.zip\" target=\"_blank\" rel=\"noopener noreferrer\">hytale-downloader.zip (Linux &amp; Windows)</a></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\">\n<colgroup>\n<col style=\"width: 62%;\">\n<col style=\"width: 38%;\">\n</colgroup>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Command</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>./hytale-downloader</code></td>\n<td>Download latest release</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -print-version</code></td>\n<td>Show game version without downloading</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -version</code></td>\n<td>Show hytale-downloader version</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -check-update</code></td>\n<td>Check for hytale-downloader updates</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -download-path game.zip</code></td>\n<td>Download to specific file</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -patchline pre-release</code></td>\n<td>Download from pre-release channel</td>\n</tr>\n<tr>\n<td><code>./hytale-downloader -skip-update-check</code></td>\n<td>Skip automatic update check</td>\n</tr>\n</tbody>\n</table></figure><p> </p><h4 id=\"bootstrap-from-hytaleserverjar\">Bootstrap from <code>HytaleServer.jar</code>\n</h4><blockquote><p><strong>Best for:</strong> Installing from just <code>HytaleServer.jar</code> with no separate downloader.</p></blockquote><p><code>--bootstrap</code> starts the server in a minimal mode that loads only the plugins needed to authenticate and download the rest of the server payload (JAR, <code>Assets.zip</code>, launcher scripts). The server extracts everything into the current directory and shuts down so the real launcher scripts can take over.</p><ol>\n<li data-list-item-id=\"e76161fc1aec8ed5bb645bec8c6cbe17e\">\n<p>Place <code>HytaleServer.jar</code> in an empty directory and start it in bootstrap mode:</p>\n<pre><code class=\"language-auto lang-bash\">java -jar HytaleServer.jar --bootstrap</code></pre>\n</li>\n<li data-list-item-id=\"e26178169ef37440ce76329a72d9627a9\">\n<p>Authenticate the server (see <a href=\"#authentication\">Authentication</a> below):</p>\n<pre class=\"language-auto\">/auth login device</pre>\n</li>\n<li data-list-item-id=\"e98f1a4ac7ee269cec683af413acdeeb2\">Run <code>/update setup</code> (or <code>/update download</code>).</li>\n<li data-list-item-id=\"ecd54428b02e28bdb7547fb116a32ac4f\">\n<p>The install extracts the payload into the cwd, sets <code>+x</code> on <code>start.sh</code> (on Unix), migrates <code>auth.enc</code>, <code>auth.key</code>, and <code>config.json</code> into <code>Server/</code>, deletes the installer JAR (on Unix), and shuts the server down. The resulting layout:</p>\n<pre class=\"language-auto\">game/\n├── Assets.zip\n├── start.sh\n├── start.bat\n└── Server/\n    ├── HytaleServer.jar\n    ├── auth.enc\n    ├── auth.key\n    └── config.json</pre>\n</li>\n<li data-list-item-id=\"e4d7ef7f13315483a747ac367b89ef81b\">\n<p>Start the real server with the launcher script:</p>\n<pre><code class=\"language-auto lang-bash\">./start.sh\n# or on Windows:\nstart.bat</code></pre>\n<p>The credentials from step 2 are carried over, so the server is authenticated on first boot.</p>\n</li>\n</ol><blockquote><p><strong>Note:</strong> On Windows the installer JAR cannot delete itself while it is running; remove it manually after the bootstrap server shuts down.</p></blockquote><h2 id=\"running-a-hytale-server\">Running a Hytale Server</h2><p>Start the server with:</p><pre><code class=\"language-auto lang-bash\">java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip</code></pre><h3 id=\"authentication\">Authentication</h3><p>After first launch, authenticate your server.</p><pre class=\"language-auto\">&gt; /auth login device\n===================================================================\nDEVICE AUTHORIZATION\n===================================================================\nVisit: https://accounts.hytale.com/device\nEnter code: ABCD-1234\nOr visit: https://accounts.hytale.com/device?user_code=ABCD-1234\n===================================================================\nWaiting for authorization (expires in 900 seconds)...\n\n[User completes authorization in browser]\n\n&gt; Authentication successful! Mode: OAUTH_DEVICE</pre><p>Once authenticated, your server can accept player connections.</p><h4 id=\"additional-authentication-information\">Additional Authentication Information</h4><p>Hytale Servers require authentication to enable communication with our service APIs and to counter abuse.</p><blockquote><p><strong>Note:</strong> There is a limit of 500 servers per Hytale game license to prevent early abuse. <span data-key=\"IkMOYJ67cUiv\" data-offset-key=\"IkMOYJ67cUiv:1\">If you require additional capacity, you can purchase another Hytale game license </span><a href=\"https://store.hytale.com\" target=\"_blank\" rel=\"noopener noreferrer\"><span data-key=\"IkMOYJ67cUiv\" data-offset-key=\"IkMOYJ67cUiv:1\">here</span></a><span data-key=\"hUddP8EUg0MD\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMklmJTIweW91JTIwcmVxdWlyZSUyMGFkZGl0aW9uYWwlMjBjYXBhY2l0eSUyQyUyMHBsZWFzZSUyMHJlYWNoJTIwb3V0JTIwdG8lMjBvdXIlMjBzdXBwb3J0JTIwdGVhbSUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIycXZ5eHg3aVFKTHB2JTIyJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIyaW5saW5lJTIyJTJDJTIydHlwZSUyMiUzQSUyMmxpbmslMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlMjJyZWYlMjIlM0ElN0IlMjJraW5kJTIyJTNBJTIydXJsJTIyJTJDJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZzdXBwb3J0Lmh5dGFsZS5jb20lMkZoYyUyRmVuLXVzJTJGcmVxdWVzdHMlMkZuZXclMjIlN0QlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMmhlcmUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMklGNEtDUnVqSDlucSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnpVTUVTdGhuUVdsUSUyMiU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMi4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmhVZGRQOEVVZzBNRCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlJIeUhSTjYyMjlxMiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjM0WVJMb0ZxRlNNWCUyMiU3RA==\" data-offset-key=\"hUddP8EUg0MD:0\">.</span></p></blockquote><p>If you need to authenticate a large amount of servers or dynamically authenticate servers automatically, please read the <a href=\"https://support.hytale.com/hc/en-us/articles/45328341414043\">Server Provider Authentication Guide</a> for detailed information.</p><h3 id=\"help\">Help</h3><p>Review all available arguments:</p><pre><code class=\"language-auto lang-bash\">java -jar HytaleServer.jar --help</code></pre><p>Expected output:</p><pre class=\"language-auto\">Option                                   Description\n------                                   -----------\n--accept-early-plugins                   Acknowledge that loading early plugins\n                                           is unsupported and may cause stability issues\n--allow-op\n--assets &lt;Path&gt;                          Asset directory (default: ..\\HytaleAssets)\n--auth-mode &lt;authenticated|offline&gt;      Authentication mode (default: AUTHENTICATED)\n-b, --bind &lt;InetSocketAddress&gt;           Address to listen on (default: 0.0.0.0:5520)\n--backup                                 Enable automatic backups\n--backup-dir &lt;Path&gt;                      Backup directory\n--backup-frequency &lt;Integer&gt;             Backup interval in minutes (default: 30)\n[...]</pre><h3 id=\"port\">Port</h3><p>Default port is <strong>5520</strong>. Change it with the <code>--bind</code> argument:</p><pre><code class=\"language-auto lang-powershell\">java -jar HytaleServer.jar --assets Assets.zip --bind 3500\n</code></pre><h3 id=\"firewall-network-configuration\">Firewall &amp; Network Configuration</h3><p>Hytale uses the <strong>QUIC protocol over UDP</strong> (not TCP). Configure your firewall and port forwarding accordingly.</p><h4 id=\"port-forwarding\">Port Forwarding</h4><p>If hosting behind a router, forward <strong>UDP port 5520</strong> (or your custom port) to your server machine. TCP forwarding is not required.</p><h4 id=\"firewall-rules\">Firewall Rules</h4><p><strong>Windows Defender Firewall:</strong></p><pre><code class=\"language-auto lang-powershell\">New-NetFirewallRule -DisplayName \"Hytale Server\" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow</code></pre><p><strong>Linux (iptables):</strong></p><pre><code class=\"language-auto lang-bash\">sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT</code></pre><p><strong>Linux (ufw):</strong></p><pre><code class=\"language-auto lang-bash\">sudo ufw allow 5520/udp</code></pre><h4 id=\"nat-considerations\">NAT Considerations</h4><p>QUIC handles NAT traversal well in most cases. If players have trouble connecting:</p><ul>\n<li data-list-item-id=\"e0e281a0261214945c901367b9c2394c8\">Ensure the port forward is specifically for <strong>UDP</strong>, not TCP</li>\n<li data-list-item-id=\"eef47910e8f3106be6d42fc2709774137\">Symmetric NAT configurations may cause issues - consider a VPS or dedicated server</li>\n<li data-list-item-id=\"e7814c1ae44c7b0c4f5c30d579bd62614\">Players behind carrier-grade NAT (common on mobile networks) should connect fine as clients</li>\n</ul><h3 id=\"file-structure\">File Structure</h3><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Path</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code>.cache/</code></td>\n<td>Cache for optimized files</td>\n</tr>\n<tr>\n<td><code>logs/</code></td>\n<td>Server log files</td>\n</tr>\n<tr>\n<td><code>mods/</code></td>\n<td>Installed mods</td>\n</tr>\n<tr>\n<td><code>universe/</code></td>\n<td>World and player save data</td>\n</tr>\n<tr>\n<td><code>bans.json</code></td>\n<td>Banned players</td>\n</tr>\n<tr>\n<td><code>config.json</code></td>\n<td>Server configuration</td>\n</tr>\n<tr>\n<td><code>permissions.json</code></td>\n<td>Permission configuration</td>\n</tr>\n<tr>\n<td><code>whitelist.json</code></td>\n<td>Whitelisted players</td>\n</tr>\n</tbody>\n</table></figure><h4 id=\"universe-structure\">Universe Structure</h4><p>The <code>universe/worlds/</code> directory contains all playable worlds. Each world has its own <code>config.json</code>:</p><pre><code class=\"language-auto lang-json\">{\n  \"Version\": 4,\n  \"UUID\": {\n    \"$binary\": \"j2x/idwTQpen24CDfH1+OQ==\",\n    \"$type\": \"04\"\n  },\n  \"Seed\": 1767292261384,\n  \"WorldGen\": {\n    \"Type\": \"Hytale\",\n    \"Name\": \"Default\"\n  },\n  \"WorldMap\": {\n    \"Type\": \"WorldGen\"\n  },\n  \"ChunkStorage\": {\n    \"Type\": \"Hytale\"\n  },\n  \"ChunkConfig\": {},\n  \"IsTicking\": true,\n  \"IsBlockTicking\": true,\n  \"IsPvpEnabled\": false,\n  \"IsFallDamageEnabled\": true,\n  \"IsGameTimePaused\": false,\n  \"GameTime\": \"0001-01-01T08:26:59.761606129Z\",\n  \"RequiredPlugins\": {},\n  \"IsSpawningNPC\": true,\n  \"IsSpawnMarkersEnabled\": true,\n  \"IsAllNPCFrozen\": false,\n  \"GameplayConfig\": \"Default\",\n  \"IsCompassUpdating\": true,\n  \"IsSavingPlayers\": true,\n  \"IsSavingChunks\": true,\n  \"IsUnloadingChunks\": true,\n  \"IsObjectiveMarkersEnabled\": true,\n  \"DeleteOnUniverseStart\": false,\n  \"DeleteOnRemove\": false,\n  \"ResourceStorage\": {\n    \"Type\": \"Hytale\"\n  },\n  \"Plugin\": {}\n}</code></pre><p>Each world runs on its own main thread and off-loads parallel work into a shared thread pool.</p><hr><h2 id=\"tips-tricks\">Tips &amp; Tricks</h2><h3 id=\"installing-mods\">Installing Mods</h3><p>Download mods (<code>.zip</code> or <code>.jar</code>) from sources like <a href=\"https://www.curseforge.com/hytale\" target=\"_blank\" rel=\"noopener noreferrer\">CurseForge</a> and drop them into the <code>mods/</code> folder.</p><h3 id=\"disable-sentry-crash-reporting\">Disable Sentry Crash Reporting</h3><blockquote><p><strong>Important:</strong> Disable Sentry during active plugin development.</p></blockquote><p>We use Sentry to track crashes. Disable it with <code>--disable-sentry</code> to avoid submitting your development errors:</p><pre><code class=\"language-auto lang-bash\">java -jar HytaleServer.jar --assets Assets.zip --disable-sentry</code></pre><h3 id=\"leverage-ahead-of-time-cache\">Leverage Ahead-Of-Time Cache</h3><p>The server ships with a pre-trained AOT cache (<code>HytaleServer.aot</code>) that improves boot times by skipping JIT warmup. See <a href=\"https://openjdk.org/jeps/514\" target=\"_blank\" rel=\"noopener noreferrer\">JEP-514</a>.</p><pre><code class=\"language-auto lang-bash\">java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip</code></pre><h3 id=\"recommended-plugins\">Recommended Plugins</h3><p>Our development partners at Nitrado and Apex Hosting maintain plugins for common server hosting needs:</p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Plugin</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><a href=\"https://github.com/nitrado/hytale-plugin-webserver\" target=\"_blank\" rel=\"noopener noreferrer\">Nitrado:WebServer</a></td>\n<td>Base plugin for web applications and APIs</td>\n</tr>\n<tr>\n<td><a href=\"https://github.com/nitrado/hytale-plugin-query\" target=\"_blank\" rel=\"noopener noreferrer\">Nitrado:Query</a></td>\n<td>Exposes server status (player counts, etc.) via HTTP</td>\n</tr>\n<tr>\n<td><a href=\"https://github.com/nitrado/hytale-plugin-performance-saver\" target=\"_blank\" rel=\"noopener noreferrer\">Nitrado:PerformanceSaver</a></td>\n<td>Dynamically limits view distance based on resource usage</td>\n</tr>\n<tr>\n<td><a href=\"https://github.com/apexhosting/hytale-plugin-prometheus\" target=\"_blank\" rel=\"noopener noreferrer\">ApexHosting:PrometheusExporter</a></td>\n<td>Exposes detailed server and JVM metrics</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"view-distance\">View Distance</h3><p>View distance is the main driver for RAM usage. We recommend limiting maximum view distance to <strong>12 chunks (384 blocks)</strong> for both performance and gameplay.</p><p>For comparison: Minecraft servers default to 10 chunks (160 blocks). Hytale's default of 384 blocks is roughly equivalent to 24 Minecraft chunks. Expect higher RAM usage with default settings - tune this value based on your expected player count.</p><hr><h2 id=\"multiserver-architecture\">Multiserver Architecture</h2><p>Hytale supports native mechanisms for routing players between servers. No reverse proxy like BungeeCord is required.</p><h3 id=\"player-referral\">Player Referral</h3><p>Transfers a connected player to another server. The server sends a referral packet containing the target host, port, and an optional 4KB payload. The client opens a new connection to the target and presents the payload during handshake.</p><pre><code class=\"language-auto lang-java\">PlayerRef.referToServer(@Nonnull final String host, final int port, @Nullable byte[] data)</code></pre><blockquote><p><em><strong>⚠️ </strong></em><strong>Security Warning:</strong> The payload is transmitted through the client and can be tampered with. Sign payloads cryptographically (e.g., HMAC with a shared secret) so the receiving server can verify authenticity.</p></blockquote><p><strong>Use cases:</strong> Transferring players between game servers, passing session context, gating access behind matchmaking.</p><blockquote><p><strong>Coming Soon:</strong> Array of targets tried in sequence for fallback connections.</p></blockquote><h3 id=\"connection-redirect\">Connection Redirect</h3><p>During connection handshake, a server can reject the player and redirect them to a different server. The client automatically connects to the redirected address.</p><pre><code class=\"language-auto lang-java\">PlayerSetupConnectEvent.referToServer(@Nonnull final String host, final int port, @Nullable byte[] data)</code></pre><p><strong>Use cases:</strong> Load balancing, regional server routing, enforcing lobby-first connections.</p><h3 id=\"disconnect-fallback\">Disconnect Fallback</h3><p>When a player is unexpectedly disconnected (server crash, network interruption), the client automatically reconnects to a pre-configured fallback server instead of returning to the main menu.</p><p><strong>Use cases:</strong> Returning players to a lobby after game server crash, maintaining engagement during restarts.</p><blockquote><p><strong>Coming Soon:</strong> Fallback packet implementation expected within weeks after Early Access launch.</p></blockquote><h3 id=\"building-a-proxy\">Building a Proxy</h3><p>Build custom proxy servers using <a href=\"https://github.com/netty/netty-incubator-codec-quic\">Netty QUIC</a>. Hytale uses QUIC exclusively for client-server communication.</p><p>Packet definitions and protocol structure are available in <code>HytaleServer.jar</code>:</p><pre class=\"language-auto\">com.hypixel.hytale.protocol.packets</pre><p>Use these to decode, inspect, modify, or forward traffic between clients and backend servers.</p><hr><h2 id=\"h_01KKA5T8868V2F669N6PV763CG\">Auto-Updating</h2><p>The server has a built-in update system that can check for, download, and apply updates automatically.</p><h3 id=\"h_01KKA5XJ3CZ10V9ZBSZT9TB2GP\">How It Works</h3><ol>\n<li data-list-item-id=\"e601ab33a68030efeac6acbf063965471\">The server periodically checks for new versions (default: every hour)</li>\n<li data-list-item-id=\"e0f67df94cfab598923c531ba1330cc02\">When a new version is found, it downloads the update to a staging directory (<code>updater/staging/</code>)</li>\n<li data-list-item-id=\"ea09c44a9aefa2249b51f0e444fcddc90\">When the update is ready to apply, the server shuts down with <strong>exit code 8</strong>\n</li>\n<li data-list-item-id=\"e8865aaf6ca4343765d6ec5a4afda6cfb\"><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHdyYXBwZXIlMjBzY3JpcHQlMjBkZXRlY3RzJTIwZXhpdCUyMGNvZGUlMjA4JTJDJTIwbG9vcHMlMjBiYWNrJTIwdG8lMjB0aGUlMjBzdGFydCUyQyUyMGFwcGxpZXMlMjB0aGUlMjBzdGFnZWQlMjBmaWxlcyUyMChzZWxlY3RpdmVseSUyMHJlcGxhY2luZyUyMG9ubHklMjBzZXJ2ZXIlMjBiaW5hcmllcyUyMGFuZCUyMGFzc2V0cyUyMHdoaWxlJTIwcHJlc2VydmluZyUyMGNvbmZpZyUyQyUyMHNhdmVzJTJDJTIwYW5kJTIwbW9kcyklMkMlMjBhbmQlMjBzdGFydHMlMjB0aGUlMjBuZXclMjB2ZXJzaW9uJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMndWZjJWWGFGS2FZJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIydHV6RmNSNjBtZ2lmJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyalh2MEF5ZVNreDRaJTIyJTdE\">The wrapper script detects exit code 8, loops back to the start, applies the staged files (selectively replacing only server binaries and assets while preserving config, saves, and mods), and starts the new version</span></li>\n</ol><p><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHVwZGF0ZSUyMHN5c3RlbSUyMHJlcXVpcmVzJTIwYSUyMHNwZWNpZmljJTIwZm9sZGVyJTIwbGF5b3V0JTNBJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWlB0OUMzeGhjQzlVJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyVmxpd1FVenVtMjVlJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyV0NYYjV2bnRWMTB2JTIyJTdE\">The update system requires a specific folder layout:</span></p><pre class=\"wysiwyg-code-block\"><code class=\"language-auto\">game/\n├── Assets.zip\n├── start.sh          (or start.bat on Windows)\n├── jvm.options       (optional, custom JVM arguments)\n└── Server/\n    ├── HytaleServer.jar\n    ├── HytaleServer.aot\n    ├── config.json\n    └── ...</code></pre><p>The server must be started from the <code>Server/</code> directory, and the parent directory must contain <code>Assets.zip</code> and the launcher script. If this layout is not detected, the update checker is disabled.</p><p>The easiest way to produce this layout is to install via <a href=\"#bootstrap-from-hytaleserverjar\">Bootstrap from <code>HytaleServer.jar</code></a> - the bootstrap install writes everything into the correct layout on first run. The Hytale Downloader CLI also sets up this layout automatically.</p><p>If you copied files manually and don't have the wrapper scripts, you can generate them from a running server:</p><ul>\n<li data-list-item-id=\"ed48eccc6ab5951d278fefa1de9bc02fb\">\n<code data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:0\"><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\">/update setup</strong></span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:1\"> extracts the embedded wrapper scripts (</span><code data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:2\"><span data-slate-leaf=\"true\">start.sh</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:3\"> and </span><code data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:4\"><span data-slate-leaf=\"true\">start.bat</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-YZRFnSEPZXt7:5\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyRnVwZGF0ZSUyMHNldHVwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMGV4dHJhY3RzJTIwdGhlJTIwZW1iZWRkZWQlMjB3cmFwcGVyJTIwc2NyaXB0cyUyMCglMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnN0YXJ0LnNoJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwYW5kJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJzdGFydC5iYXQlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIpJTIwdG8lMjB0aGUlMjBwYXJlbnQlMjBkaXJlY3RvcnkuJTIwTm8lMjBkb3dubG9hZCUyMHJlcXVpcmVkJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyOVYySW5xNmlUUnc1JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNWJNbjVlYnBtYVhtJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyYm5SalpSbXlHQkcyJTIyJTdE\">) to the parent directory. No download required</span>\n</li>\n<li data-list-item-id=\"e63da1fc06148c8afa14c6fd490ca44dd\">\n<code data-slate-leaf=\"true\" data-offset-key=\"added-JByoxCTYfmLG:0\"><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\">/update download --force</strong></span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-JByoxCTYfmLG:1\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyRnVwZGF0ZSUyMGRvd25sb2FkJTIwLS1mb3JjZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjByZS1kb3dubG9hZHMlMjB0aGUlMjBjdXJyZW50JTIwdmVyc2lvbiUyMHRvJTIwc3RhZ2luZyUyQyUyMGluY2x1ZGluZyUyMHdyYXBwZXIlMjBzY3JpcHRzJTIwYW5kJTIwYXNzZXRzLiUyMFVzZSUyMHRoaXMlMjB3aGVuJTIweW91JTIwYWxzbyUyMHdhbnQlMjBmcmVzaCUyMGNvcGllcyUyMG9mJTIwYWxsJTIwc2VydmVyJTIwZmlsZXMuJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyVlhWbk1UMGpBaE1PJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyczJKV3lJVG1kR2FkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIydHZxTENURE1RV2lvJTIyJTdE\"> re-downloads the current version to staging, including wrapper scripts and assets. Use this when you also want fresh copies of all server files.</span>\n</li>\n</ul><p> </p><h3 id=\"h_01KKA62B4JK403084SDV6A6SJX\"><span data-slate-leaf=\"true\" data-offset-key=\"added-0DfqgeOmlzyp:4\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHNlcnZlciUyMG11c3QlMjBiZSUyMHN0YXJ0ZWQlMjBmcm9tJTIwdGhlJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJTZXJ2ZXIlMkYlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjBkaXJlY3RvcnklMkMlMjBhbmQlMjB0aGUlMjBwYXJlbnQlMjBkaXJlY3RvcnklMjBtdXN0JTIwY29udGFpbiUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyQXNzZXRzLnppcCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMGFuZCUyMHRoZSUyMGxhdW5jaGVyJTIwc2NyaXB0LiUyMElmJTIwdGhpcyUyMGxheW91dCUyMGlzJTIwbm90JTIwZGV0ZWN0ZWQlMkMlMjB0aGUlMjB1cGRhdGUlMjBjaGVja2VyJTIwaXMlMjBkaXNhYmxlZC4lMjBUaGUlMjBIeXRhbGUlMjBEb3dubG9hZGVyJTIwQ0xJJTIwc2V0cyUyMHVwJTIwdGhpcyUyMGxheW91dCUyMGF1dG9tYXRpY2FsbHkuJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNnl0aVFQRkZKbFhvJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWm9maEpLWE5KcmFEJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyelRHT1pOZDdmRHRmJTIyJTdE\">Update Commands</span></h3><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\" style=\"margin-left: 0px; margin-right: auto;\">\n<colgroup>\n<col style=\"width: 40%;\">\n<col style=\"width: 60%;\">\n</colgroup>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Command</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyRnVwZGF0ZSUyMGNoZWNrJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMDYwcmRIN1VmdXJkJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWExScEtkSFdtR0tLJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyS1A4cWRZcDd2WEZ4JTIyJTdE\">/update check</span></code></td>\n<td><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkNoZWNrJTIwZm9yJTIwYXZhaWxhYmxlJTIwdXBkYXRlcyUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyS0tMTlNUOWVmNDdwJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIySlJFeXZMNGY4WUVJJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyUFZtR0RSR2dQWE1YJTIyJTdE\">Check for available updates</span></td>\n</tr>\n<tr>\n<td><code>/update download</code></td>\n<td>Download available update to staging</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyRnVwZGF0ZSUyMGRvd25sb2FkJTIwLS1mb3JjZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjNWRDJXMzlWREVKNiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMksxTEgwQk9zMzBGSiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlJKczdTZG5ZV2xhQiUyMiU3RA==\">/update download --force</span></code></td>\n<td><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkRvd25sb2FkJTIwZXZlbiUyMGlmJTIwYWxyZWFkeSUyMG9uJTIwdGhlJTIwbGF0ZXN0JTIwdmVyc2lvbiUyMCh1c2VmdWwlMjBmb3IlMjBib290c3RyYXBwaW5nJTIwdGhlJTIwdXBkYXRlJTIwbGF5b3V0KSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIySVZtWWJza0VCcVFUJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyekl4SjZDUmM5NkMzJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIycmdibDZ3TDNIZUpWJTIyJTdE\">Download even if already on the latest version (useful for bootstrapping the update layout)</span></td>\n</tr>\n<tr>\n<td><code>/update apply --confirm</code></td>\n<td>Apply staged update (backs up files, then shuts down with exit code 8)</td>\n</tr>\n<tr>\n<td><code>/update cancel</code></td>\n<td>Cancel and delete staged update</td>\n</tr>\n<tr>\n<td><code>/update status</code></td>\n<td>Show current version and update status</td>\n</tr>\n<tr>\n<td><code>/update patchline [name]</code></td>\n<td>Show or set the update patchline</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyRnVwZGF0ZSUyMHNldHVwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIySlVWNlA5aHZHZDFDJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyaEFhY2RNYjVrVVRaJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyYmR3YVVhcEpsUmVwJTIyJTdE\">/update setup</span></code></td>\n<td>\n<span data-offset-key=\"z3H7T7X51bkO:0\">Write the wrapper scripts (</span><code data-slate-leaf=\"true\" data-offset-key=\"z3H7T7X51bkO:1\">start.sh</code><span data-offset-key=\"z3H7T7X51bkO:2\">/</span><code data-slate-leaf=\"true\" data-offset-key=\"z3H7T7X51bkO:3\">start.bat</code><span data-offset-key=\"z3H7T7X51bkO:4\">) to the parent directory. Requires the server to be running from a </span><code data-slate-leaf=\"true\" data-offset-key=\"z3H7T7X51bkO:5\">Server/</code><span data-offset-key=\"z3H7T7X51bkO:6\"> directory (use </span><code data-slate-leaf=\"true\" data-offset-key=\"z3H7T7X51bkO:7\">--force</code><span data-offset-key=\"z3H7T7X51bkO:8\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMldyaXRlJTIwdGhlJTIwd3JhcHBlciUyMHNjcmlwdHMlMjAoJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnN0YXJ0LnNoJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMkYlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyc3RhcnQuYmF0JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIpJTIwdG8lMjB0aGUlMjBwYXJlbnQlMjBkaXJlY3RvcnkuJTIwUmVxdWlyZXMlMjB0aGUlMjBzZXJ2ZXIlMjB0byUyMGJlJTIwcnVubmluZyUyMGZyb20lMjBhJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlNlcnZlciUyRiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwZGlyZWN0b3J5JTIwKHVzZSUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjItLWZvcmNlJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMjB0byUyMG92ZXJyaWRlKSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyVWxYbVBHZzZuWGhoJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNHZWc256c1lYSkVhJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyTlF0aWFkNWpYa0RJJTIyJTdE\"> to override)</span>\n</td>\n</tr>\n</tbody>\n</table></figure><p><span data-slate-leaf=\"true\" data-offset-key=\"added-QyJek7OaQr2m:0\">Updates can be disabled entirely with the </span><code data-slate-leaf=\"true\" data-offset-key=\"added-QyJek7OaQr2m:1\"><span data-slate-leaf=\"true\">HYTALE_DISABLE_UPDATES</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-QyJek7OaQr2m:2\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlVwZGF0ZXMlMjBjYW4lMjBiZSUyMGRpc2FibGVkJTIwZW50aXJlbHklMjB3aXRoJTIwdGhlJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJIWVRBTEVfRElTQUJMRV9VUERBVEVTJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwZW52aXJvbm1lbnQlMjB2YXJpYWJsZS4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJKMlFjbnVUQmp1QVglMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJHZFNuWDNvWDlGa1QlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJSbGZOaUJIQjJxb1ElMjIlN0Q=\"> environment variable.</span></p><p> </p><h3 id=\"h_01KKA6DP5NRV4K2HQJ98FZZMGF\"><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJoZWFkaW5nLTIlMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlVwZGF0ZSUyMENvbmZpZ3VyYXRpb24lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmpmaWFtdE1lcWdOZCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmozTTc3MWRxcWhudSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkVxdHNpam85d2U5eSUyMiU3RA==\">Update Configuration</span></h3><p><span data-slate-leaf=\"true\" data-offset-key=\"added-LObsERkiFasn:0\">Update settings are in </span><code data-slate-leaf=\"true\" data-offset-key=\"added-LObsERkiFasn:1\"><span data-slate-leaf=\"true\">config.json</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-LObsERkiFasn:2\"> under </span><code data-slate-leaf=\"true\" data-offset-key=\"added-LObsERkiFasn:3\"><span data-slate-leaf=\"true\">Update</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-LObsERkiFasn:4\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlVwZGF0ZSUyMHNldHRpbmdzJTIwYXJlJTIwaW4lMjAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMmNvbmZpZy5qc29uJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwdW5kZXIlMjAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlVwZGF0ZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUzQSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjhhZ2JoU0NGTTBHZyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkRkbUlDc1hhaWpGOSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjAzQVZvbGpPRVkwRiUyMiU3RA==\">:</span></p><pre class=\"wysiwyg-code-block\"><code class=\"language-auto\">{\n  \"Update\": {\n    \"Enabled\": true,\n    \"CheckIntervalSeconds\": 3600,\n    \"NotifyPlayersOnAvailable\": true,\n    \"Patchline\": null,\n    \"RunBackupBeforeUpdate\": true,\n    \"BackupConfigBeforeUpdate\": true,\n    \"AutoApplyMode\": \"Disabled\",\n    \"AutoApplyDelayMinutes\": 30\n  }\n}</code></pre><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table class=\"wysiwyg-table-resized\" style=\"margin-left: 0px; margin-right: auto;\">\n<colgroup>\n<col style=\"width: 41%;\">\n<col style=\"width: 17%;\">\n<col style=\"width: 42%;\">\n</colgroup>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Command</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Default</strong></p></th>\n<th>Description</th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkVuYWJsZWQlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJJNXVCc2VKYklPQUIlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJBYnJPVmpnM2NpQlglMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJFR3E2TUFqOUlvTTIlMjIlN0Q=\">Enabled</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnRydWUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJDdkZrUUJreEsxbDAlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJyaGFOQTlqTUxIc1MlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjIxR0NRMEh2UUZZWkolMjIlN0Q=\">true</span></code></td>\n<td>Enable automatic update checks</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkNoZWNrSW50ZXJ2YWxTZWNvbmRzJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIycUQyTWFvOHQ1N25qJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIybklTdU5IaWdNa0k0JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyaGJEdTR4SlAxSjVIJTIyJTdE\">CheckIntervalSeconds</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMjM2MDAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJScUJBY0cyV25hWGklMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJySXlseU1ISjh0dEYlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJmdHgzcUQya0JEb08lMjIlN0Q=\">3600</span></code></td>\n<td>Seconds between update checks</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMk5vdGlmeVBsYXllcnNPbkF2YWlsYWJsZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkVVeEVzOEptQjBSUyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmZyMUhPc0FxR2cxTyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkpiRThlMXlSSHdqeCUyMiU3RA==\">NotifyPlayersOnAvailable</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnRydWUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjIwSktPbVBQRmdlbUElMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJ2aTZwcWhYQXZyTEYlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJzY2xud0dMd3FnbXAlMjIlN0Q=\">true</span></code></td>\n<td>Notify players with permission when an update is available</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlBhdGNobGluZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnFhR2U5UjNWZlZUQiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMm5wTGZiVmZOcmdmMyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlFjb2hKWDRoSlNtNSUyMiU3RA==\">Patchline</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMm51bGwlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJHTzA4T09yZnJoM0glMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJzTHdhMUNZUWdvWnQlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJTcDl0cDNVNllyODIlMjIlN0Q=\">null</span></code></td>\n<td>Override the update patchline (defaults to the build's patchline, usually <code>release</code>)</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlJ1bkJhY2t1cEJlZm9yZVVwZGF0ZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjVZc0s1SG1LWm9lWCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkF1ZlV1U2FSbmdZUSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmwwWGFBUzZoN0pnciUyMiU3RA==\">RunBackupBeforeUpdate</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnRydWUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJhRVI3VGJvRERDOHMlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJaVU5LdnRxOFdGV1UlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJkT2d2aTEweWxWY1olMjIlN0Q=\">true</span></code></td>\n<td><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlJ1biUyMGElMjBmdWxsJTIwc2VydmVyJTIwYmFja3VwJTIwYmVmb3JlJTIwYXBwbHlpbmclMjBhbiUyMHVwZGF0ZSUyMChyZXF1aXJlcyUyMGJhY2t1cCUyMGRpcmVjdG9yeSUyMHRvJTIwYmUlMjBjb25maWd1cmVkKSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyRzNUSEJPMUEybDQ5JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIydExHMG96b3BuMHpmJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWmV3cmxFRUh3MVJ4JTIyJTdE\">Run a full server backup before applying an update (requires backup directory to be configured)</span></td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkJhY2t1cENvbmZpZ0JlZm9yZVVwZGF0ZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnhjMEc3YUNnSzgzMCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnRFQThIMjVOVHdXTCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkRFcU1iZEM1cXdEVyUyMiU3RA==\">BackupConfigBeforeUpdate</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnRydWUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJkU3d0Tm1wc2x0RVAlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJEbzVGNDhGNzFZNUklMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJJSEpNTkpBRHNnUk0lMjIlN0Q=\">true</span></code></td>\n<td>\n<span data-offset-key=\"rYm1n16lljkh:0\">Backup config files (</span><code data-slate-leaf=\"true\" data-offset-key=\"rYm1n16lljkh:1\">config.json</code><span data-offset-key=\"rYm1n16lljkh:2\">, </span><code data-slate-leaf=\"true\" data-offset-key=\"rYm1n16lljkh:3\">permissions.json</code><span data-offset-key=\"rYm1n16lljkh:4\">, </span><code data-slate-leaf=\"true\" data-offset-key=\"rYm1n16lljkh:5\">bans.json</code><span data-offset-key=\"rYm1n16lljkh:6\">, </span><code data-slate-leaf=\"true\" data-offset-key=\"rYm1n16lljkh:7\">whitelist.json</code><span data-offset-key=\"rYm1n16lljkh:8\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkJhY2t1cCUyMGNvbmZpZyUyMGZpbGVzJTIwKCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJjb25maWcuanNvbiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTJDJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnBlcm1pc3Npb25zLmpzb24lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyQyUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJiYW5zLmpzb24lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyQyUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjJ3aGl0ZWxpc3QuanNvbiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyKSUyMGJlZm9yZSUyMGFwcGx5aW5nJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI4Z3NwRXlvN2ZEbWQlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI3ZUVBY3E0QUhubW4lMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJnT2xwZkdWZEZNOGMlMjIlN0Q=\">) before applying</span>\n</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkF1dG9BcHBseU1vZGUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyY29kZSUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJsQXJVc25CZzUzd0slMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJvMHpjZ2dYczRaWUUlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI5VU5WOW14VWhkQWolMjIlN0Q=\">AutoApplyMode</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkRpc2FibGVkJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIydmc5eXFRVHlvcFRTJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyU3JhbGxDdnBzazJGJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWTY0Y1VieTNRU3A3JTIyJTdE\">Disabled</span></code></td>\n<td><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkhvdyUyMHRvJTIwYXV0by1hcHBseSUyMHN0YWdlZCUyMHVwZGF0ZXMuJTIwU2VlJTIwYmVsb3clMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMllzNXVxak1JV1NhNiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlRYZDliR21FUnY4WSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjZHbThmQ2tZV3pYZCUyMiU3RA==\">How to auto-apply staged updates. See below</span></td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkF1dG9BcHBseURlbGF5TWludXRlcyUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkVTVzdLUjlJTGYzTCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnpMeWxXcHlTN0t0VyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMk81ZXhsbG4xYWdUciUyMiU3RA==\">AutoApplyDelayMinutes</span></code></td>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMjMwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIydXh1SHQ5VGNzcE12JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIySEpjWUs2dGx1cFd0JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyRER1azU4SXh2cTJFJTIyJTdE\">30</span></code></td>\n<td>\n<span data-offset-key=\"uTDBfVikNtiv:0\">Minutes to wait before applying in </span><code data-slate-leaf=\"true\" data-offset-key=\"uTDBfVikNtiv:1\">Scheduled</code><span data-offset-key=\"uTDBfVikNtiv:2\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMk1pbnV0ZXMlMjB0byUyMHdhaXQlMjBiZWZvcmUlMjBhcHBseWluZyUyMGluJTIwJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlNjaGVkdWxlZCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwbW9kZSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWDdMNWdCV2ZORm5aJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNTFMcmdIbUNNMm9mJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIycGlvc09JOVdjaWVWJTIyJTdE\"> mode</span>\n</td>\n</tr>\n</tbody>\n</table></figure><p> </p><p><strong>AutoApplyMode options:</strong></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table style=\"margin-left: 0px; margin-right: auto;\">\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Mode</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Behavior</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkRpc2FibGVkJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyc2NpNGh3bndwNDN6JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyQW5wOFRSQ1B4M1JWJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNTFqZGE2MlY1VDYxJTIyJTdE\">Disabled</span></code></td>\n<td>\n<span data-offset-key=\"K0fbtcJef5jN:0\">Never auto-apply. Requires manual </span><code data-slate-leaf=\"true\" data-offset-key=\"K0fbtcJef5jN:1\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMk5ldmVyJTIwYXV0by1hcHBseS4lMjBSZXF1aXJlcyUyMG1hbnVhbCUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTVEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybGVhZiUyMiUyQyUyMnRleHQlMjIlM0ElMjIlMkZ1cGRhdGUlMjBhcHBseSUyMC0tY29uZmlybSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlYxTnJzdGpQdTI0dSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnJNMWpLMkxLc08yYSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlJmSXl1aGhHYU5tYiUyMiU3RA==\">/update apply --confirm</code>\n</td>\n</tr>\n<tr>\n<td><code><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMldoZW5FbXB0eSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmRrUTk1NnM1T3dDbSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnNaWVhQelp5ejhvUSUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMnJUMFFUNGhZSUxuMSUyMiU3RA==\">WhenEmpty</span></code></td>\n<td><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkFwcGx5JTIwYXV0b21hdGljYWxseSUyMHdoZW4lMjBubyUyMHBsYXllcnMlMjBhcmUlMjBvbmxpbmUlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmI4Umd0aUFLRkZ4SyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMlJHOUdyZEFjUU1MNCUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmJJWnpMZ3NRcGtPRyUyMiU3RA==\">Apply automatically when no players are online</span></td>\n</tr>\n<tr>\n<td><code>Scheduled</code></td>\n<td>Apply after AutoApplyDelayMinutes even with players online, warning them periodically</td>\n</tr>\n</tbody>\n</table></figure><h3 id=\"h_01KKA7AZFS3RZ5HBHPN6CHWV6Q\"> </h3><h3 id=\"h_01KKA90X19VP67708SZ3NH4H9M\">Wrapper Scripts</h3><div><div><div data-key=\"TJriZHCwc3iF\"><div><div><div data-key=\"bjtnY84B8XNs\"><div data-block-content=\"bjtnY84B8XNs\"><span data-key=\"added-Ynra5S4IERtl\" data-slate-leaf=\"true\" data-offset-key=\"added-Ynra5S4IERtl:0\">The server does not restart itself. When an update is applied, the server shuts down with exit code 8. The wrapper scripts included with the server detect this exit code and apply the staged files before restarting.</span></div></div></div></div></div></div></div><div data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWJsb2NrJTIyJTJDJTIyaXNWb2lkJTIyJTNBZmFsc2UlMkMlMjJkYXRhJTIyJTNBJTdCJTIydHlwZSUyMiUzQSUyMmFkZGVkJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHNlcnZlciUyMGRvZXMlMjBub3QlMjByZXN0YXJ0JTIwaXRzZWxmLiUyMFdoZW4lMjBhbiUyMHVwZGF0ZSUyMGlzJTIwYXBwbGllZCUyQyUyMHRoZSUyMHNlcnZlciUyMHNodXRzJTIwZG93biUyMHdpdGglMjBleGl0JTIwY29kZSUyMDguJTIwVGhlJTIwd3JhcHBlciUyMHNjcmlwdHMlMjBpbmNsdWRlZCUyMHdpdGglMjB0aGUlMjBzZXJ2ZXIlMjBkZXRlY3QlMjB0aGlzJTIwZXhpdCUyMGNvZGUlMjBhbmQlMjBhcHBseSUyMHRoZSUyMHN0YWdlZCUyMGZpbGVzJTIwYmVmb3JlJTIwcmVzdGFydGluZy4lMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJMM1N4blZGb21FY0ElMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJNNUxNcU9ybTJjM0olMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJXR0g1RmxkS3g5clQlMjIlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWJsb2NrJTIyJTJDJTIyaXNWb2lkJTIyJTNBZmFsc2UlMkMlMjJkYXRhJTIyJTNBJTdCJTIydHlwZSUyMiUzQSUyMmFkZGVkJTIyJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHdyYXBwZXIlMjBzY3JpcHRzJTIwYXJlJTIwaW5jbHVkZWQlMjBpbiUyMHRoZSUyMHNlcnZlciUyMGRvd25sb2FkJTIwYW5kJTIwYXJlJTIwYWxzbyUyMHVwZGF0ZWQlMjBkdXJpbmclMjBzZWxmLXVwZGF0ZXMuJTIwVGhleSUyMHByb3ZpZGUlM0ElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJhZGRlZC1mZEdNNXk4Wnk3TEYlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjI4clI1dkxsVnRaTkwlMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJTcUhpWmZQWkJSQ1klMjIlN0QlNUQlMkMlMjJrZXklMjIlM0ElMjJyTVFzSTFFVHBtdlolMjIlN0Q=\"><div><div data-key=\"SqHiZfPZBRCY\">\n<div role=\"status\" aria-live=\"polite\" aria-label=\"Added\" data-hide-on-drag=\"true\"><div tabindex=\"0\"> </div></div>\n<div><div><div data-key=\"8rR5vLlVtZNL\"><div data-block-content=\"8rR5vLlVtZNL\"><span data-key=\"added-fdGM5y8Zy7LF\" data-slate-leaf=\"true\" data-offset-key=\"added-fdGM5y8Zy7LF:0\">The wrapper scripts are included in the server download and are also updated during self-updates. They provide:</span></div></div></div></div>\n</div></div></div><ul>\n<li data-list-item-id=\"eb0e0061540cfef21cd0538d0ccea3bd8\">\n<span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-4l0VAeDFO8dR:0\">Staged update application</strong></span><span data-slate-leaf=\"true\" data-offset-key=\"added-4l0VAeDFO8dR:1\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlN0YWdlZCUyMHVwZGF0ZSUyMGFwcGxpY2F0aW9uJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwYXQlMjB0aGUlMjBzdGFydCUyMG9mJTIwZWFjaCUyMGxhdW5jaCUyMGN5Y2xlJTIwKHNlbGVjdGl2ZSUyMGZpbGUlMjByZXBsYWNlbWVudCUyMHRoYXQlMjBwcmVzZXJ2ZXMlMjBjb25maWclMkMlMjBzYXZlcyUyQyUyMGFuZCUyMG1vZHMpJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyNGhqa2U1T01Ud0FiJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWmJ0Znk0ZGgyUHFjJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMnNBWjVYWnNZZnNuJTIyJTdE\"> at the start of each launch cycle (selective file replacement that preserves config, saves, and mods)</span>\n</li>\n<li data-list-item-id=\"ec026b378f7e7392c10d005c2d8496825\">\n<span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:0\">Custom JVM arguments</strong></span><span data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:1\"> via a </span><code data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:2\"><span data-slate-leaf=\"true\">jvm.options</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:3\"> file (one argument per line, supports comments with </span><code data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:4\"><span data-slate-leaf=\"true\">#</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-stU0hXRzLzjZ:5\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkN1c3RvbSUyMEpWTSUyMGFyZ3VtZW50cyUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiUyMHZpYSUyMGElMjAlMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMmp2bS5vcHRpb25zJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIwZmlsZSUyMChvbmUlMjBhcmd1bWVudCUyMHBlciUyMGxpbmUlMkMlMjBzdXBwb3J0cyUyMGNvbW1lbnRzJTIwd2l0aCUyMCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyJTIzJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmNvZGUlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyKSUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMk9BUTNxTFNnZ2F1RyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmNuejgweDd0OFc4NyUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMjBST2xweE44bXJVTSUyMiU3RA==\">)</span>\n</li>\n<li data-list-item-id=\"edb2ecc154a5080b8442a93d88b6a2fbf\">\n<span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-rc44tdJ2QS5f:0\">Default backup settings</strong></span><span data-slate-leaf=\"true\" data-offset-key=\"added-rc44tdJ2QS5f:1\"> (</span><code data-slate-leaf=\"true\" data-offset-key=\"added-rc44tdJ2QS5f:2\"><span data-slate-leaf=\"true\">--backup --backup-dir backups --backup-frequency 30</span></code><span data-slate-leaf=\"true\" data-offset-key=\"added-rc44tdJ2QS5f:3\">)</span>\n</li>\n<li data-list-item-id=\"e51231c6eae74bfb5d7a0a00016e8e601\">\n<span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-FDFGLPwL8NEy:0\">Post-update crash detection</strong></span><span data-slate-leaf=\"true\" data-offset-key=\"added-FDFGLPwL8NEy:1\"> with rollback instructions if the server crashes shortly after an update</span>\n</li>\n</ul><p><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-3o1Sbgm49U7y:0\">Linux (</strong></span><code data-slate-leaf=\"true\" data-offset-key=\"added-3o1Sbgm49U7y:1\"><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\">start.sh</strong></span></code><span data-slate-leaf=\"true\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMkxpbnV4JTIwKCUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJib2xkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMnN0YXJ0LnNoJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiklM0ElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyMG9JYVdkQlVnaUh5JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyTUdKblZwTU9nejF2JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyeGhiMUtySDRwS1hZJTIyJTdE\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-3o1Sbgm49U7y:2\">):</strong></span></p><pre class=\"wysiwyg-code-block\"><code class=\"language-auto\">#!/bin/bash\n# Hytale Server Launcher\n# This script handles staged updates and starts the server with default arguments.\n#\n# CUSTOM JVM ARGUMENTS\n# --------------------\n# To customize JVM arguments (e.g., memory settings), create a file named\n# \"jvm.options\" in the same directory as this script. One argument per line.\n# Lines starting with # are comments.\n#\n# Example jvm.options:\n#   -Xms2G\n#   -Xmx4G\n#   -XX:+UseG1GC\n\nSCRIPT_DIR=\"$(cd \"$(dirname \"$0\")\" &amp;&amp; pwd)\"\ncd \"$SCRIPT_DIR\"\n\nwhile true; do\n    APPLIED_UPDATE=false\n\n    # Apply staged update if present\n    if [ -f \"updater/staging/Server/HytaleServer.jar\" ]; then\n        echo \"[Launcher] Applying staged update...\"\n        # Only replace update files, preserve config/saves/mods\n        cp -f updater/staging/Server/HytaleServer.jar Server/\n        [ -d \"updater/staging/Server/Licenses\" ] &amp;&amp; rm -rf Server/Licenses &amp;&amp; cp -r updater/staging/Server/Licenses Server/\n        [ -f \"updater/staging/Assets.zip\" ] &amp;&amp; cp -f updater/staging/Assets.zip ./\n        [ -f \"updater/staging/start.sh\" ] &amp;&amp; cp -f updater/staging/start.sh ./\n        [ -f \"updater/staging/start.bat\" ] &amp;&amp; cp -f updater/staging/start.bat ./\n        rm -rf updater/staging\n        APPLIED_UPDATE=true\n    fi\n\n    # Run server from inside Server/ folder so config/backups/etc. are generated there\n    cd Server\n\n    # Load custom JVM arguments from jvm.options if it exists (uses JVM's @-file syntax)\n    JVM_OPTS=\"\"\n    [ -f \"../jvm.options\" ] &amp;&amp; JVM_OPTS=\"@../jvm.options\"\n\n    # Default server arguments\n    # --assets: Assets.zip is in parent directory\n    # --backup: Enable periodic backups like singleplayer\n    DEFAULT_ARGS=\"--assets ../Assets.zip --backup --backup-dir backups --backup-frequency 30\"\n\n    # Start server and track time\n    START_TIME=$(date +%s)\n    java $JVM_OPTS -jar HytaleServer.jar $DEFAULT_ARGS \"$@\"\n    EXIT_CODE=$?\n    ELAPSED=$(( $(date +%s) - START_TIME ))\n\n    # Return to script dir for next iteration\n    cd \"$SCRIPT_DIR\"\n\n    # Exit code 8 = restart for update\n    if [ $EXIT_CODE -eq 8 ]; then\n        echo \"[Launcher] Restarting to apply update...\"\n        continue\n    fi\n\n    # Warn on crash shortly after update\n    if [ $EXIT_CODE -ne 0 ] &amp;&amp; [ \"$APPLIED_UPDATE\" = true ] &amp;&amp; [ $ELAPSED -lt 30 ]; then\n        echo \"\"\n        echo \"[Launcher] ERROR: Server exited with code $EXIT_CODE within ${ELAPSED}s of starting.\"\n        echo \"[Launcher] This may indicate the update failed to start correctly.\"\n        echo \"[Launcher]\"\n        echo \"[Launcher] Your previous files are in the updater/backup/ folder.\"\n        echo \"[Launcher] To rollback: delete Server/ and Assets.zip, then move from updater/backup/\"\n        echo \"\"\n        # Only prompt if running interactively (has terminal)\n        if [ -t 0 ]; then\n            read -p \"Press Enter to exit...\"\n        fi\n    fi\n\n    exit $EXIT_CODE\ndone</code></pre><p><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-eGJTSkL7pdeJ:0\">Windows (</strong></span><code data-slate-leaf=\"true\" data-offset-key=\"added-eGJTSkL7pdeJ:1\"><span data-slate-leaf=\"true\"><strong data-slate-leaf=\"true\">start.bat</strong></span></code><span data-slate-leaf=\"true\" data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMldpbmRvd3MlMjAoJTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMmxlYWYlMjIlMkMlMjJ0ZXh0JTIyJTNBJTIyc3RhcnQuYmF0JTIyJTJDJTIybWFya3MlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmJvbGQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTJDJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCUyQyU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyZGlmZi1hZGRlZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlNUQlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMiklM0ElMjIlMkMlMjJtYXJrcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMm1hcmslMjIlMkMlMjJ0eXBlJTIyJTNBJTIyYm9sZCUyMiUyQyUyMmRhdGElMjIlM0ElN0IlN0QlN0QlMkMlN0IlMjJvYmplY3QlMjIlM0ElMjJtYXJrJTIyJTJDJTIydHlwZSUyMiUzQSUyMmRpZmYtYWRkZWQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTdEJTVEJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyRFVuUDlHeWV1eW9qJTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIyWXFoOTJVUEdhTWZ6JTIyJTdEJTVEJTJDJTIya2V5JTIyJTNBJTIybWVhWW9QR2VGMWQ1JTIyJTdE\"><strong data-slate-leaf=\"true\" data-offset-key=\"added-eGJTSkL7pdeJ:2\">):</strong></span></p><pre class=\"wysiwyg-code-block\"><code class=\"language-auto\">@echo off\nrem Hytale Server Launcher\nrem This script handles staged updates and starts the server with default arguments.\nrem\nrem CUSTOM JVM ARGUMENTS\nrem --------------------\nrem To customize JVM arguments (e.g., memory settings), create a file named\nrem \"jvm.options\" in the same directory as this script. One argument per line.\nrem Lines starting with # are comments.\nrem\nrem Example jvm.options:\nrem   -Xms2G\nrem   -Xmx4G\nrem   -XX:+UseG1GC\n\nset SCRIPT_DIR=%~dp0\ncd /d \"%SCRIPT_DIR%\"\n\n:start\nset APPLIED_UPDATE=0\n\nrem Apply staged update if present (from script dir)\ncd /d \"%SCRIPT_DIR%\"\nif exist updater\\staging\\Server\\HytaleServer.jar (\n    echo [Launcher] Applying staged update...\n    rem Only replace update files, preserve config/saves/mods\n    copy /y updater\\staging\\Server\\HytaleServer.jar Server\\ &gt;nul\n    if exist updater\\staging\\Server\\Licenses rmdir /s /q Server\\Licenses 2&gt;nul &amp; xcopy /s /e /i /y updater\\staging\\Server\\Licenses Server\\Licenses &gt;nul\n    if exist updater\\staging\\Assets.zip copy /y updater\\staging\\Assets.zip .\\ &gt;nul\n    if exist updater\\staging\\start.bat copy /y updater\\staging\\start.bat .\\ &gt;nul\n    if exist updater\\staging\\start.sh copy /y updater\\staging\\start.sh .\\ &gt;nul\n    rmdir /s /q updater\\staging 2&gt;nul\n    set APPLIED_UPDATE=1\n)\n\nrem Run server from inside Server/ folder so config/backups/etc. are generated there\ncd Server\n\nrem Load custom JVM arguments from jvm.options if it exists (uses JVM's @-file syntax)\nset JVM_OPTS=\nif exist ..\\jvm.options set JVM_OPTS=@..\\jvm.options\n\nrem Default server arguments\nrem --assets: Assets.zip is in parent directory\nrem --backup: Enable periodic backups like singleplayer\nset DEFAULT_ARGS=--assets ../Assets.zip --backup --backup-dir backups --backup-frequency 30\n\nrem Start server\njava %JVM_OPTS% -jar HytaleServer.jar %DEFAULT_ARGS% %*\nset EXIT_CODE=%ERRORLEVEL%\n\nrem Return to script dir\ncd /d \"%SCRIPT_DIR%\"\n\nrem Handle exit code 8 (restart for update)\nif %EXIT_CODE%==8 goto :start\n\nrem Warn on crash after update (batch timing is limited, so warn on any post-update crash)\nif %EXIT_CODE% NEQ 0 if %APPLIED_UPDATE%==1 (\n    echo.\n    echo [Launcher] ERROR: Server exited with code %EXIT_CODE% after update.\n    echo [Launcher] This may indicate the update failed to start correctly.\n    echo [Launcher]\n    echo [Launcher] Your previous files are in the updater/backup/ folder.\n    echo [Launcher] To rollback: delete Server/ and Assets.zip, then move from updater/backup/\n    echo.\n    pause\n)\n\nexit /b %EXIT_CODE%</code></pre><p><span data-slate-fragment=\"JTdCJTIyb2JqZWN0JTIyJTNBJTIyZG9jdW1lbnQlMjIlMkMlMjJkYXRhJTIyJTNBJTdCJTdEJTJDJTIybm9kZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJibG9jayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJwYXJhZ3JhcGglMjIlMkMlMjJpc1ZvaWQlMjIlM0FmYWxzZSUyQyUyMmRhdGElMjIlM0ElN0IlN0QlMkMlMjJub2RlcyUyMiUzQSU1QiU3QiUyMm9iamVjdCUyMiUzQSUyMnRleHQlMjIlMkMlMjJsZWF2ZXMlMjIlM0ElNUIlN0IlMjJvYmplY3QlMjIlM0ElMjJsZWFmJTIyJTJDJTIydGV4dCUyMiUzQSUyMlRoZSUyMHNjcmlwdHMlMjBvbmx5JTIwcmVzdGFydCUyMG9uJTIwZXhpdCUyMGNvZGUlMjA4JTIwKHVwZGF0ZSkuJTIwQW55JTIwb3RoZXIlMjBleGl0JTIwY29kZSUyMChub3JtYWwlMjBzaHV0ZG93biUyQyUyMGNyYXNoJTJDJTIwZXRjLiklMjBzdG9wcyUyMHRoZSUyMGxvb3AuJTIwSWYlMjB0aGUlMjBzZXJ2ZXIlMjBjcmFzaGVzJTIwc2hvcnRseSUyMGFmdGVyJTIwYW4lMjB1cGRhdGUlMjB3YXMlMjBhcHBsaWVkJTJDJTIwdGhlJTIwc2NyaXB0JTIwd2FybnMlMjB5b3UlMjBhbmQlMjBwb2ludHMlMjB0byUyMHRoZSUyMGJhY2t1cCUyMGRpcmVjdG9yeSUyMGZvciUyMHJvbGxiYWNrLiUyMiUyQyUyMm1hcmtzJTIyJTNBJTVCJTdCJTIyb2JqZWN0JTIyJTNBJTIybWFyayUyMiUyQyUyMnR5cGUlMjIlM0ElMjJkaWZmLWFkZGVkJTIyJTJDJTIyZGF0YSUyMiUzQSU3QiU3RCU3RCU1RCU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkNKbGg4SHl4ckVtViUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMkZUZnFoaU42VTJWTiUyMiU3RCU1RCUyQyUyMmtleSUyMiUzQSUyMmtvcnZLWmlDdzZtbyUyMiU3RA==\">The scripts only restart on exit code 8 (update). Any other exit code (normal shutdown, crash, etc.) stops the loop. If the server crashes shortly after an update was applied, the script warns you and points to the backup directory for rollback.</span></p><hr><h2 id=\"misc-details\">Misc Details</h2><h3 id=\"java-command-line-arguments\">Java Command-Line Arguments</h3><p>See <a href=\"https://www.baeldung.com/jvm-parameters\">Guide to the Most Important JVM Parameters</a> for topics like <code>-Xms</code> and <code>-Xmx</code> to control heap size.</p><h3 id=\"protocol-updates\">Protocol Updates</h3><p>The Hytale protocol uses a hash to verify client-server compatibility. If hashes don't match exactly, the connection is rejected.</p><blockquote>\n<p><strong>Current Limitation:</strong> Client and server must be on the exact same protocol version. When we release an update, servers must update immediately or players on the new version cannot connect.</p>\n<p><strong>Coming Soon:</strong> Protocol tolerance allowing ±2 version difference between client and server. Server operators will have a window to update without losing player connectivity.</p>\n</blockquote><h3 id=\"configuration-files\">Configuration Files</h3><p>Configuration files (<code>config.json</code>, <code>permissions.json</code>, etc.) are read on server startup and written to when in-game actions occur (e.g., assigning permissions via commands). Manual changes while the server is running are likely to be overwritten.</p><h3 id=\"maven-central-artifact\">Maven Artifact</h3><p>The HytaleServer jar will be published to a maven repository for use as a dependency in modding projects.</p><p>Add the repository to your pom.xml:</p><pre class=\"wysiwyg-code-block\"><code class=\"language-auto\">&lt;repositories&gt;\n    &lt;!-- Hytale release repository --&gt;\n    &lt;repository&gt;\n        &lt;id&gt;hytale-release&lt;/id&gt;\n        &lt;url&gt;https://maven.hytale.com/release&lt;/url&gt;\n    &lt;/repository&gt;\n    &lt;!-- Hytale pre-release repository --&gt;\n    &lt;repository&gt;\n        &lt;id&gt;hytale-pre-release&lt;/id&gt;\n        &lt;url&gt;https://maven.hytale.com/pre-release&lt;/url&gt;\n    &lt;/repository&gt;\n&lt;/repositories&gt;</code></pre><p>Add the dependency to your pom.xml:</p><pre><code class=\"language-auto lang-xml\">&lt;dependency&gt;\n    &lt;groupId&gt;com.hypixel.hytale&lt;/groupId&gt;\n    &lt;artifactId&gt;Server&lt;/artifactId&gt;\n    &lt;!-- Replace with latest version, we provide jars for the last five releases --&gt;\n    &lt;version&gt;2026.01.22-6f8bdbdc4&lt;/version&gt;\n&lt;/dependency&gt;</code></pre><p>The latest version can be found on: </p><ul>\n<li data-list-item-id=\"e69972d33f86ae370174f8ca4294257a3\">Release: https://maven.hytale.com/release/com/hypixel/hytale/Server/maven-metadata.xml</li>\n<li data-list-item-id=\"eea3455c7cf00de52cdcb35c5e0b0a20c\">Pre-Release: https://maven.hytale.com/pre-release/com/hypixel/hytale/Server/maven-metadata.xml</li>\n</ul><hr><h2 id=\"future-additions\">Future Additions</h2><h3 id=\"server-minigame-discovery\">Server &amp; Minigame Discovery</h3><p>A discovery catalogue accessible from the main menu where players can browse and find servers and minigames. Server operators can opt into the catalogue to promote their content directly to players.</p><p><strong>Requirements for listing:</strong></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\">Requirement</p></th>\n<th><p class=\"wysiwyg-text-align-center\">Description</p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><strong>Server Operator Guidelines</strong></td>\n<td>Servers must adhere to operator guidelines and community standards</td>\n</tr>\n<tr>\n<td><strong>Self-Rating</strong></td>\n<td>Operators must accurately rate their server content. Ratings power content filtering and parental controls</td>\n</tr>\n<tr>\n<td><strong>Enforcement</strong></td>\n<td>Servers violating their self-rating are subject to enforcement actions per server operator policies</td>\n</tr>\n</tbody>\n</table></figure><p><strong>Player Count Verification:</strong></p><p>Player counts displayed in server discovery are gathered from client telemetry rather than server-reported data. This prevents count spoofing and ensures players can trust the numbers they see when browsing servers. Servers will still be able to report an unverified player count to users, who added the server outside of server discovery.</p><h3 id=\"parties\">Parties</h3><p>A party system enabling players to group up and stay together across server transfers and minigame queues.</p><p><strong>Integration with server discovery:</strong></p><p>Players can browse servers with their party and join together. Party size requirements and restrictions are visible before joining, so groups know upfront if they can play together.</p><p>This system provides the foundation for a seamless social experience where friends can move through the Hytale ecosystem as a group without manual coordination.</p><h3 id=\"integrated-payment-system\">Integrated Payment System</h3><p>A payment gateway built into the client that servers can use to accept payments from players. Optional but encouraged.</p><p><strong>Benefits for server operators:</strong></p><ul>\n<li data-list-item-id=\"ef0d251ae5876d7dc3960be6e91a8ee31\">Accept payments without handling payment details or building infrastructure</li>\n<li data-list-item-id=\"e64933dce4043cfe6290f695a60140d81\">Transactions processed through a trusted, secure system</li>\n</ul><p><strong>Benefits for players:</strong></p><ul>\n<li data-list-item-id=\"eb9548355dd5fcfc0414f168004050932\">No need to visit external websites</li>\n<li data-list-item-id=\"e83dea67bb83692cf64a453996b453f13\">All transactions are secure and traceable</li>\n<li data-list-item-id=\"eb3a1354464c55012699f3cf5ddca62e6\">Payment information stays within the Hytale ecosystem</li>\n</ul><h3 id=\"srv-record-support\">SRV Record Support</h3><p>SRV records allow players to connect using a domain name (e.g., <code>play.example.com</code>) without specifying a port, with DNS handling the lookup to resolve the actual server address and port.</p><p><strong>Current Status:</strong> Unsupported. Under evaluation.</p><p><strong>Why it's not available yet:</strong></p><p>There is no battle-tested C# library for SRV record resolution. Existing options either require pulling in a full DNS client implementation, which introduces unnecessary complexity and potential stability risks, or lack the production readiness we require for a core networking feature.</p><p>We are evaluating alternatives and will revisit this when a suitable solution exists.</p><h3 id=\"first-party-api-endpoints\">First-Party API Endpoints</h3><p>Authenticated servers will have access to official API endpoints for player data, versioning, and server operations. These endpoints reduce the need for third-party services and provide authoritative data directly from Hytale.</p><p><strong>Planned Endpoints:</strong></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Endpoint</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td><strong>UUID ↔ Name Lookup</strong></td>\n<td>Resolve player names to UUIDs and vice versa. Supports single and bulk lookups</td>\n</tr>\n<tr>\n<td><strong>Game Version</strong></td>\n<td>Query current game version, protocol version, and check for updates</td>\n</tr>\n<tr>\n<td><strong>Player Profile</strong></td>\n<td>Fetch player profile data including cosmetics, avatar renders, and public profile information</td>\n</tr>\n<tr>\n<td><strong>Server Telemetry</strong></td>\n<td>Report server status, player count, and metadata for discovery integration</td>\n</tr>\n<tr>\n<td><strong>Report</strong></td>\n<td>Report players for ToS violations</td>\n</tr>\n<tr>\n<td><strong>Payments</strong></td>\n<td>Process payments using our built-in payment gate</td>\n</tr>\n</tbody>\n</table></figure><p><strong>Under Consideration:</strong></p><figure class=\"wysiwyg-table\" style=\"width: 100%;\"><table>\n<thead><tr>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Endpoint</strong></p></th>\n<th><p class=\"wysiwyg-text-align-center\"><strong>Description</strong></p></th>\n</tr></thead>\n<tbody>\n<tr>\n<td>Global Sanctions</td>\n<td>Query whether a player has platform-level sanctions (not server-specific bans)</td>\n</tr>\n<tr>\n<td>Friends List</td>\n<td>Retrieve a player's friends list (with appropriate permissions) for social features</td>\n</tr>\n<tr>\n<td>Webhook Subscriptions</td>\n<td>Subscribe to push notifications for events like player name changes or sanction updates</td>\n</tr>\n</tbody>\n</table></figure><p><strong>Design Goals:</strong></p><ul>\n<li data-list-item-id=\"e347d9ff7f5157999877e053fddec40ad\">\n<strong>Generous rate limits:</strong> Bulk endpoints and caching-friendly responses to support large networks</li>\n<li data-list-item-id=\"e23c08d8afff3a42786ca3fbf13ac52a9\">\n<strong>Authenticated access:</strong> All endpoints require server authentication to prevent abuse</li>\n<li data-list-item-id=\"ed36fdfcb13ba01ec00f9e728d48f085a\">\n<strong>Versioned API:</strong> Stable contracts with deprecation windows for breaking changes</li>\n</ul>"}}