What is Rust:IO?

Rust:IO is an extension to the popular uMod (formerly Oxide) modding framework. It adds a live map and an extensive REST API to any Rust server with just a few clicks.

Rust:IO Remastered is an open reimplementation of the Rust:IO server core, revived for the current Rust build after the original playrust.io service went offline. It keeps the exact same architecture — the loader loads a core that renders the map and serves everything from the game server itself — with no dependency on any external service.

Features

Terms of use

Rust:IO Remastered is an open reimplementation provided for non-commercial and commercial self-hosting. It is not affiliated with Facepunch Studios; Rust is a trademark of Facepunch Studios. Encryption tooling and hosting by rustcrypt.com.

Installation

First of all, make sure that…

  1. Download Rust:IO and place the downloaded Oxide.Ext.RustIO.dll into your server's RustDedicated_Data/Managed directory.
  2. Restart your server once.

That's it. On startup the loader automatically downloads the rest and your server shows Rust:IO Remastered as an extension besides the built-in ones, printing a few messages once initialized. The live map then becomes available at http://YOUR-SERVER-IP:YOUR-SERVER-PORT and is listed on playrust.me after a short delay.

Some game server providers restrict access to RustDedicated_Data/Managed — you can usually ask their support to install the file for you, or install it through their control panel. Optional companion plugins (Clans, Friendly Fire) work through the friend API: allies you add on the map, and members of your in-game team, are highlighted for you.

Configuration

On first start Rust:IO creates oxide/config/RustIO.json. Edit it, then run reload RustIO from the server console to apply.

OptionDefaultDescription
displayMonumentstrueWhether the monuments layer is available to all players.
hideSpecificMonuments["cave","mountain"]Monuments hidden from the monuments layer.
displayBuildingsfalseWhether the buildings layer is available (admin-only data).
displayMortalitytrueWhether the mortality heat map layer is available.
broadcastChattrueBroadcast chat messages to the live map page.
broadcastSpawnstrueBroadcast player spawns to the live map chat.
broadcastDeathstrueBroadcast player deaths to the live map chat.
defaultLanguage"en"Default language of the live map page (en, cs, de, ru, fr, es).
welcomeMessage"To locate…"In-game chat welcome message. {url} is replaced with the map URL. null disables it.
helpMessage"Live map: {url}"Help message for use with other plugins.
apiKeynullAPI key to access the REST API without Steam auth. Use a long, random string.
ipOverridenullIP address to bind to in a proxy setup.

oxide/data/rustio/webmap.json — web extras: webPort (defaults to the game port), renderSize, showSleepers, updateIntervalMs, portalUrl (http://playrust.me/api/servers.php to appear in the browser), and a generated secret. The Buildings and Loot layers are available to admins only.

Translations

The map page ships with English, Czech, German, Russian, French and Spanish, switchable from the panel and remembered per browser. New languages are a small addition to the language table in the map page — leave {PLACEHOLDERS} untranslated and keep strings roughly the same length.

Troubleshooting

The map says my server is not responding

"A socket is accessed in a forbidden way"

Rust:IO couldn't bind the server's port over TCP. Check the external IP is correct and that the port doesn't clash with another TCP service. For RCON, set +rcon.port to game port +1 (RCON and Rust:IO both use TCP and cannot share a port).

Proxy setup

You can run Rust:IO behind a proxy to relieve the game server. Set ipOverride to 127.0.0.1 in RustIO.json and restart once, then front it with NGINX (keep internal and external ports equal):

worker_processes 1;
events { worker_connections 1024; }
http {
    map $http_upgrade $connection_upgrade { default upgrade; '' close; }
    server {
        listen 123.123.123.123:28015;              # external endpoint
        location / {
            proxy_pass http://127.0.0.1:28015;      # internal endpoint where RustIO runs
            proxy_http_version 1.1;
            proxy_set_header Host $http_host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

Web console

Signed-in admins (server owner/moderator) get a web RCON console right on the map page. Commands are sent to the game server and their output is returned — a direct connection to your server, no intermediate services. It is also reachable programmatically at POST /rcon (admin) with the command as the request body.

➡ Continue to the REST API reference.