Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Don’t Starve Together dedicated servers do not provide a built-in auto-update or scheduled-restart switch. To keep a server current, run SteamCMD from an external script, schedule that script with cron on Linux or a Windows scheduler, and restart the server so downloaded game and Workshop files are loaded. Mods listed in dedicated_server_mods_setup.lua are refreshed at startup; downloading a mod alone does not enable it.

What “auto-update” means for a DST server

There are three separate jobs that are often incorrectly treated as one:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Update the game files: SteamCMD checks the dedicated-server installation and downloads newer files.
  • Update Workshop mods: the server obtains the mods listed in dedicated_server_mods_setup.lua when it starts.
  • Restart the process: the running server does not apply newly downloaded game or mod files until it is started again.

Community guidance indicates that none of these jobs is controlled by a built-in DST server scheduler. The usual design is therefore an external wrapper that stops the server, runs SteamCMD, starts the server again, and records whether each step succeeded. A watchdog can be added to relaunch a crashed process, but crash recovery is not the same as checking for a new game build.

Before automating anything

Confirm how this server is launched

Write down the command, script, service unit, container entry point, or control-panel action that currently starts each shard. A DST installation commonly has a Master shard and may also have a Caves shard. Your update wrapper must stop and start the same process that an administrator would use manually; starting a second copy can corrupt the save or fail because the ports are already occupied.

#1 Best Overall
Sale
LISEN Retractable Car Charger, 84W Car Charger USB C Fast Charge, 4 in 1 | Cigarette Lighter Adapter, Car Accessories, for Christmas Day Gifts for Men Women Dad Mom, for iPhone 18 Pro Max 17 16 15 14
  • Never Let a Dead Battery Ruin Your Drive. The LISEN 4 in 1 Retractable Car Charger delivers reliable power for your entire journey. Compatible with standard 12V cigarette lighter sockets, it keeps phones, tablets, and devices charged during daily commutes, road trips, and long drives — the perfect practical gift for dads, truck drivers, and anyone who lives on the road.
  • Daily Driver Essential: Always Ready When You Need It. Featuring two retractable cables ( USB C & Old iPhone Charging Cable ) that extend up to 31.5 inches and dual USB ports, this charger solves cable clutter while charging up to 4 devices simultaneously. Ideal for busy fathers, commuters, and families who want a tidy car and never worry about low battery again.
  • Deliver full-speed PD fast charging for iPhone 18 Pro Max & iPhone 18 Pro Max & iPhone 18 Pro right inside your car. The built-in 45W PD USB-C port hits the peak charging speed for these latest iPhone models, juicing up your phone to 50% power in just 15 minutes while you drive.(Note: Maximum 45W PD output is available under 24V vehicle power supply. When used with standard 12V car sockets, the peak output is limited to 36W.)
  • Standard 12V Power Solution: Designed as a dedicated USB power supply for charging devices. Note: Does NOT support CarPlay, Bluetooth, or data transfer. Compatible with most phones, tablets, and small electronics. This retractable charger is a core car organization tool, keeping your vehicle tidy. Not compatible with Micro-USB devices.
  • Clutter-Free Tech Organization: Featuring dual USB ports and retractable cables, the LISEN 4 in 1 charger provides a clean car storage solution. Perfect for truck enthusiasts or as a thoughtful gift for drivers, it supports fast USB-C charging for devices like the iPhone 18Pro & iPhone 18 ProMax. Keep your vehicle organized while ensuring efficient power delivery for all your tech on the road.

Choose a maintenance window

An update requires downtime. Pick a time when players are unlikely to be connected and announce that the server may restart. If the server is saving world data, stop it using the same graceful method you already use for manual maintenance rather than killing the process immediately.

Back up worlds and configuration

Back up shard save directories, cluster.ini, shard configuration, dedicated_server_mods_setup.lua, and every shard’s modoverrides.lua. Keep at least one copy outside the live installation. An update script should never replace your only copy of a world or configuration file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Give the updater a bounded account

Run SteamCMD and the server under the account that owns the installation, or an account with only the permissions needed for that directory and service. Do not put an interactive password in a cron file. If your installation requires credentials, use the authentication method already documented for that installation and protect its file permissions.

Linux: build a SteamCMD update-and-restart wrapper

The exact paths differ by distribution and installation method, so the following is a safe wrapper pattern rather than a drop-in path for every host. Replace the command variables with the commands that start and stop your own server. The important behavior is the order: stop, update, test the result, then start.

