Skip to main content

Overview

This guide explains how to join multiplayer servers in Nitrox Unlocked, whether you’re connecting to a friend’s server, a LAN server, or a dedicated public server.

Prerequisites

Required

  • Nitrox Unlocked installed
  • Subnautica (base game)
  • Same Nitrox version as server
  • Same Subnautica version as server

Network Info Needed

  • Server IP address (for direct connect)
  • Server port (default: 11000)
  • Server password (if required)

Connection Methods

There are three ways to connect to a server:

1. LAN Discovery (Local Network)

For servers on your local network:
1

Launch Nitrox

Start the Nitrox Launcher and launch Subnautica with multiplayer enabled.
2

Open Join Server Menu

In the main menu, navigate to the multiplayer/join server section.
3

Select from LAN Servers

Available LAN servers should appear automatically in the server list.Source: LANBroadcastClient.cs:38-50 - LAN discovery searches for servers via UDP broadcast
4

Click to Connect

Select the server and click “Join” or “Connect”.
LAN discovery requires the server to have LANDiscoveryEnabled=true in its configuration.
How LAN Discovery Works: The client broadcasts discovery requests on predefined ports. Servers with LAN discovery enabled respond with their connection information. Source: LANBroadcastClient.cs:52-143
// Client searches for servers every 5 seconds
while (!cancellationToken.IsCancellationRequested)
{
    NetDataWriter writer = new();
    writer.Put(LANDiscoveryConstants.BROADCAST_REQUEST_STRING);
    foreach (int port in LANDiscoveryConstants.BROADCAST_PORTS)
    {
        client.SendBroadcast(writer, port);
    }
    await Task.Delay(5000, cancellationToken);
}

2. Direct IP Connection

For internet servers or manual connection:
1

Launch Nitrox

Start the Nitrox Launcher and launch Subnautica with multiplayer.
2

Select Direct Connect

Choose “Direct Connect” or “Add Server” option.
3

Enter Server Details

Input the server information:
  • Server Name: Friendly name (your choice)
  • IP Address: Server’s IP
  • Port: Server port (default: 11000)
Name: My Local Server
IP: 127.0.0.1
Port: 11000
4

Save and Connect

Save the server entry and click connect.
Source: ServerList.cs:92-156 - Server entries are stored in format: Name|Address|Port

3. Saved Server List

Once you’ve connected to a server, it’s saved for easy reconnection:
1

Open Server List

In the multiplayer menu, view your saved servers.
2

Select Server

Choose from your previously connected servers.
3

Connect

Click connect to join.
Server List Location:
%AppData%\Nitrox\servers
Source: ServerList.cs:11,27 - Default port is 11000
public const int DEFAULT_PORT = 11000;
public static string DefaultFile => Path.Combine(NitroxUser.AppDataPath, SERVERS_FILE_NAME);

Connection Process

Understanding what happens when you connect:
1

Client Starts Connection

The client attempts to connect to the server IP and port via UDP.Source: Disconnected.cs:52-63
2

Version Check

Server and client verify they’re running compatible Nitrox versions.Source: MultiplayerSessionManager.cs:59-84
switch (nitroxVersion.CompareTo(SessionPolicy.NitroxVersionAllowed))
{
case -1:
    Log.Error($"Client is out of date. Server: {ServerVersion}, Client: {localVersion}");
    CurrentState.Disconnect(this);
    return;
case 1:
    Log.Error($"Server is out of date...");
    CurrentState.Disconnect(this);
    return;
}
3

Session Policy Exchange

Server sends session policy including:
  • Console disable settings
  • Server rules
  • Authentication requirements
Source: MultiplayerSessionManager.cs:59-84
4

Player Authentication

You provide:
  • Player name
  • Server password (if required)
  • Color preferences
Source: MultiplayerSessionManager.cs:86-91
5

Session Reservation

Server reserves a slot for you and sends reservation confirmation.Source: MultiplayerSessionManager.cs:93-97
6

Initial World Sync

The server sends world data:
  • World state
  • Other players’ positions
  • Built structures
  • Game time
This can take time depending on world size and connection speed.
7

Join Complete

You spawn into the multiplayer world!Source: MultiplayerSessionManager.cs:99-102

Authentication & Permissions

Player Name Selection

When connecting, you’ll choose your player name:
  • Used for identification in-game
  • Shown in server logs
  • Persists across sessions

Server Password

If the server has a password:
# Server configuration
ServerPassword=MyPassword123
You must enter the correct password to join.

Permission Levels

Servers can have different permission levels: Source: Perms.cs:5-27
public enum Perms : byte
{
    NONE,        // No permissions
    PLAYER,      // Default - basic commands, no cheats
    MODERATOR,   // Manage players, use vanilla cheats
    ADMIN,       // Full server administration
    CONSOLE      // All permissions (console only)
}
Default Permission:
  • New players get PLAYER permission by default
  • Can be changed in server config: DefaultPlayerPerm=PLAYER
