fs25-map-mod
SKILL.md
FS25 Map Modding
Overview
Guide for creating and configuring FS25 map mods — terrain, placeables, farmlands, and environment setup.
When to Use
- Creating a new map mod
- Configuring terrain layers and ground types
- Setting up farmlands, placeables, or selling points
- Modifying environment settings (weather, seasons, growth)
Map Structure
FS25_MapName/
modDesc.xml
map/
map.xml # Main map configuration
map.i3d # Scene graph (3D world)
map01.i3d # Terrain
map01_dem.png # Height map (16-bit)
map01_densityMap_fruits.gdm
map01_densityMap_ground.gdm
map01_densityMap_stones.gdm
config/
environment.xml # Weather, daylight
farmlands.xml # Farmland parcels
items.xml # Savegame items
placementCollisionMap.grle
vehicles.xml # Starting vehicles
data/
fruitTypes.xml # Custom fruit types
groundTypes.xml # Terrain layers
map.xml Key Sections
<map>
<terrain rootNode="terrain"
heightMapFilename="map01_dem.png"
mapSize="2048"
heightScale="255"
unitsPerPixel="2" />
<farmlands filename="config/farmlands.xml" />
<vehicles filename="config/vehicles.xml" />
<items filename="config/items.xml" />
<placeables>
<placeable filename="placeables/sellingStation.xml"
position="100 0 200" rotation="0 90 0" />
</placeables>
<environment filename="config/environment.xml" />
</map>
Terrain
- Height map: 16-bit PNG, dimensions determine map size
- Map size formula:
pixels × unitsPerPixel = meters - Common sizes: 1024 (1km), 2048 (2km), 4096 (4km)
- heightScale: Max terrain height in meters
Ground Types / Terrain Layers
Defined in groundTypes.xml or the map's custom fruitTypes.xml:
- Each layer has a diffuse, normal, and specular texture
- Layers are painted in the GIANTS Editor
- Maximum layers varies by map settings
Farmlands
<farmlands>
<farmland id="1" pricePerHa="50000" areaInHa="12.5"
defaultFarmProperty="true" showOnMap="true" />
<farmland id="2" pricePerHa="40000" areaInHa="8.0" />
</farmlands>
- Each farmland has a colored region on the
farmland.grleinfo layer defaultFarmProperty="true"— owned at game startnpc="true"— NPC-owned, cannot be purchased
Placeables
Placeables are objects the player can build/place:
- Defined as separate XMLs with their own specializations
- Positioned in
map.xmlor placed by player in-game - Base game placeables in
dataS/data/placeables/ - Placeable specializations in
dataS/scripts/placeables/specializations/
XSD Schemas
The game ships XML Schema files (in the game's shared/xml/schema/ directory) that define every valid element and attribute. Use these as the authoritative reference:
| Schema | Covers |
|---|---|
shared/xml/schema/mission00.xsd |
Map XML (map.xml) structure |
shared/xml/schema/farmlands.xsd |
Farmland definitions |
shared/xml/schema/fruitTypes.xsd |
Fruit type configuration |
shared/xml/schema/fields.xsd |
Field definitions |
shared/xml/schema/foliageType.xsd |
Foliage types |
shared/xml/schema/densityMapHeightTypes.xsd |
Density map height types |
shared/xml/schema/stones.xsd |
Stone system |
shared/xml/schema/aiSystem.xsd |
AI system paths |
shared/xml/schema/trafficSystem.xsd |
Traffic configuration |
shared/xml/schema/placeable.xsd |
Placeable XML structure |
When unsure about valid attributes or value ranges, read the XSD — it's more reliable than guessing from examples.
Common Workflow
- Check the XSD schema for valid attributes and structure
- Start from a base game map as reference (
dataS/data/maps/) - Export from GIANTS Editor with terrain and scene graph
- Configure
map.xmlwith terrain settings - Set up farmlands, selling points, and spawn points
- Add custom ground types if needed
- Test in-game, check
log.txtfor missing references
Weekly Installs
2
Repository
paint-a-farm/fs25-skillsGitHub Stars
10
First Seen
Feb 27, 2026
Security Audits
Installed on
opencode2
gemini-cli2
antigravity2
github-copilot2
windsurf2
codex2