For a regular private group, a dedicated Terraria server with a checked-in serverconfig.txt is the most dependable setup. Point it at a specific world, choose the difficulty your players actually want, set maxplayers to your expected concurrent group, add a private password and MOTD, keep port 7777 unless it conflicts, and launch with TerrariaServer -config serverconfig.txt. Before sharing the address, allow the port through the computer’s firewall and, for a home connection, configure router forwarding or supported UPnP.
Host & Play is easier for a one-off session, but the host must start and remain in the session. A dedicated process gives you repeatable launches, console administration, clean shutdowns and a configuration you can back up. The right values depend on group size, world ownership, desired difficulty, privacy and whether you want to maintain the network yourself.
Which Terraria multiplayer setup is best for your group?
Use Host & Play for occasional co-op when the host will be present. Use a dedicated server when the same world is played repeatedly or several people need a predictable way to join. Managed hosting or a VPS is a third option for groups that want uptime without maintaining a home computer, but the provider’s access, backups and port controls determine how much control you retain.
| Consideration | Host & Play | Dedicated server | Managed hosting or VPS |
|---|---|---|---|
| Startup effort | Lowest; start the in-game wizard | Moderate; create files, configure the network and launch the server application | Moderate; provider setup replaces some local maintenance |
| Repeatability | Session-based | High when the world and serverconfig.txt are preserved |
High if the provider preserves your files and configuration |
| Control | The host controls the active game session | Full server process and console control | Depends on the provider’s console and file access |
| Network responsibility | Mostly handled by the host session | You manage the listening port, firewall and router forwarding | The provider handles infrastructure, but Terraria port rules still apply |
| Best fit | Short co-op sessions or a home LAN | A regular private group sharing one world | Groups that want continuing availability without a home machine |
When Host & Play is enough
Start Terraria, choose Multiplayer → Host & Play, select or create a world, and enter an optional password. This is the shortest path for a planned evening or a LAN session. It is less convenient when the host is not available, because the session-based host must start the game before others can join.
When to use a dedicated process
A dedicated server runs the server application separately from the Terraria client. You can start it with the same world and settings every time, administer it from the console, and shut it down cleanly without relying on a player’s game window. Windows installations use TerrariaServer.exe; Linux and macOS use the corresponding server binary and launch script supplied with the installation.
What should you put in Terraria serverconfig.txt?
Store the settings in a plain-text file and launch the server with -config. The following is a practical private-group baseline; replace the paths, password and world name with your own values.
world=/path/to/Worlds/GroupWorld.wld
# If the file does not exist, create a world instead
autocreate=2
worldname=GroupWorld
seed=optional-seed
difficulty=1
maxplayers=8
port=7777
password=choose-a-private-password
motd=Welcome to our group world
worldpath=/path/to/Worlds/
banlist=banlist.txt
secure=1
language=en-US
upnp=1
npcstream=60
Use either an existing world path or the creation settings. Keep the file with the server so another person can reproduce the launch, and protect it like any other file containing a password.
| Key | What it controls | Practical choice for a private group |
|---|---|---|
world |
The existing .wld file to load |
Use an absolute or otherwise correct path to the group’s world |
autocreate |
Creates a world when the requested world is unavailable | Use 1, 2 or 3 for small, medium or large |
worldname |
Name for a generated world | Choose a name players will recognize |
seed |
Seed for a generated world | Set one when everyone wants a reproducible generation; otherwise leave it optional |
difficulty |
World difficulty | Match the code to the group’s experience and preferred rules |
maxplayers |
Maximum simultaneous players | Set capacity to the expected concurrent group, with only the headroom you need |
port |
Port on which the server listens | Keep the documented default, 7777, unless it conflicts |
password |
Join password | Use a non-obvious value and share it privately |
motd |
Message shown to joining players | State the group name, rules or scheduled play time |
worldpath |
Directory used for world files | Point it at a backed-up, writable directory |
banlist |
File used for bans | Keep the file beside the server configuration and back it up |
secure |
Additional cheat protection | Use secure=1 when compatible with your setup |
language |
Server language | Set the code that matches your group’s preferred server messages |
upnp |
Automatic UPnP port forwarding | Use 1 only when your router supports and permits UPnP |
npcstream |
How enemy data is streamed to clients | Adjust it when players see enemy skipping and bandwidth is available |
How do world creation and difficulty codes work?
The world, autocreate, worldname and seed settings cover the two launch cases: loading a world that already exists or generating one when it does not.
Loading an existing world
Set world to the complete path of the intended .wld file. This is the safest choice for an established group because it makes the world explicit instead of depending on an interactive selection. Verify spelling, capitalization and the server account’s read and write access to the directory.
Creating a new world
When a requested world does not exist, autocreate selects its size: 1 is small, 2 is medium and 3 is large. Set worldname for the generated world and optionally provide seed if the group wants repeatable generation. Keep the resulting file in the directory named by worldpath.
Choosing the difficulty
| Value | Difficulty | Choose it when |
|---|---|---|
0 |
Normal or Classic | The group wants the least punishing standard progression |
1 |
Expert | Players want stronger encounters and additional challenge |
2 |
Master | The whole group is prepared for the most demanding standard challenge |
3 |
Journey | The group specifically wants Journey powers and their associated controls |
Difficulty is a world setting, so agree on it before creating a new shared world. For Journey, decide separately who may use each power; the permission keys are described below.
How should you set max players, port, password and MOTD?
These four values determine who can enter, where they connect and what they see first. A good private configuration is small enough to match the real group, protected by a private password and easy to identify in the join message.
maxplayers: set capacity to the real group
The documented configuration accepts values from 1 through 255. The dedicated-server reference lists 16 as its current default maximum. For a private group, use the number of players you expect to be online at once; add headroom only when you have a concrete reason, such as occasional guests or a scheduled event.
port: keep 7777 unless there is a conflict
Port 7777 is Terraria’s documented default and the simplest value to communicate. Change it when another service already uses that port or when several Terraria servers share one computer. Every additional server needs its own port, and that port must be allowed through the relevant firewalls and forwarding rules.
password: protect a private world
Use a non-obvious password that is different from personal accounts or other services. Send it with the server address through a private channel rather than posting it publicly. If the password changes during a live session, use the console’s password command and update the checked-in configuration before the next launch.
motd: make the greeting useful
The message of the day appears to joining players. Include the world’s name, a short conduct rule, or the next planned session. Avoid putting the password in the MOTD; anyone who reaches the server can see the greeting.
How do you launch a dedicated Terraria server?
The first launch can use the interactive wizard, but a configuration file is better for repeat sessions. Prepare the world and network before inviting anyone.
- Install or locate the server files. On Windows, use the Terraria server executable. On Linux and macOS, use the corresponding server binary or supplied shell script.
- Create the configuration. Save the settings as a plain-text file named, for example,
serverconfig.txt. Confirm that the world path and world directory are writable by the account that runs the server. - Choose one world source. Set
worldfor an existing world, or configureautocreate,worldnameand optionalseedfor generation. - Set access values. Choose
difficulty,maxplayers,port,passwordandmotd. Addbanlistandsecure=1for a private administered server. - Launch with the file. Run
TerrariaServer -config serverconfig.txt. On systems where the executable has a different name, use that platform’s server binary with the same-configargument. - Read the console output. Confirm that the intended world loaded or was created and that the server is listening on the selected port. Do not distribute the address until these checks succeed.
- Test locally, then remotely. Join from the host or local network first. A friend outside the home network should then test the public address and port.
When running several servers on one computer, give each process a separate configuration file, world and port. Reusing a port or accidentally pointing two processes at the same world creates avoidable conflicts.
Why can’t your friends connect to the dedicated server?
Most failed joins are network-path problems rather than Terraria setting problems. Work from the server outward: process, operating-system firewall, router or provider firewall, then the address your friends are using.
- Confirm the server is running. The console should show the intended world and listening port. If the process closed, correct the configuration or path before testing the network.
- Check the port value. The client must use the same port configured by the server. If you changed it from
7777, share the changed value and open that value everywhere. - Allow the port in the host firewall. Cloud hosting requires both the provider firewall and the operating-system firewall to allow Terraria traffic on the selected port. The documented guidance calls for TCP and UDP port
7777when that is the configured port. - Configure home-router forwarding. Friends outside your LAN need a router rule forwarding the Terraria port to the computer running the server. The exact menu differs by router; reserve the host computer’s local address so the rule does not point to a different device later.
- Try UPnP only when supported. Setting
upnp=1can automate forwarding on a compatible router, but it is not universal. If the router does not create the rule, turn UPnP off and configure forwarding manually. - Use the reachable address. Players on the same LAN generally use the host’s local address; remote players need the reachable public address supplied by the host or provider, plus the configured port.
- Look for a port collision. A second Terraria server or another application may already own the port. Stop the conflicting process or assign this server a unique port and repeat the firewall and forwarding changes.
- Check provider rules. A VPS or cloud host may block ports until an inbound rule is added. Open the same port in the provider’s network controls and the operating-system firewall.
Do not change difficulty or world settings to solve a connection failure. First prove that the server process is listening and that the complete network path reaches it.
Which administration and security settings matter?
For a small private server, a password, a maintained banlist and clean console shutdowns cover the essential routine. Enable secure mode when it is compatible with the group’s setup, and keep the configuration and banlist where the server can read them after a restart.
Banlist and secure mode
banlist selects the file used for bans. Keep that file with the server files and include it in backups; otherwise a restart or migration can lose the group’s moderation state. secure=1 enables the documented additional cheat protection. If a particular setup is incompatible, test the server with the intended clients before making it the permanent value.
Useful console commands
The running server console documents commands including help, playing, save, exit, kick, ban, password, motd, port and maxplayers. Use help to see the command syntax available in the installed server build.
- Use
playingto see who is currently connected. - Use
savebefore planned maintenance or a machine reboot. - Use
exitfor a clean shutdown instead of killing the process. - Use
kickorbanfor immediate moderation, then preserve the banlist file. - If you change
password,motd,portormaxplayersat runtime, record the intended value inserverconfig.txtso the next launch matches the live server.
What do language, NPC streaming and Journey permissions do?
Language codes
The documented language values include en-US, de-DE, fr-FR, es-ES, ru-RU, zh-Hans, pt-BR and pl-PL. Choose one code for the server’s messages; this setting does not replace the need for every player to use a compatible game installation.
NPC streaming
npcstream affects how enemy information is sent to clients. Lower values reduce enemy skipping but send more data, which can increase bandwidth use. A value of 0 disables the feature. Start with the documented example value of 60, then adjust only when the group observes enemy skipping and the host has bandwidth to spare.
Journey power permissions
Journey permission keys use three documented values: 0 locks a power, 1 makes it host-only and 2 makes it available to everyone. Lock powers that could undermine the group’s progression, give host-only access to powers reserved for administration, and use the everyone setting only when the whole group agrees.
How should settings change for different group sizes?
Start with the number of people who will be online together, not the maximum number of friends in your chat. The world size, difficulty and moderation settings should follow the group’s play style.
| Group profile | Suggested starting choices | Why |
|---|---|---|
| Two to four friends, occasional sessions | Host & Play, or a dedicated server with maxplayers=4, a password and port 7777 |
Minimizes setup while keeping access private |
| Regular group of five to eight | Dedicated server, maxplayers=8, a checked-in configuration, MOTD and banlist |
Provides repeatable launches and enough administrative control |
| Large scheduled group | Dedicated server with capacity set to the real event size, a medium or large generated world and a tested network path | Reduces surprise capacity limits and gives players room to progress |
| Journey-focused group | difficulty=3 plus explicit Journey permission values for each power |
Prevents accidental disagreement over who can use progression-changing powers |
| Several independent worlds on one machine | Separate configuration files, world files and unique ports | Prevents process and port collisions |
These are starting points, not universal defaults. Increase capacity only when the group needs it, and test a larger world or higher difficulty with the actual players who will use it.
What should you back up and maintain?
Back up the world files first, then the configuration and banlist that make the server reproducible. Keep a copy outside the machine hosting Terraria so a disk failure does not remove both the active world and its backup.
- The active
.wldfile in the configured world directory serverconfig.txt, with the password protected from casual access- The file named by
banlist - A short note recording the public port, world name and the person responsible for router or provider access
Before planned maintenance, issue save, wait for the command to complete, and then use exit. After moving the server to another computer, verify the world path, permissions, firewall rule and port before players reconnect.
Frequently Asked Questions
Can UPnP replace manual port forwarding for every Terraria server?
No. UPnP works only when the router supports it and allows applications to create forwarding rules. If no rule appears, configure forwarding manually and open the same port in the computer or provider firewall.
Should I use the default maximum of 16 players if my group is smaller?
Not necessarily. A lower value that matches your expected concurrent group makes the server’s capacity intentional and avoids advertising room you do not plan to use. Increase it when you have a real need for guests or larger events.
What files are needed to move a Terraria server to another computer?
Copy the active world file, the configuration file and the banlist file, then update paths for the new operating system. Recheck firewall rules, router or provider forwarding and the executable command before inviting players.
Is a different port useful when only one Terraria server is running?
Usually not. Port 7777 is the documented default and is easiest for troubleshooting; choose another port only for a conflict, a network policy or an additional server on the same machine.