Localhost Exception:
  • Players connecting from 127.0.0.1 get admin by default
  • Controlled by: LocalhostIsAdmin=true
Source: SubnauticaServerConfig.cs:104-105

Getting Admin Access

To get admin permissions on a server:
If you have the admin password:
# Open console (usually F3 or ~)
admin <password>

Troubleshooting Connection Issues

Error: “Client is out of date” or “Server is out of date”Solution:
  • Ensure you and the server are using the same Nitrox version
  • Update Nitrox client or ask server admin to update
  • Verify Subnautica game version also matches
Symptoms: “Connecting…” then timeout or failure.Solutions:
  1. Verify server is online
    • Ask server admin to confirm server is running
  2. Check IP and port
    • Ensure you have the correct IP address
    • Verify port number (default: 11000)
    • Try pinging the server: ping <server_ip>
  3. Network issues
    • Server may have port forwarding misconfigured
    • Your firewall may be blocking outbound connections
    • ISP may be blocking UDP traffic
Error: Authentication failed or access denied.Solution:
  • Double-check the password (case-sensitive)
  • Ensure you’re using the server password, not admin password
  • Ask server admin to verify current password
Symptoms: Connection succeeds but world never finishes loading.Possible Causes:
  • Large world with many entities
  • Slow internet connection
  • Server’s InitialSyncTimeout too short
Solutions:
  • Wait longer (can take 2-5 minutes for large worlds)
  • Ask server admin to increase InitialSyncTimeout:
    InitialSyncTimeout=300000  # 5 minutes
    
  • Check your network connection quality
Solutions:
  1. Verify LAN discovery is enabled on server:
    LANDiscoveryEnabled=true
    
  2. Use direct IP connection instead
    • Even on LAN, you can manually enter the server IP
  3. Check network
    • Ensure you’re on the same subnet
    • Check firewall isn’t blocking broadcast packets
Possible Causes:
  • Network instability
  • Server crash
  • Server kicked/banned you
  • Excessive lag/timeout
Solutions:
  • Check your internet connection
  • Verify server is still running
  • Check server logs for kick/ban messages
  • Reduce network load (close downloads, streaming, etc.)

Finding Servers

Public Server Lists

Nitrox doesn’t have an official public server browser. Servers are typically found through community channels.
Where to find servers:
  • Nitrox Discord community
  • Subnautica multiplayer forums
  • Reddit communities
  • Steam discussions
  • Friend invites

Hosting Your Own

Want to create your own server for friends?

Host a Server

Learn how to set up and run your own Nitrox server

Connection Best Practices

Before Connecting

  • Verify Nitrox version matches server
  • Check you have server IP and port
  • Prepare password if needed
  • Close bandwidth-heavy apps

During Connection

  • Wait patiently during world sync
  • Don’t spam reconnect if it fails
  • Monitor your network connection
  • Check game logs if issues occur

Performance Tips

  • Use wired connection over WiFi
  • Close unnecessary background apps
  • Update graphics drivers
  • Lower in-game settings if needed

Etiquette

  • Respect server rules
  • Don’t grief other players’ builds
  • Communicate with teammates
  • Report bugs to server admin

Understanding Connection States

The client goes through several connection states: Source: MultiplayerSessionConnectionStage.cs and MultiplayerSessionManager.cs:122-139
  1. DISCONNECTED - Not connected
  2. ESTABLISHING_SESSION_POLICY - Negotiating rules
  3. AWAITING_SESSION_RESERVATION - Requesting slot
  4. SESSION_RESERVED - Slot confirmed
  5. JOINING_SESSION - Loading world
  6. JOINED - In game!
public void UpdateConnectionState(IMultiplayerSessionConnectionState sessionConnectionState)
{
    Log.Debug($"Updating session stage from '{fromStage}' to '{sessionConnectionState.CurrentStage}'");
    CurrentState = sessionConnectionState;
    ConnectionStateChanged?.Invoke(CurrentState);
}

Client Log Files

If you encounter issues, check client logs:
%AppData%\Nitrox\logs\game-[PlayerName]-[Date].log
Source: Log.cs:91,162-171 Logs include:
  • Connection attempts
  • Version checks
  • Authentication status
  • Error messages
  • Network events

Quick Connection Reference

Connection TypeIP FormatPortDiscovery
Localhost127.0.0.111000Manual
LAN192.168.x.x11000Auto/Manual
InternetPublic IP11000Manual
Custom PortAny valid IPCustomManual
When in doubt, use direct IP connection. It’s the most reliable method and works for all server types.

Next Steps

Troubleshooting

Solve connection and gameplay issues

Host Your Own Server

Learn to set up a server for friends

Build docs developers (and LLMs) love