1. Create the wrapper

#!/usr/bin/env bash
set -u

# Change these values for your installation.
STEAMCMD="/path/to/steamcmd"
INSTALL_DIR="/path/to/dst-install"
DST_APP_ID="YOUR_DST_SERVER_APP_ID"
STOP_CMD="/path/to/your-graceful-stop-command"
START_CMD="/path/to/your-start-command"
LOG_FILE="/var/log/dst-auto-update.log"

log() {
    printf '%s %sn' "$(date -u '+%Y-%m-%dT%H:%M:%SZ')" "$*" | tee -a "$LOG_FILE"
}

log "Stopping the server"
if ! "$STOP_CMD"; then
    log "Stop command failed; refusing to update"
    exit 1
fi

log "Running SteamCMD"
if ! "$STEAMCMD" +force_install_dir "$INSTALL_DIR" +login anonymous +app_update "$DST_APP_ID" +quit >>"$LOG_FILE" 2>&1; then
    log "SteamCMD failed; the installation was not confirmed updated"
    exit 1
fi

log "Starting the server"
if ! "$START_CMD"; then
    log "Start command failed"
    exit 1
fi
log "Update cycle completed"

The application identifier is intentionally a variable: use the identifier belonging to your dedicated-server installation instead of copying an unknown value. Likewise, STOP_CMD and START_CMD must be real, tested commands on your host. Test them manually before scheduling the wrapper.

Rank #2
SINGARO Car Cup Holder Coaster, Silicone Cup Holder Insert, Universal Non-Slip Cup Holders, Car Accessories Interior for Women and Man Interior Sets 4 Pack Black
  • High Quality Material: The coaster is made of environmentally friendly silicone, safe, non-toxic and odorless. Soft with toughness, easily embedded in the cup holder. Very durable, wear-resistant, long service life. High temperature resistance, can withstand 100 ℃ high temperature water cups.
  • Wide Compatibility: The coaster has a diameter of 3.15 inches and a height of 1.18 inches, which is widely used in most vehicles, such as SUV, sedan, MPV, etc., as long as the size fits your car cup holder.
  • Protection Function: Our car cup holder coaster has a carry handle design and a stand-up ring edge on its edge to effectively prevent food crumbs, drinks and water from leaking out and preventing the car cup holder from getting dirty.Meanwhile,Thickened design effectively prevents the cup holder from being scratched by the cup when driving on bumpy roads and eliminates the annoying thumping sound, making your journey more enjoyable.
  • Easy to Use and Clean: With embedded installation, you just need to put it flat on the car cupholder. It is also very quick to remove, there is a small bump on the coaster, pinch it and you can easily remove the coaster. It is very easy to clean, rinse with water or wipe with a wet towel (be careful not to clean with sharp tools).
  • 100% Satisfaction: Our products have quality assurance, if you have questions or are not satisfied after receiving the product, don't worry, please contact us as soon as possible, we provide after-sales service.

2. Make it executable and test interactively

  1. Save the file outside the game directory, for example as an administrator-owned maintenance script.
  2. Set ownership and permissions so only the service administrator can edit it.
  3. Run it in a terminal while watching the server console and the log file.
  4. Confirm that the server stops once, SteamCMD exits successfully, and the expected shards start once.

Do not move directly to a frequent schedule until one complete manual cycle succeeds. A failed SteamCMD invocation can leave the server unupdated; a robust wrapper must not report success merely because the command was attempted.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Add a lock against overlapping runs

A scheduler can start a second invocation while the first is still downloading. Use the locking facility available on your system, or implement an equivalent lock file that is removed reliably on exit. Without a lock, two SteamCMD processes can write the same installation and two restart attempts can race with one another.

4. Schedule it with cron

A widely shared Linux pattern checks on a short interval, about once per minute, and lets SteamCMD decide whether anything changed. That cadence is optional; a less frequent maintenance window is often more appropriate for a small community. The cron entry should call the wrapper by absolute path, redirect scheduler output to a log, and run as the same account that owns the server:

* * * * * /path/to/dst-auto-update.sh

If you select a longer interval, change the five time fields rather than editing the wrapper’s update logic. Keep the script’s timestamps in UTC or label the timezone clearly so an announced restart corresponds to the actual schedule.

Do not compare Steam’s build number with Klei’s version string

