A federated multiplayer RPG
A 2D overworld MMORPG where players explore tile-based maps, fight monsters in turn-based combat, earn loot, and shape a player-driven economy. Built on a federated server model: anyone can host a world, design their own areas, and invite others to play.
Three pillars: a living world, characters worth talking to, and combat you actually play.
Explore, fight, loot, and travel between worlds.
Fragmented Planes is a 2D multiplayer RPG played on tile-based overworld maps. Each area server hosts its own set of maps, monsters, NPCs, and items, defined in an area bundle that server operators and DMs author. When you connect, the server sends your client the full map state, the position of every player and entity, and you begin exploring in real time with everyone else on that server.
Movement is free across the 2D grid. Walk through meadows, forests, and dungeons. Approach a portal tile on the map, press a key, and travel to a connected map on the same server. The world scrolls around you; other players appear, move, and disappear as they enter and leave your range.
When you encounter a monster or boss, the game switches to turn-based combat with a four-phase resolution: move selection, effect calculation, animation, and a quick-time event (QTE) where precise inputs can parry, dodge, or mitigate incoming damage.
Every attack telegraphs before it lands -- a ring sweeps toward the strike point. Read it and press on the beat: a near-perfect parry negates the hit, a good one softens it, a miss takes it full. Timing decides the outcome, never dice.
Monsters and bosses drop items with defined drop tables and probability caps based on power tier. Soulbound items are yours forever; global items can be traded. Each global item is minted on the IAM registry with a chain hash, enabling secure ownership tracking across servers.
Maps connect through portal tiles that transport you to another map on the same server. Each portal has a target map and an entry position, creating connected world networks that server DMs design and lay out.
Your character has stats (strength, intelligence, defense, speed) that grow with experience. Equipment with stat bonuses modifies your combat performance. Your identity is a cryptographic keypair generated on your device, meaning only you control your account.
Player communication uses X25519 key exchange for end-to-end encrypted messaging. Your chat keys are generated on your device and stored inside your encrypted keychain, alongside your master identity.
No central authority. Anyone can run a server, create content, and shape the world.
Fragmented Planes is built on a federated model from the ground up. The IAM (Identity and Authority Management) server handles authentication and the global item registry, while area servers are completely independent. Anyone can spin up an area server, design their own maps, monsters, items, and NPCs using the area bundle format, and invite players to connect.
There is no single company running the game. There is no central game master. The project is open source, the protocol is documented, and the community governs itself through a review system where players vote on submitted content before it can be deployed on public servers.
Each area server is an independent process. The IAM directory lists all available servers, their player counts, and their status. Players choose where to connect, and server operators have full control over their environments, rules, and content.
Area bundles define everything about a world: tile maps with multiple layers, monsters with custom stats and QTE patterns, bosses with multi-phase fights, NPCs with dialogue trees, merchant inventories, portals connecting maps, and loot tables for every encounter.
Content submissions go through a community review cycle. Players are nominated as reviewers and vote on submissions. A safety scan checks submitted assets before they enter the queue. Approved content is deployed to public servers.
Your account is secured by a cryptographic keypair generated on your device. Your password never leaves your machine. Not even the IAM server can access your identity. If you host a server, you are in full control of your instance and its data.
Every wire format, API endpoint, database schema, and type definition is documented in the architecture spec. The IAM HTTP API, WebSocket protocol, heartbeat signing, area bundle format, and token model are all public. Anyone can build against them.
Gems and reputation are tracked on the IAM ledger. Global items are minted with ownership records. Monthly payouts distribute rewards to community contributors based on their participation and reputation scores.
Play instantly in your browser, or download a native build. No account setup required to start.
Self-contained native build for Linux (x86_64). No Godot install needed.
The Windows and macOS builds are unsigned: Windows SmartScreen
shows “More info → Run anyway”, and on macOS you may need to run
xattr -dr com.apple.quarantine on the app (or right-click → Open)
the first time. Android requires enabling “install from unknown sources”.
You only need the Area Server binary. Authentication and the
server directory are handled by the central IAM at
https://iam.fragmentedplanes.512b.it. Just pull the image, mount
your area bundle, and start.
The server needs the IAM's public key to verify its connection to the central IAM.
Create ./deploy/keys/iam.pub.pem before starting the
server (this is a public key, safe to copy as-is):
mkdir -p ./deploy/keys cat > ./deploy/keys/iam.pub.pem <<'EOF' -----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAkKb7bgMHbI4asbEvD/mMNpgnzcIvFuFapcayYMUahwA= -----END PUBLIC KEY----- EOF
The server mints its own Ed25519 key (server.key) on first run. Create a
docker-compose.yml with just the server service,
pointing at the central IAM:
docker pull dangerblack/fragmented-planes-server:latest
services:
server:
image: dangerblack/fragmented-planes-server
restart: unless-stopped
command:
- -server-id=my-server
- -area-name="My World"
- -iam-endpoint=https://iam.fragmentedplanes.512b.it
- -iam-pubkey-pem=/keys/iam.pub.pem
- -key-path=/keys/server.key
- -bundle-path=/bundle
- -server-url=wss://example.com:8081
- -port=8081
- -data-dir=/data
- -admin-port=8090
environment:
SERVER_ADMIN_API_KEY: ${SERVER_ADMIN_API_KEY:-}
volumes:
- ./deploy/keys:/keys
- ./my-bundle:/bundle:ro
- server-data:/data
ports:
- "8081:8081"
volumes:
server-data:
Save as docker-compose.yml next to your deploy/keys/ folder,
place your area bundle in a my-bundle/ directory beside it, and set
-server-url to the public address players will reach you at
(the IAM shares it so clients can connect). Then run docker compose up -d.
Use the standalone area editor (Godot 4.7) to design tile maps, place portals, configure monsters, author NPC dialogue, and set loot tables.
The editor saves your project as an area bundle -- a directory
containing a manifest.json (area metadata, entry map, death policy),
maps/ (tile maps), entities/ (monsters and items),
sprites/ (sprite sheets and FX), tilesets/ (tile definitions
and textures), portals.json (portal links between maps),
spawns.json (monster spawn zones), loot_tables.json
(drop tables), and scripts/ (NPC dialogue and behaviour scripts).
The server loads your bundle at startup. Update maps or entities in the
editor, restart the container, and the new content is live. The demo bundle at
shared/bundle/testdata/demo/ is a ready-to-run example --
use it as a reference for your own.
The Windows and macOS editor builds are unsigned. On Windows,
SmartScreen shows “More info → Run anyway”. On macOS, run
xattr -dr com.apple.quarantine "Fragmented Plane Editor.app" (or
right-click → Open the first time) to clear Gatekeeper quarantine.
Everything you need to author content for your own area server.
Write scriptable NPCs with Lua: dialogue trees, shops, quests, and per-player memory. Every hook and host function.
Read the guideCreate items, attacks, loot tables, and entities. The field-by-field JSON reference for the area bundle format.
Read the guideAuthor monsters that are fair, readable, and fun -- tiers, stat budgets, QTE timing, and multi-phase bosses, grounded in the live combat math.
Read the guideIf you have encountered a player violating the community guidelines (harassment, cheating, griefing, or other disruptive behaviour), please submit a report below.
The reporting form is powered by an automated workflow. If it does not load, open it in a new tab.