Build and Operate Dedicated Game Servers on Linux
Game-specific guides that continue beyond installation into service accounts, ports, graceful shutdown, restore drills, updates, and connection diagnosis.
Files selected in the tools are never uploaded; every calculation runs inside your browser.
Start with the task you need to finish
For a new server, start with installation and joining. For an existing server, begin with recovery and updates. Follow each reading path to the next operational task.
Palworld
1. Install and join → 2. Save, stop and back up → 3. Update and roll back
Minecraft Java
1. Install the base server → 2. Run Fabric with Docker → 3. Investigate lag
An existing server
Prove a backup can be restored · Monitor resource usage · Measure your admin website response
New: game server troubleshooting and migration
Browse these guidesStart with your symptom to find the checks, their meaning, and how to confirm the server works again.
-
Game Server Running but Friends Cannot Join? Seven Checks in Order
Diagnose Minecraft Java and Palworld join failures through process readiness, TCP/UDP, Docker publishing, router rules, external tests and version matching.
-
Game Server Suddenly Stops: Diagnose Memory Pressure and Exit 137
Distinguish Docker Exit 137, confirmed OOM kills, Java heap exhaustion, container limits and shutdown timeouts before changing memory settings.
-
Game Server Disk Full: What to Check Before Deleting World Data
Diagnose save failures through filesystem space, inodes, backups, logs and Docker mounts, then recover without treating world data as disposable.
-
Game Server Fails After Reboot: Read and Fix systemd Startup Errors
Diagnose a Minecraft or Palworld server that starts manually but fails on boot through enablement, executable paths, service users, mounts and restart limits.
-
Move a Game Server to a New Computer: Saves, Configuration and Cutover
Migrate a Minecraft or Palworld Linux dedicated server with matching builds, verified save paths, copy checks, permissions, external access and a rollback boundary.
Self-Hosted Game Servers
View the whole series-
Minecraft 26.2 Server Management Protocol 3.0.0
Series
Keep the JSON-RPC WebSocket control plane on localhost and discover its schema, auth, and readiness.
-
Minecraft Bedrock Dedicated Server on Ubuntu Linux
Series
Official Bedrock binary, UDP 19132, an allowlist, systemd, and recoverable world backups.
-
Valheim Dedicated Server on Linux With SteamCMD
Series
Steam versus Crossplay, ports, world paths, permission lists, and safe updates.
-
Project Zomboid Build 42 Dedicated Server on Linux
Series
App 380870, an absolute cachedir, friends.ini, Workshop mods, and updates.
-
Factorio Headless Dedicated Server on Linux
Series
Official headless package, save creation, UDP 34197, mod parity, and backups.
-
Terraria 1.4.5.8 Dedicated Server on Linux
Series
serverconfig.txt, TCP 7777, verified saves, and staged release switching.
-
Prove Game Server Backups With a Restore Drill
Series
Boot copied Minecraft, Palworld, or Satisfactory data away from production and perform a real join.
-
7 Days to Die V3.1 Dedicated Server on Linux With Docker
Series
Install V3.1, apply SandboxCode, forward the right ports, and run safe backups and updates.
-
Build Your Own Palworld Server, Part 1: Launch It on Linux With Docker
Series
The start of a hands-on series on hosting a Palworld server at home - from install to friends joining.
-
Palworld Server, Part 6: Updating the Server on Patch Day
Series
The latest part: why the game updates itself but your server does not, pinned version tags, and a safe update-and-rollback procedure.
-
Build Your Own Minecraft Server, Part 1: A Java Server on Linux
Series
The Java version trap, the eula step, key settings, and a systemd unit that survives reboots.
-
Minecraft Server, Part 2: A Fabric Mod Server, Run With Docker
Series
Fabric install, the file ownership trap, and world backups without stopping the server.
-
Self-Hosting a Satisfactory Dedicated Server With Docker
Series
What each of the three ports does, the shutdown trap that eats progress, and installing mods with ficsit.
Guides and Operation Notes
View all articles-
Home Server Auto-Recovery, Part 2: When Only the Network Dies
Ops note
A watchdog that checks itself every minute and recovers in stages: USB rebind, driver reload, reboot.
-
Home Server Auto-Recovery, Part 1: Reboot Itself After a Crash
Ops note
The sysctl settings that bring a dead kernel back in 35 seconds with nobody home - a real incident log.
-
Palworld Server, Part 2: The Save Trap, Safe Shutdown, and Backups
Series
The shutdown that silently discards progress, plus automatic backups - traps from real operation.
-
Palworld Server, Part 3: Build a Browser Admin Page
Series
A server control page with buttons, built in Node with zero external packages.
-
Palworld Server, Part 4: Power Control, Console, and a Live Map
Series
Power on/off, console logs, and plotting player positions on a map.
-
Hash-Based Duplicate File Checks
Guide
A short guide to SHA-256 duplicate checks and why hashes are more reliable than filenames.
-
Find Duplicate Images With Python and Print Delete Candidates
Code
A practical SHA-256 example for finding identical images and reviewing candidates before deletion.
-
Image Information Analysis
Guide
How to inspect dimensions, aspect ratio, and megapixels in the browser before choosing thumbnail settings.
-
Choosing WebP Conversion Settings
Guide
How to pick quality, max width, and output format, and convert images in the browser.
-
Check EXIF Privacy Before Sharing Photos
Guide
How capture time and GPS location stay inside photos, and how to remove them.
-
Serving Large Files From PHP Safely
Code
Output buffers, non-ASCII filename headers, and CDN timeouts - streaming fixes from real operation code.
-
Bulk Thumbnail Generation With Python Pillow
Code
An idempotent batch thumbnail script covering RGB conversion and skip rules.
-
Protect Private Files With PHP and Nginx
Guide
Separate file folders from the public root and serve them only through an authenticated router.
-
Shareable Source Examples
Code
Short examples for hash duplicate checks, authenticated media routing, and Nginx deny rules.
-
Automation Code Lessons
Lesson
Reusable lessons from real operation code: dedupe, scheduled jobs, and SQLite history patterns.
-
Avoiding Common cron Schedule Mistakes
Ops note
Frequent cron expression mistakes and safe scheduling rules for small servers.
-
Server Status Webhook Alerts With a Shell Script
Ops note
Send CPU, memory, and disk reports to a messenger using only top, free, and df.
-
How to Estimate Image Server Storage Capacity
Ops note
Separate originals, thumbnails, and backup copies to size your disk correctly.
-
Operation Notes
Ops note
Practical notes for checking response time, error rate, and cache behavior on a small PHP site.