Some community scripts query SteamCMD app information and compare a returned build number with a value in a Klei version file. A forum comment specifically warns that these are different identifiers: Steam’s build number is not the version number recorded by Klei. A numeric comparison between them can therefore trigger needless restarts or, worse, skip a real update.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Kaistyle for Magsafe Car Mount【Strong Magnet】 Magnetic Phone Holder for Car Phone Holder Mount Dash Mounted Holders Phone Holders for Your Car Accessories for Women Men for iPhone 18 Pro Max 17 16 15
  • ✅【Designed for Magsafe】 - The most fashionable iphone car mount in 2026 Magsafe is designed for iPhone 18 Pro Max/17/16/15/14/13/12 Pro Max Mini and official Magsafe cases and other magnetic phone cases and can be fixed directly to these phones without the need to affix metal plates. All Android Phones Will Work: Metal rings are provided; they fit cases and other phones without magsafe. Based on Unique Grandmaster Design (Protected by US Design Patent No. US D1,112,194 S)
  • ✅【STRONG MAGNETIC MagSafe Car Mount】 - This powerful magnetic phone holder can create a powerful attraction that firmly supports your device while allowing you to drive without distraction. it easily and securely holds your phone through bumps, sharp turns or even sudden stops, no worrying of dropping your phone.
  • ✅【SUPER STICK FORCE】 - VHB Dash Mounted Holders adhesive provides strong stick force between the dashboard and the car phone holder, which can firmly stick to any plane in the car, fix your device, adapt to a variety of road conditions such as sudden braking, speed bump, and rugged mountain road.
  • ✅【SAFE DRIVING VIEW】 - Mini-size, not taking up space, it is placed in the dashboard without blocking the view at all, and does not need to look down at the device to ensure your safe driving. Cell Phone Car Mount is suitable for most cars, pickups, SUV, taxi; It is the best assistant for Uber and Lyft drivers
  • ✅【360° FREE ROTATION】 - With an adjustable swivel ball joint, you can rotate your smartphone or device at your own will, providing the best viewing angle. Quickly pick and place with one hand, free your hands and make calls and GPS navigation more convenient

The safer choices are to run SteamCMD on the chosen schedule and use its exit status, or to compare values only when you have verified that both values come from the same numbering system. The wrapper above does not attempt to infer a version from unrelated files.

Make the restart decision safely

Restart only after a successful update command

Older community scripts stop the server, run SteamCMD, and restart unconditionally. That creates an avoidable failure mode: if SteamCMD cannot reach its service, lacks permission, or encounters a damaged installation, the server may come back with the old files while the operator assumes an update occurred. Gate the start step on SteamCMD’s exit status, as in the wrapper, and alert an administrator when it fails.

Decide what to do after a failed update

There are two defensible policies:

  • Remain stopped: safest when running an unverified mixture of files could damage a world or produce inconsistent shards. This requires an alert and manual recovery.
  • Start the previous installation: useful when availability matters more than immediate updating, but only if your process can prove that the installation remains coherent and that the start command is safe.

Choose one policy explicitly. Do not let shell fall-through decide by accident. Whichever policy you use, preserve the SteamCMD output and the timestamp so an administrator can diagnose the event.

Keep Master and Caves in one maintenance transaction

If both shards share an installation, stop them before SteamCMD runs and start them after it succeeds. Starting one shard against new files while the other still uses the old process can make troubleshooting harder. If they are separate installations, give each a defined stop, update, and start sequence and log them independently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How mod updates actually work

List Workshop IDs in the setup file

Mods are identified by Workshop ID in dedicated_server_mods_setup.lua. The dedicated server reads that list during startup and downloads or updates the corresponding mod content. Keep the file syntactically valid and under version control or backup; a malformed setup file has been reported to cause a loader error followed by shutdown.

