This document provides a comprehensive reference for all built-in maps in the RS2V Custom Server, including map properties, game mode compatibility, rotation management, adding custom maps, Steam Workshop integration, and the map voting system.
For game mode details, see GAME_MODES.md. For configuration file format, see CONFIGURATION.md.
- 1. Overview
- 2. Built-in Maps
- 3. Map Properties Reference
- 4. Map Rotation
- 5. Adding Custom Maps
- 6. Steam Workshop Integration
- 7. Map Voting System
- 8. Map Administration
The RS2V Custom Server ships with eight built-in maps, each designed for specific game modes, player counts, and atmospheric conditions. Maps are defined in config/maps.ini and store their asset files in the data/maps/ directory (configurable via [DataPaths].maps_path in server.ini).
Maps use the Unreal Engine .umap format. Each map consists of:
- Geometry: Terrain, structures, and static meshes
- Spawn Points: Per-team spawn locations referenced by
teams.ini - Objectives: Capture points, flag stands, and zone markers used by game modes
- Lighting: Baked and dynamic lighting matching the map's time-of-day setting
- Audio: Ambient sounds, weather effects, and environmental audio
- The server reads
config/maps.iniat startup and registers all map sections. - The
MapManagervalidates that each map's.umapfile exists inmaps_path. - The initial map is the first entry in the rotation (or specified by command line).
- Map transitions load the new
.umapfile, reset game state, and initialize the selected game mode's objectives.
| Property | Value |
|---|---|
| MapID | carcassonne |
| Display Name | Carcassonne |
| File | carcassonne.umap |
| Supported Modes | Conquest, HotZone, Domination |
| Default Mode | Conquest |
| Players | 2–64 |
| Time of Day | Day |
| Weather | Clear |
| Vote Weight | 80 (high) |
Description: A large urban map featuring multiple capture points spread across narrow streets, plazas, and multi-story buildings. The dense urban environment creates intense close-quarters combat around capture points with long sightlines between districts. Ideal for large-scale Conquest matches where teams must control and hold multiple zones simultaneously.
Key Features:
- Multiple capture points at strategic intersections
- Multi-story buildings providing elevated positions
- Narrow streets creating natural chokepoints
- Open plazas for vehicle movement
- Strong flanking routes through alleys and buildings
| Property | Value |
|---|---|
| MapID | hill_400 |
| Display Name | Hill 400 |
| File | hill_400.umap |
| Supported Modes | Conquest, Elimination, Domination |
| Default Mode | Elimination |
| Players | 2–48 |
| Time of Day | Dawn |
| Weather | Fog |
| Vote Weight | 60 (medium) |
Description: A hillside map set at dawn with heavy fog, reducing visibility and emphasizing close-range combat and sound-based awareness. The elevation changes create natural defensive positions and challenging attack routes. The fog makes this map particularly well-suited for tactical Elimination rounds where stealth matters.
Key Features:
- Significant elevation changes with hilltop defensive positions
- Dense fog limiting visibility to medium-short range
- Dawn lighting creating atmospheric silhouettes
- Terrain-based cover with trenches and foxholes
- Multiple approach routes up the hillside
| Property | Value |
|---|---|
| MapID | rubber_plant |
| Display Name | Rubber Plant |
| File | rubber_plant.umap |
| Supported Modes | Conquest, HotZone, CaptureTheFlag |
| Default Mode | Conquest |
| Players | 2–56 |
| Time of Day | Day |
| Weather | Rain |
| Vote Weight | 70 (medium-high) |
Description: An industrial rubber plantation with a mix of open fields, processing buildings, and dense vegetation. The rain affects visibility and creates ambient noise that can mask footsteps. The map's symmetrical layout makes it well-suited for Capture the Flag, with bases at opposite ends and multiple approach routes through the plantation.
Key Features:
- Mix of open fields and dense plantation rows
- Industrial processing buildings as key control points
- Rain reducing visibility and masking audio cues
- Symmetrical layout ideal for CTF
- Vehicle-accessible main roads with infantry-only shortcuts
| Property | Value |
|---|---|
| MapID | hacienda |
| Display Name | Hacienda |
| File | hacienda.umap |
| Supported Modes | HotZone, Elimination, Domination |
| Default Mode | HotZone |
| Players | 2–64 |
| Time of Day | Dusk |
| Weather | Clear |
| Vote Weight | 75 (medium-high) |
Description: A sprawling estate compound set at dusk, featuring a central hacienda building surrounded by courtyards, gardens, outbuildings, and perimeter walls. The warm dusk lighting creates long shadows and atmospheric gameplay. The central compound is a natural Hot Zone objective.
Key Features:
- Central hacienda building as the primary objective
- Multiple courtyards and garden areas
- Dusk lighting with dramatic shadows
- Clear weather maintaining good visibility
- Perimeter walls creating distinct inside/outside zones
| Property | Value |
|---|---|
| MapID | hill_937 |
| Display Name | Hill 937 |
| File | hill_937.umap |
| Supported Modes | HotZone, CaptureTheFlag, Elimination |
| Default Mode | HotZone |
| Players | 2–64 |
| Time of Day | Night |
| Weather | Clear |
| Vote Weight | 50 (standard) |
Description: A heavily contested hilltop position set at night with clear skies. The darkness dramatically changes combat dynamics — muzzle flashes reveal positions, and sound becomes critical for awareness. The hill's summit serves as a natural Hot Zone objective.
Key Features:
- Night setting with moonlight and artificial lighting
- Hilltop summit as the primary objective
- Muzzle flash visibility in darkness adds tactical depth
- Clear night sky with star navigation
- Dense jungle vegetation on the hillside
| Property | Value |
|---|---|
| MapID | village |
| Display Name | Village |
| File | village.umap |
| Supported Modes | Conquest, Domination, CaptureTheFlag |
| Default Mode | Conquest |
| Players | 2–64 |
| Time of Day | Day |
| Weather | Rain |
| Vote Weight | 65 (medium) |
Description: A rural Vietnamese village with rice paddies, thatched-roof buildings, a central market area, and surrounding jungle. Rain creates muddy terrain and reduced visibility. The village layout provides diverse combat environments from open paddy fields to tight building interiors.
Key Features:
- Traditional Vietnamese village architecture
- Open rice paddies with minimal cover
- Dense village center with building-to-building combat
- Surrounding jungle providing flanking routes
- Rain creating atmospheric and gameplay effects
| Property | Value |
|---|---|
| MapID | skirmish_field |
| Display Name | Skirmish Field |
| File | skirmish_field.umap |
| Supported Modes | Elimination, Domination |
| Default Mode | Elimination |
| Players | 2–32 |
| Time of Day | (not set) |
| Weather | (not set) |
| Vote Weight | 50 (standard) |
Description: A compact map designed for smaller player counts. The tight layout forces frequent engagements and fast-paced gameplay. Ideal for competitive Elimination matches with smaller teams.
Key Features:
- Compact map size for intense action
- Designed for 16–32 players
- Fast-paced gameplay with short engagement distances
- Minimal downtime between encounters
- Balanced sightlines for both teams
| Property | Value |
|---|---|
| MapID | coastal_assault |
| Display Name | Coastal Assault |
| File | coastal_assault.umap |
| Supported Modes | Conquest, HotZone |
| Default Mode | Conquest |
| Players | 2–64 |
| Time of Day | Dawn |
| Weather | Clear |
| Vote Weight | 55 (medium) |
Description: A beachfront assault map with one team attacking from the sea and the other defending coastal fortifications. The asymmetric layout creates a distinct attacker/defender dynamic. Dawn lighting provides growing visibility as the round progresses.
Key Features:
- Asymmetric attacker/defender layout
- Beach approach with minimal cover for attackers
- Coastal fortifications and bunkers for defenders
- Dawn lighting increasing visibility over time
- Multiple attack paths from the beach inland
Every map section in config/maps.ini supports these properties:
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
display_name |
string | Yes | — | Human-readable name shown in server browser and UI |
file |
path | Yes | — | Map asset filename relative to maps_path |
supported_modes |
string | Yes | — | Comma-separated list of compatible game mode IDs |
min_players |
integer | No | 2 |
Minimum players required to start |
max_players |
integer | No | 64 |
Maximum player capacity for this map |
default_mode |
string | No | (first mode) | Default game mode when no mode is specified |
time_of_day |
enum | No | (unset) | Lighting setting: day, dusk, night, dawn |
weather |
enum | No | (unset) | Weather effect: clear, rain, fog |
vote_weight |
integer | No | 50 |
Map vote probability weight (1–100) |
description |
string | No | (empty) | Brief map description |
| Setting | Visibility | Lighting | Gameplay Impact |
|---|---|---|---|
day |
Full | Bright, even lighting | Standard combat visibility |
dusk |
Reduced | Warm tones, long shadows | Shadows create concealment |
night |
Limited | Moonlight, artificial lights | Muzzle flash reveals position |
dawn |
Increasing | Gradually brightening | Visibility changes during round |
| Setting | Visibility | Audio | Movement |
|---|---|---|---|
clear |
Full | Normal | Standard |
rain |
Reduced | Rain noise masks footsteps | Mud may slow movement |
fog |
Significantly reduced | Muffled sounds | Standard |
The map rotation follows the order of sections in config/maps.ini. After the last map, the rotation loops back to the first.
Default rotation order:
- Carcassonne (Conquest)
- Hill 400 (Elimination)
- Rubber Plant (Conquest)
- Hacienda (HotZone)
- Hill 937 (HotZone)
- Village (Conquest)
- Skirmish Field (Elimination)
- Coastal Assault (Conquest)
Use the rotation admin command to modify the rotation without editing files:
rotation list # View current rotation
rotation add desert_assault # Add a map
rotation remove skirmish_field # Remove a map
See ADMIN_COMMANDS.md for full command details.
Reorder, add, or remove map sections in config/maps.ini. The file supports hot-reload — changes take effect at the next map transition without a server restart.
Place the .umap file in the maps_path directory (default: data/maps/):
cp my_custom_map.umap /opt/rs2v/data/maps/Add a new section to config/maps.ini:
[my_custom_map]
display_name = My Custom Map
file = my_custom_map.umap
supported_modes = Conquest,Elimination
min_players = 2
max_players = 48
default_mode = Conquest
time_of_day = day
weather = clear
vote_weight = 50
description = A custom map for testing.The map will be available at the next map rotation update (hot-reloaded). To test immediately:
changemap my_custom_map
- Spawn points: Ensure the map has valid spawn points for each team. Spawn point files are referenced in
config/teams.iniviaspawn_points_file. - Objective markers: For modes like Conquest and HotZone, the map needs objective markers at valid positions.
- Performance: Test with the expected player count to ensure acceptable frame rates and network performance.
- File size: Keep
.umapfiles as small as possible — clients need to download them on connect if using Workshop integration.
Custom maps, mods, and assets can be distributed via Steam Workshop. The server automatically downloads required Workshop items and ensures clients have them when connecting.
Add entries to config/workshop_items.txt:
# Custom Maps
123456789 map desert_assault.umap maps/desert_assault # Desert Assault map
# Gameplay Mods
223344556 mod night_ops.pak mods/night_ops # Night Operations
# Cosmetic Assets
556677889 asset vietnam_uniforms.pak assets/uniforms # Vietnam-era uniforms
| Type | Description | Client Behavior |
|---|---|---|
map |
Custom map files (.umap) |
Required download before playing on the map |
mod |
Gameplay modifications (.pak) |
Required download before connecting |
asset |
Cosmetic content (.pak) |
Required download before connecting |
<WorkshopID> <Type> <FileName> <LocalPath> # <Description>
| Field | Description |
|---|---|
WorkshopID |
Numeric Steam Workshop item ID (from the item's URL) |
Type |
map, mod, or asset |
FileName |
Expected filename after extraction |
LocalPath |
Server-side storage path relative to the data directory |
Description |
Optional human-readable note (after #) |
- Workshop items are downloaded at server startup; changes to
workshop_items.txtrequire a server restart. - Clients are prompted to download missing items when connecting.
- The server validates that all required items are present before allowing a client to join gameplay.
At the end of each round (or match), the server presents players with a selection of maps to vote on. The most-voted map becomes the next map in the rotation.
The vote_weight property in config/maps.ini influences how likely a map is to appear as a vote option:
| Weight Range | Likelihood | Example |
|---|---|---|
| 80–100 | Very likely | Popular maps everyone enjoys |
| 60–79 | Likely | Well-liked maps |
| 40–59 | Standard | Average rotation maps |
| 20–39 | Uncommon | Niche or newer maps |
| 1–19 | Rare | Maps for variety only |
The number of vote options and voting duration are controlled by the server's internal settings. Typically:
- 3–5 map options are presented per vote
- 30 seconds of voting time
- The current map is excluded from vote options
- Ties are broken by vote weight
| Command | Description | Example |
|---|---|---|
changemap <mapName> |
Switch to a map immediately | changemap hill_937 |
rotation list |
View the current map rotation | rotation list |
rotation add <mapName> |
Add a map to the rotation | rotation add my_custom_map |
rotation remove <mapName> |
Remove a map from the rotation | rotation remove skirmish_field |
status |
See the current map and mode | status |
See ADMIN_COMMANDS.md for full command reference.
| Map | Conquest | Elimination | CTF | HotZone | Domination |
|---|---|---|---|---|---|
| Carcassonne | Yes | — | — | Yes | Yes |
| Hill 400 | Yes | Yes | — | — | Yes |
| Rubber Plant | Yes | — | Yes | Yes | — |
| Hacienda | — | Yes | — | Yes | Yes |
| Hill 937 | — | Yes | Yes | Yes | — |
| Village | Yes | — | Yes | — | Yes |
| Skirmish Field | — | Yes | — | — | Yes |
| Coastal Assault | Yes | — | — | Yes | — |
End of MAPS.md
For game mode details, see GAME_MODES.md. For configuration, see CONFIGURATION.md. For admin commands, see ADMIN_COMMANDS.md.