Take full control of your Terraria server by configuring tShock directly inside the Pterodactyl panel. This step-by-step guide walks you through every key setting — from world selection to permissions — so your server runs exactly the way you want it.
What is tShock for Terraria? tShock is a powerful server-side toolbox for Terraria that adds anti-cheat protection, server-side characters, group permissions, item bans, in-game commands, and plugin support — all without modifying your Terraria client files. It is free, open-source, and fully compatible with the latest versions of Terraria.
Step 1 — Install the tShock Egg in Pterodactyl. In your Pterodactyl panel, navigate to your server’s Startup tab and ensure you are using the correct tShock egg. Important: any tShock version v5 or newer requires the standard tShock egg, while older versions (pre-v5) must use the legacy egg. If you are upgrading from tShock 4, copy your existing tshock configuration folder — including the SQLite database and all JSON config files — to the new server before starting it.
Step 2 — Configure Startup Parameters. In the Pterodactyl Startup tab, set the following key variables: SERVER_PORT (default: 7777), MAX_PLAYERS (maximum number of players allowed), WORLD_NAME (the name of your .wld world file), and WORLD_SIZE (1 = Small, 2 = Medium, 3 = Large). The server launches with the command: ./TShock.Server -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -world {{WORLD_NAME}}.wld -autocreate {{WORLD_SIZE}}.
Step 3 — Edit the tShock config.json File. Once your server has started for the first time, tShock automatically generates a config.json file inside the /tshock folder. This is the main configuration file for tShock and replaces the standard config.txt used by vanilla Terraria. Open it via the Pterodactyl File Manager to customize your server behavior. Key settings to review include: ServerPassword, MaxSlots, SpawnProtection, AnnounceSave, TileKillThreshold, MaxDamage, AllowIce, and AllowCutTilesAndBreakables.
Step 4 — Complete the First-Time Setup In-Game. Start your server and watch the console. You will see the message: “To setup the server, join the game and type /setup [setupcode].” Note the setup code, then launch Terraria, join your server using the IP and port shown in the Pterodactyl console, and type /setup [code] in the in-game chat. This grants you one-time superuser access to configure your server.
Step 5 — Create Your Owner Account. After completing the setup command, register your permanent admin account by typing: /user add [username] [password] owner. Then log in with /login [username] [password]. This owner account has full access to all server commands and admin operations. Never share these credentials with other players.
Step 6 — Configure Player Groups & Permissions. tShock uses a group-based permissions system. You can assign permissions to the default guest group via the server console using the group addperm command. For example, to enable standard gameplay actions for all players — such as world modification, chat, boss summoning, and NPC interaction — add the relevant tshock.* permission nodes to the guest group. Create separate groups for moderators and admins with tailored permissions.
Step 7 — Install Plugins (Optional). tShock supports server-side plugins (.dll files) that extend your server’s functionality. To add a plugin, simply drop the .dll file into the ServerPlugins folder via the Pterodactyl File Manager, then restart your server. Note: ensure the folder is named exactly ‘ServerPlugins’ (case-sensitive on Linux) to avoid startup errors. The latest community plugins are available on the official TShock GitHub repository.
Step 8 — Downloading Mods via the Console. If you need to download mods or generate a world from the Pterodactyl console, you must temporarily modify the startup command by removing the -world and -autocreate flags. Once your world is generated and mods are installed, restore the full startup command with the correct world name so the server launches automatically on restart.
Troubleshooting Common tShock Issues. • No setup code appears: Ensure the ServerPlugins folder is correctly named. On Linux, casing matters — it must be ‘ServerPlugins’, not ‘serverplugins’. • Number out of range error on startup: Delete the auth.lck file and restart tShock. • Need to reset the server to a clean state: Delete tshock.sqlite and setup.lock from your server files, then restart — this removes all users and restores tShock to its default configuration.
Your tShock Terraria Server Is Ready. With your Pterodactyl panel configured, your config.json tuned, and your owner account created, your tShock-powered Terraria server is fully operational. Invite your players, assign roles, install plugins, and enjoy a fully managed Terraria multiplayer experience with powerful admin control at your fingertips.