Rank #4
YGDMD 2PCS Car Seat Gap Filler Organizer,2 in 1 Car Gap Filler (Black)
  • Buyer's Guide: The seat guard for car seat between seat & console measures 15.75*2.7*1.53", suitable for gaps of 1.43-1.53" in width, please double-check carefully the distance between your seat and the center console before placing an order
  • Storage and Filling in One: Differ from traditional single-function gap fillers, gap filler for car incorporates storage function, offers you the convenience of storing phones and various other items, so that you can access them at any time while driving
  • Avoid Items Slipping: With the bumps and vibrations of the car, phones, keys may fall into the seat crevices, which is difficult to pick up, and distracts the driver's attention. Car gap seat filler fills gaps seamlessly to create an effective barrier
  • Easy to Install: Car side seat gap filler is easy to install, simply insert it into the gap between the seat and the center console, gap seat filler for car can fit tightly without affecting the normal adjustment of the seat and the use of the seat belt
  • Premium Material: Crafted from premium EVA material, our car seat side gap filler boasts a combination of wear-resistant, softness&durability. Maintenance is effortless, simply rinse and wipe to quickly clean the dust and debris in corners and crevices

Restart to apply a mod update

Mods are not refreshed while the server process is running. Even if a newer Workshop package is available, the running process continues using what it loaded at startup. The restart that follows the SteamCMD phase is therefore the step that makes a mod update active.

Downloading is not enabling

A Workshop download does not automatically turn a mod on for a shard. Each shard needs its own entry in its own modoverrides.lua. If you run Master and Caves, check both files. A mod can be present on disk yet absent from the active configuration, which explains why an update log may show a download while the game behaves as though the mod is disabled.

Be cautious with ForceEnableMod

Community sources disagree about using ForceEnableMod in modsettings.lua as an alternative. Reports also indicate that this method does not permit changing mod settings. Because the behavior and configuration relationship are disputed, use explicit per-shard modoverrides.lua entries when you need predictable activation and settings, and test any force-enable approach on a copy of the cluster before using it in production.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Windows: use a scheduled script, not a server switch

Windows community scripts commonly combine game and mod update work. The same sequence applies: stop the server, invoke SteamCMD for the installation, check the process result, and start the server. Task Scheduler can launch that script at a chosen interval or during a maintenance window.

Suggested Task Scheduler configuration

  1. Create a script with variables for the SteamCMD executable, installation directory, application identifier, stop action, start action, and log path.
  2. Configure the task to run under the account that owns the server files and to use an absolute working directory.
  3. Set a timeout long enough for SteamCMD to finish; never allow a second instance to start while the first is active.
  4. Capture standard output and error in a dated log, and configure an operational alert when the script returns a failure code.
  5. Run the task manually from Task Scheduler and verify both shards, mod loading, and the server console before enabling the recurring trigger.

Do not assume that a successful Task Scheduler launch means an update happened. The script must inspect SteamCMD’s result and report it separately from the scheduler’s own status.

Best Value
Stacool Upgraded Car Center Console Cover,Microfiber Leather Car Armrest Cover Cushion with 2 Storage Bags,Universal Car Armrest Storage Box (Black)
  • 🔰 UPGRADED SIDE STORAGE DESIGN - Our console cover is thinner than the old one, universal for all seasons. There is an 8.66*5.12 inch storage pocket design on each left and right side, expanding the storage space, convenient and practical. Meet the storage needs of the main passenger seat, you can store your cell phone, keys, tissues, ID and some other small daily items.
  • 🔰 PREMIUM MICROFIBER LEATHER MATERIAL - This car center console cover is made of quality microfiber leather material, soft and skin-friendly touch. Exquisite and fashionable diamond shaped stitching, every detail is in place. Inside the car center console cover is made of thickened memory foam, even after squeezing, it can slowly recover to its original shape.
  • 🔰 RELIEVE DRIVING FATIGUE - The arm rest cover for car adopts ergonomic design, giving just the right amount of arm support, effectively dispersing elbow pressure and relieving driving fatigue. Protect your car's center console from getting dirty or scratched. Especially suitable for long time driving or long distance traveling, bringing you a new experience of relaxation and comfort!
  • 🔰 NON-DESTRUCTIVE INSTALLATION - This car console cover is designed with an elastic band for a firm fit and not easy to shake. And the back side is full of protruding dots, which can effectively avoid the armrest cover from slipping and shifting. All you need to do is to open the center console cover, put the elastic band directly into the cover and then close it.
  • 🔰 BUYER'S GUIDE - You will receive a car armrest storage box with the size of 12.13*7.80 inch, please measure the size of your car's armrest storage box before you buy. We have prepared five simple and beautiful colors for you, you can choose according to your own preferences. Suitable for most of the vehicles on the market, such as car, truck, SUV, RV, van, etc.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Linux cron, Windows scripts, and watchdogs compared

