Worlds & PvP Types
Aetheria supports multiple game worlds, each with its own PvP rules. Players choose a world during registration and are locked to it for their character's lifetime.
World Types
| Type | PvP | Skull System | Description |
| NoPvP | Disabled | No | Players cannot attack each other. All PvP attacks are blocked. Field items convert to safe variants. |
| PvP | Enabled | Yes | Full skull system. Unjustified kills give skulls. White/Yellow/Red/Black skull progression. |
| PvP-Enforced | Enabled | No | No skull tracking. All PvP is always justified. No penalties for killing players. |
Seeded Worlds
| World | Type | Port |
| Antica | PvP | 8080 |
| Secura | No-PvP | 8081 |
Multi-Process Deployment
- Each world runs as a separate server process with
WORLD_ID env var.
- Example:
WORLD_ID=00000000-0000-0000-0000-000000000001 PORT=8080 cargo run
- Players are locked to their world in multi-world mode.
POST /api/select-world is disabled.
- In single-world mode (no
WORLD_ID), the server serves all players.
PvP Gating
- NoPvP worlds — All player-vs-player attacks are blocked. PVP field items (fire, poison, energy, magic wall, wild growth) convert to safe variants that don't damage players.
- PvP worlds — Full skull system: white skull (attacked first), yellow skull (attacked a skulled player), red skull (too many unjustified kills), black skull (extreme). PZ lock prevents teleport/travel while skulled.
- PvP-Enforced worlds — No skull tracking. All kills are justified. No PZ lock from PvP.
World-Specific Features
- Chat channels — World/Trade/Help/Advertising channels only broadcast to players in the same world.
- Highscores — Portal highscores page has a world filter dropdown.
- Client API switching — Client automatically switches REST and WebSocket endpoints to the world-specific server based on character's world assignment.
- PvP indicator — Game UI top bar shows world name + type badge.
API Endpoints
| Endpoint | Description |
GET /api/worlds | List active worlds with host/port/ws_port |
POST /api/select-world | Select a world (disabled in multi-world mode) |