Installation
- Requirements:
- Spigot/Paper 1.21+
- Dynmap plugin
- (Optional) CoreProtect plugin
- Download the plugin:
- Install:
- Copy target/dynmap-railways-1.0.0.jar to your server's plugins/ folder
- Restart your server
- Verify:
- Check logs for "DynmapRailways v1.0.0 enabled!"
- Look for "Railway Lines" and "Railway Stations" in Dynmap layers
Usage
Rail Scanning
Automatically detect rail networks in your world:
/railway scan # Scan all loaded chunks in all worlds
/railway scan <radius> # Scan chunks within radius around you (admin only)
What happens during scanning:
- Finds all rail blocks in loaded chunks
- Clusters adjacent rails into connected networks using BFS pathfinding
- Assigns unique short hex IDs (e.g., a3f, b2c)
- Assigns TfL colors automatically
- Merges with existing lines to prevent duplicates
- Filters out lines shorter than configured minimum (default: 15 blocks)
- Updates Dynmap visualization
Listing Lines
View all detected and created lines:
/railway list # Show all lines with IDs, names, block counts, and colors
/railway line list # Same as above
Example output:
Rail Lines (3):
a3f: Northern Line (245 blocks, #E21836)
b2c: Circle Line (189 blocks, #FFD300)
5d1: My Custom Route (42 blocks, #888888)
Line Management
Create Manual Lines
Build custom lines by adding waypoints:
/railway line create <name> # Create a new manual line
/railway line addpoint <id> # Add waypoint at your current location
Example workflow:
/railway line create My Express Route
# Output: Created line: My Express Route (ID: a3f)
# Stand at each waypoint location and run:
/railway line addpoint a3f
# Repeat at each location along your route
Customize Lines
Personalize your lines:
/railway line color <id> <#hex> # Set custom color (e.g., #FF0000 for red)
/railway line rename <id> <name> # Rename any line
/railway line remove <id> # Delete a line
Examples:
/railway line color a3f #DC241F # Set to red
/railway line rename a3f Northern Line
/railway line remove b2c # Remove a line
Station Management
Mark important locations on your rail network:
/railway station create <name> # Create station at your location
/railway station list # View all stations
/railway station remove <name> # Remove a station
Examples:
/railway station create King's Cross
/railway station create Paddington Station
/railway station list
/railway station remove King's Cross
Stations render as white circles (customizable in config) on the map.
Admin Commands
Administrative tools:
/railway reload # Reload configuration and refresh visualization
/railway debug info # Show debug information
Permissions
Permission Structure
railway.admin (default: op)
├─ Full control over everything
├─ Can scan for rails
├─ Can edit any line regardless of creator
└─ Inherits all other permissions
railway.line.personal (default: true)
├─ Create manual lines
├─ Edit lines you created
└─ Edit scanned lines where you're majority placer
railway.station (default: true)
└─ Create and manage stations
railway.use (default: true)
└─ Basic command access
Permission Details
Permission
Default
Description
railway.use true Use basic commands like /railway list
railway.line.personal true Create and manage your own lines
railway.station true Create and manage stations
railway.admin op Full administrative access
Permission Examples
Regular Player (railway.line.personal + railway.station):
- ✅ Create manual lines
- ✅ Customize their own lines (color, rename, addpoint, remove)
- ✅ Create stations anywhere
- ❌ Cannot scan for rails
- ❌ Cannot edit other players' lines
Admin (railway.admin):
- ✅ Everything above, plus:
- ✅ Scan for rails
- ✅ Edit any line
- ✅ Delete any line
- ✅ Full control
⚙️ Configuration
Config file: plugins/DynmapRailways/config.yml
# General settings
general:
debug: false # Enable debug logging (default: false)
min-line-length: 15 # Minimum blocks for a line to be saved (default: 15)
# CoreProtect integration
coreprotect:
enabled: true # Enable CoreProtect integration (default: true)
player-placed-only: true # Only render player-placed lines (default: true)
min-age-days: 0 # Minimum age filter in days, 0 = disabled
max-age-days: 0 # Maximum age filter in days, 0 = disabled
ignore-players: [] # List of players to ignore
# Rail line appearance
lines:
width: 3 # Line width in pixels (default: 3)
opacity: 1.0 # Line opacity 0.0-1.0 (default: 1.0)
# Station appearance
stations:
radius: 5.0 # Circle radius in blocks (default: 5.0)
fill-color: "#FFFFFF" # Fill color hex (default: white)
fill-opacity: 0.9 # Fill opacity 0.0-1.0 (default: 0.9)
border-width: 2 # Border width in pixels (default: 2)
border-color: "#000000" # Border color hex (default: black)
border-opacity: 1.0 # Border opacity 0.0-1.0 (default: 1.0)
Color Palette
Default TfL London Underground colors:
Line
Color
Hex
Bakerloo Red #E21836
Central Black #000000
Circle Yellow #FFD300
District Green #00B0F0
H&C Pink #EE7C0E
Jubilee Grey #A0A5A9
Metropolitan Magenta #F391A0
Northern Dark Red #9B0056
Piccadilly Blue #E7A81E
Victoria Light Blue #00A4EF
W&C Navy #0019A8
Colors cycle automatically for scanned lines. Set custom colors with /railway line color <id> <#hex>.