Approach Platform Updates game files Applies mod updates Restarts server Main caution
External SteamCMD wrapper plus cron Linux Yes, when SteamCMD succeeds Yes, at the following startup Usually; the wrapper controls it Needs locking, absolute paths, and failure handling
Community update script plus Windows scheduler Windows Yes, when SteamCMD succeeds Can, if the script starts the server afterward Script-dependent Scheduler success is not SteamCMD success
Watchdog or relaunch loop Either No, unless it also calls SteamCMD No, unless it restarts after a mod download Relaunches after a crash Crash recovery is not update automation
Manual SteamCMD maintenance Either Yes Yes, after a manual restart Administrator-controlled Requires a person to perform every cycle

Validation after every automated cycle

  1. Read the updater log: confirm the stop command, SteamCMD invocation, exit status, and start command all appear in order.
  2. Check process count: verify that each intended shard has one running process, not zero and not duplicates.
  3. Check the server console: look for startup errors, especially Lua loader errors associated with a malformed mod setup file.
  4. Check both shard configurations: confirm that every mod intended for Master and Caves has the corresponding modoverrides.lua entry.
  5. Perform a client connection test: join with an administrator account and verify that the world loads and that expected mod features are present.
  6. Record the outcome: keep the timestamp, SteamCMD output, and any restart failure with the maintenance record.

When a script runs frequently, these checks should be automated where practical, but an automated “process exists” check cannot prove that a mod is enabled or that a world loaded correctly.

Troubleshooting common failures

The server never updates

  • Run the exact SteamCMD command interactively as the scheduler’s account.
  • Check that the installation directory is writable and that the SteamCMD executable path is correct.
  • Read the captured output rather than relying on the scheduler’s generic success message.
  • Confirm that the wrapper is using the intended installation and application identifier.

SteamCMD fails and the server remains stopped

This is the expected result of a fail-closed wrapper. Preserve the log, correct the connectivity, permission, or installation problem, run SteamCMD manually, and start the server only after the update step succeeds. If your service requires high availability, document and test a separate rollback policy instead of silently starting an unverified installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The game updated but a mod did not

Confirm that the Workshop ID is present in dedicated_server_mods_setup.lua, then restart the server. A running process does not apply a newly downloaded mod. If the mod is downloaded but inactive, inspect the relevant shard’s modoverrides.lua; downloading alone does not enable it.

One shard has the mod and the other does not

Master and Caves load separate override files. Add and validate the mod entry in each shard that should use it, then restart both shards together.

The server exits immediately after a mod-file edit

Restore the last known-good setup file from backup and inspect its Lua syntax. A malformed dedicated_server_mods_setup.lua can produce a loader error and shutdown before the world becomes available. Reintroduce changes one at a time and test manually before returning the file to automation.

The script starts duplicate servers

Verify that the stop action completes before the start action, add a lock around the wrapper, and make sure cron or Task Scheduler is not launching a second copy under another account. A watchdog should not fight the maintenance script; coordinate their ownership of the process.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The script restarts every time

If you schedule SteamCMD on a short interval, a restart on every successful invocation may be disruptive even when no files changed. Use a maintenance interval appropriate for your community, or add a trusted change-detection method after verifying that the identifiers being compared are from the same numbering system. Do not compare Steam’s build number directly with Klei’s version-file number.

Operational checklist

  • SteamCMD path, installation directory, and application identifier are correct.
  • Stop and start commands have been tested manually and target every intended shard.
  • The updater runs under the correct account and cannot be edited by untrusted users.
  • A lock prevents overlapping executions.
  • SteamCMD failure stops the success path and generates an alert.
  • Logs include timestamps and are retained long enough to diagnose a missed update.
  • Worlds, shard settings, mod setup, and mod overrides are backed up.
  • Workshop IDs are listed in dedicated_server_mods_setup.lua.
  • Each shard that should load a mod has its own modoverrides.lua entry.
  • A restart follows a successful update so mod downloads are actually loaded.
  • Players are informed of the maintenance window and expected downtime.

What you can and cannot automate

You can automate SteamCMD checks, stopping and starting the server, Workshop refreshes that occur during startup, logging, and alerts. You cannot make a running process adopt a new mod package without restarting it, and no scheduler can compensate for a malformed Lua setup file or a failed SteamCMD transaction. Treat the updater as maintenance software: test it, lock it, back up the data it touches, and make failures visible instead of claiming an update that was never confirmed.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.