Maps4fs V1.8.17

FS25 Mods |
Maps4fs V1.8.17

Maps4fs V1.8.17

🗺️ Supports 2×2, 4×4, 8×8, 16×16 and any custom size maps
🔄 Support map rotation
🌐 Supports custom DTM Providers 🆕
🌾 Automatically generates fields
🌽 Automatically generates farmlands
🌿 Automatically generates decorative foliage
🌲 Automatically generates forests
🌊 Automatically generates water planes
📈 Automatically generates splines 🆕
🛰️ Automatically downloads high resolution satellite images 🆕
🌍 Based on real-world data from OpenStreetMap
🗺️ Supports custom OSM maps
🏞️ Generates height map using SRTM dataset
📦 Provides a ready-to-use map template for the Giants Editor
🚜 Supports Farming Simulator 22 and 25
🔷 Generates *.obj files for background terrain based on the real-world height map
📄 Generates scripts to download high-resolution satellite images from QGIS in one click
📕 Detailed documentation and tutorials
🧰 Modder Toolbox to help you with various tasks


🌎 Detailed terrain based on real-world data.


🛰️ Realistic background terrain with satellite images.


📐 Perfectly aligned background terrain.


🌿 Automatically generates decorative foliage.


🌲 Automatically generates forests.


🌲 Allows to select trees for generation.


🌊 Automatically generates water planes.


📈 Automatically generates splines.


🖌️ Allows customization of the texture schema.


🗒️ True-to-life blueprints for fast and precise modding.


🌾 Field generation with one click.


🌽 Automatic farmlands generation based on the fields.


How to create a FS25 or FS22 map from real-world data using maps4FS

Quick Start – There are several ways to use the tool. You obviously need the first one, but you can choose any of the others depending on your needs.

For most users
Option 1: Open the maps4fs and generate a map template in a few clicks.

For advanced users
Option 2: Run the Docker version in your browser. Launch the following command in your terminal:

docker run -d -p 8501:8501 --name maps4fs iwatkot/maps4fs

– And open http://localhost:8501 in your browser.
– If you don’t know how to use Docker, navigate to the Docker version, it’s really simple.
– Check out the Docker FAQ if you have any questions.

For developers
Option 3: Python package. Install the package using the following command:

pip install maps4fs

And refer to the Python package or run from the source section to learn how to use it.

Overview

This project is inspired by the impressive maps4cim initiative.

Its primary goal is to generate map templates for Farming Simulator based on real-world data. However, templates are not full maps, they serve as a foundation for map creation. This tool provides a terrain height map and overlays built-in textures to outline different land types and structures with accurate shapes and scales.

The actual map-making process is up to you. If you were expecting a fully playable map right away, this tool won’t provide that. But if you’re a map creator, it will significantly speed up your workflow.

For beginners, here’s a quick guide:

  1. Generate a map template with this tool.
  2. Download the Giants Editor.
  3. Open the template in Giants Editor.
  4. Start building your map by adding roads, fields, buildings, and more.
Previews

The generator also produces several map previews, each offering a different perspective:

  1. General Preview – Combines all layers into a single image using different colors.
  2. Grayscale DEM Preview – Displays the height map in grayscale, showing elevation as it is.
  3. Colored DEM Preview – A color-coded height map where blue represents the lowest areas and red indicates the highest elevations.

Preview of a 16 km map with a 500-meter mountain in the middle of it.

Parameters:

  • Coordinates: 45.15, 19.71
  • Size: 16 x 16 km
How To Run

Option 1: Public version
🟢 Recommended for all users.
🛠️ Don’t need to install anything.
🗺️ Supported map sizes: 2×2, 4×4, 8×8 km.
⚙️ Advanced settings: enabled.
🖼️ Texture dissolving: enabled.

Using the public version on maps4fs.xyz is the easiest way to generate a map template. Just open the link and follow the instructions. Note: due to CPU and RAM limitations of the hosting, the generation may take some time. If you need faster processing, use the Docker version.

Using it is easy and doesn’t require any guides. Enjoy!

Option 2: Docker version
🟠 Recommended for users who want bigger maps, fast generation, nice-looking textures, and advanced settings.
🛠️ Launch with one single command.
🗺️ Supported map sizes: 2×2, 4×4, 8×8, 16×16 km and any custom size.
⚙️ Advanced settings: enabled.
🖼️ Texture dissolving: enabled.

Check out the Docker FAQ if you have any questions. You can launch the project with minimalistic UI in your browser using Docker.

Follow these steps:
– Install Docker for your OS.
– Run the following command in your terminal:

docker run -d -p 8501:8501 --name maps4fs iwatkot/maps4fs

– Open your browser and go to http://localhost:8501
– Fill in the required fields and click on the Generate button.
– When the map is generated click on the Download button to get the map.

Option 3: Python package or source code
🔴 Recommended for developers.
🗺️ Supported map sizes: 2×2, 4×4, 8×8, 16×16 km and any custom size.
⚙️ Advanced settings: enabled.
🖼️ Texture dissolving: enabled.

You can use the Python package to generate maps.

Follow these steps:
1. Install the package from PyPI:

pip install maps4fs

Or clone the repository and install the package from the source code:

git clone https://github.com/iwatkot/maps4fs.git
cd maps4fs
dev/create_venv.ps1 # for Windows
sh dev/create_venv.sh # for Linux

# Activate the virtual environment.
./venv/scripts/activate # for Windows
source venv/bin/activate # for Linux

# Edit the demo.py file to set the parameters.
python demo.py

2. Import the Game class and create an instance of it:

import maps4fs as mfs

game_code = "fs25"
game = mfs.Game.from_code(game_code)

dtm_provider = mfs.SRTM30Provider
dtm_provider_settings = mfs.SRTM30ProviderSettings(easy_mode=True, power_factor=0)

lat, lon = 45.28, 20.23
coordinates = (lat, lon)
size = 2048
rotation = 25

map_directory = "map_directory"
os.makedirs(map_directory, exist_ok=True)

mp = mfs.Map(
    game,
    dtm_provider,
    dtm_provider_settings,
    coordinates,
    size,
    rotation,
    map_directory,
)

In this case, the library will use the default templates, which should be present in the data directory, which should be placed in the current working directory.

Structure example:

📁 data
 ┣ 📄 fs22-map-template.zip
 ┗ 📄 fs22-texture-schema.json

So it’s recommended to download the data directory from the repository and place it in the root of your project.

3. Launch the generation process.
The generate method returns a generator, which yields the active component of the map. You can use it to track the progress of the generation process.

for component_name in mp.generate():
    print(f"Generating {component_name}...")

The map will be saved in the map_directory directory.
➡️ Check out the demo.py file for a complete example.

Modder Toolbox

The tool now has a Modder Toolbox, which is a set of tools to help you with various tasks. You can open the toolbox by switching to the 🧰 Modder Toolbox tab in the StreamLit app.

Tool Categories

Tools are divided into categories, which are listed below.

For custom schemas

  • Tree Schema Editor – Lets you browse all available tree models and choose which ones to include in your map. Once selected, click Show updated schema, copy the generated JSON schema, and paste it into the Expert settings to apply the chosen trees during map generation.
  • Texture Schema Editor – Allows you to preview all supported textures and adjust their settings, such as priority and OSM tags. After making changes, click Show updated schema, copy the JSON schema, and use it in the Expert settings to generate the map with the modified textures.

For Textures and DEM

  • Fix Custom OSM File – This tool corrects common errors in a custom OSM file. However, it may not fully resolve all issues if the file contains uncommon errors.
  • GeoTIFF Windowing – Enables you to upload a GeoTIFF file and select a specific region to extract. This is particularly useful for working with high-resolution DEM data to generate a height map.

For Background terrain

Image to OBJ Model Converter – Transforms an image into an OBJ model, which can be used to create background terrain for your map. This is especially useful if you have high-resolution DEM data and want to generate realistic terrain from it.

Supported objects

The project is based on the OpenStreetMap data. So, refer to this page to understand the list below.

You can find the active schemas here:
– FS25
– FS22

Learn more how to work with the schema in the Texture schema section. You can also use your own schema in the Expert settings section.

Generation info

The script generates a generation_info.json file in the output folder, organizing details into various sections that represent different components of the map generator. This information may be useful when working with other tools or services to enhance your map.

List of Components:

  • Config – Manages the map.xml file, which contains the basic description of the map.
  • Texture – Records details about the textures used in map generation.
  • DEM – Describes the Digital Elevation Model (DEM) used to create terrain, linked to the dem.png height map.
  • I3D – Contains information about the i3d file, including specific attributes, properties, and file paths.
  • Background – Defines the eight surrounding tiles that form the background of the map.

Below, you’ll find descriptions of each component and their corresponding fields.
ℹ️ If a component isn’t listed in the generation_info.json file, it currently does not store any data.

Config

Example of the Config component:

"Config": {
    "Overview": {
        "epsg3857_string": "2249906.6679576184,2255734.9033189337,5663700.389039194,5669528.6247056825 [EPSG:3857]",
        "south": 45.304132173367165,
        "west": 45.267296012425376,
        "north": 20.263611405732693,
        "east": 20.211255476687537,
        "height": 4096,
        "width": 4096
    }
},

The Overview section provides details for generating an overview image, which serves as the in-game map. It includes the epsg3857_string, which can be used in QGIS to retrieve satellite imagery. This section defines the map’s region along with its borders, typically covering an area twice the size of the actual map.

And here’s the list of the fields:

  • “epsg3857_string” – the string representation of the bounding box in the EPSG:3857 projection, it is required to obtain the satellite images in the QGIS,
  • “south” – the southern border of overview region,
  • “west” – the western border of overview region,
  • “north” – the northern border of overview region,
  • “east” – the eastern border of overview region,
  • “height” – the height of the overview region in meters (2X the size of the map),
  • “width” – the width of the overview region in meters.
Texture

Example of the Texture component:

"Texture": {
    "coordinates": [
        45.28571409289627,
        20.237433441210115
    ],
    "bbox": [
        45.29492313313172,
        45.27650505266082,
        20.250522423471406,
        20.224344458948824
    ],
    "map_height": 2048,
    "map_width": 2048,
    "minimum_x": 439161.2439774908,
    "minimum_y": 5013940.540089059,
    "maximum_x": 441233.5397821935,
    "maximum_y": 5016006.074349126,
},

And here’s the list of the fields:

  • “coordinates” – the coordinates of the map center which you entered,
  • “bbox” – the bounding box of the map in lat and lon,
  • “map_height” – the height of the map in meters (this one is from the user input, e.g. 2048 and so on),
  • “map_width” – the width of the map in meters (same as above),
  • “minimum_x” – the minimum x coordinate of the map (UTM projection),
  • “minimum_y” – the minimum y coordinate of the map (UTM projection),
  • “maximum_x” – the maximum x coordinate of the map (UTM projection),
  • “maximum_y” – the maximum y coordinate of the map (UTM projection),
Background

The background component consists of the 8 tiles, each one representing the tile, that surrounds the map. The tiles are named as the cardinal points, e.g. “N”, “NE”, “E” and so on.

Example of the Background component:

"Background": {
"N": {
    "center_latitude": 45.30414170952092,
    "center_longitude": 20.237433441210115,
    "epsg3857_string": "2251363.25324853,2254278.318028022,5668072.719985372,5670987.784803056 [EPSG:3857]",
    "height": 2048,
    "width": 2048,
    "north": 45.31335074975637,
    "south": 45.29493266928547,
    "east": 20.250526677438195,
    "west": 20.224340204982035
},
}

And here’s the list of the fields:

  • “center_latitude” – the latitude of the center of the tile,
  • “center_longitude” – the longitude of the center of the tile,
  • “epsg3857_string” – the string representation of the bounding box in the EPSG:3857 projection, it is required to obtain the satellite images in the QGIS,
  • “height” – the height of the tile in meters,
  • “width” – the width of the tile in meters,
  • “north” – the northern border of the tile,
  • “south” – the southern border of the tile,
  • “east” – the eastern border of the tile,
  • “west” – the western border of the tile,
Texture schema

maps4fs uses a simple JSON file to define the texture schema. For each ofthe supported games, this file has unique entries, but the structure is the same. Here’s an example of the schema for Farming Simulator 25:

[
  {
    "name": "forestRockRoots",
    "count": 2,
    "exclude_weight": true
  },
  {
    "name": "grass",
    "count": 2,
    "tags": { "natural": "grassland" },
    "color": [34, 255, 34],
    "priority": 0
  },
  {
    "name": "grassClovers",
    "count": 2
  },
  {
    "name": "grassCut",
    "count": 2
  },
  {
    "name": "grassDirtPatchy",
    "count": 2,
    "tags": { "natural": ["wood", "tree_row"] },
    "width": 2,
    "color": [0, 252, 124]
  }
]

Let’s have a closer look at the fields:

  • name – the name of the texture. Just the way the file will be named.
  • count – the number of textures of this type. For example, for the dirtMedium texture there will be two textures: dirtMedium01_weight.png and dirtMedium02_weight.png. ℹ️ There’s one texture that has count 0, it’s the waterPuddle texture from FS22, which is not present in FS25.
  • tags – the tags from the OpenStreetMap data. Refer to the section Supported objects to see the list of supported tags. If there are no tags, the texture file will be generated empty and no objects will be placed on it.
  • width – the width of the texture in meters. Some of the objects from OSM (roads, for example) are lines, not areas. So, to draw them correctly, the tool needs to know the width of the line.
  • color – the color of the texture. It’s used only in the preview images and has no effect on the map itself. But remember that previews are crucial for the map-making process, so it’s better to set the color to something that represents the texture.
  • priority – the priority of the texture for overlapping. Textures with higher priorities will be drawn over the textures with lower priorities. ℹ️ The texture with 0 priority considers the base layer, which means that all empty areas will be filled with this texture.
  • exclude_weight – this is only used for the forestRockRoots texture from FS25. It just means that this texture has no weight postfix, that’s all.
  • usage – the usage of the texture. Mainly used to group different textures by the purpose. For example, the grass, forest, drain.
  • background – set it to True for the textures, which should have impact on the Background Terrain, by default it’s used to subtract the water depth from the DEM and background terrain.
  • info_layer – if the layer is saving some data in JSON format, this section will describe it’s name in the JSON file. Used to find the needed JSON data, for example for fields it will be fields and as a value – list of polygon coordinates.
  • invisible – set it to True for the textures, which should not be drawn in the files, but only to save the data in the JSON file (related to the previous field).
  • procedural – is a list of corresponding files, that will be used for a procedural generation. For example: “procedural”: [“PG_meadow”, “PG_acres”] – means that the texture will be used for two procedural generation files: masks/PG_meadow.png and masks/PG_acres.png. Note, that the one procuderal name can be applied to multiple textures, in this case they will be merged into one mask.
  • border – this value defines the border between the texture and the edge of the map. It’s used to prevent the texture from being drawn on the edge of the map. The value is in pixels.
Background terrain

The tool now supports background terrain generation, which helps create a more immersive environment around the map.

Background terrain represents the surrounding landscape beyond the playable area. Without it, the map would appear to be floating in empty space. It is a simple plane that should be textured to blend naturally with the environment.

The tool generates eight surrounding tiles, named according to cardinal directions (e.g., N, NE, E, SE, etc.). These tiles are saved in the background directory as separate .obj files (e.g., N.obj, NE.obj, E.obj).

If you prefer working with a single file, the tool also creates FULL.obj, which includes the entire background terrain and the map itself. This allows for easy texturing and editing before extracting the map from the larger model.

Whichever method you choose, you’ll still need to adjust the background terrain to seamlessly connect it to the map without gaps. However, working with a single file makes this process much easier.

To create background terrain, you’ll need Blender, the Blender Exporter Plugins, and QGIS. You can find download links in the Resources section.

If this seems intimidating, don’t worry – it’s a straightforward process. I’ve prepared detailed step-by-step instructions, which you can find in separate README files. Here’s what you need to do:

  1. Download high-resolution satellite images.
  2. Prepare the i3d files.
  3. Import the i3d files to Giants Editor.
Overview image

The overview image serves as the in-game map. Regardless of the map’s size, this file is always 4096×4096 pixels, with the actual map area positioned at the center, covering 2048×2048 pixels. The surrounding space is mainly for aesthetics, but you can still add satellite imagery to enhance this region.

Just like you downloaded satellite images for the background terrain, you can do the same for the overview image. Simply use the epsg3857_string from the generation_info.json file. You can find this string in the Config component under the Overview section.

"Config": {
    "Overview": {
        "epsg3857_string": "2249906.6679576184,2255734.9033189337,5663700.389039194,5669528.6247056825 [EPSG:3857]",
    }
},

After that, you need to resize the image to 4096×4096 pixels and convert it to the .dds format.

DDS conversion

The .dds format is used in Farming Simulator for textures, icons, overview, and preview images. There are many ways to convert images to .dds, a quick search for “PNG to DDS converter” will likely lead you to an easy-to-use tool.

List of the important DDS files:

  • icon.dds – 256×256 pixels, the icon of the map,
  • preview.dds – 2048×2048 pixels, the preview image of the map on the loading screen,
  • mapsUS/overview.dds – 4096×4096 pixels, the overview image of the map (in-game map)
Advanced settings

You can also apply some advanced settings to the map generation process.

DEM Advanced settings

  • Multiplier – Adjusts the height of the map by multiplying the DEM values. Since the DEM map is a 16-bit grayscale image with a maximum value of 65535, but Earth’s elevation varies by around 20 km, this setting helps scale the terrain correctly. However, it’s usually not crucial, as height adjustments can also be made in Giants Editor. The recommended value for SRTM Data is 255 (if easy mode is disabled), but you may need to fine-tune both the multiplier and height scale in Giants Editor for the best results.
  • Blur Radius – Defines the strength of the Gaussian blur filter applied to the DEM map. The default value is 21, which smooths height transitions for a more natural look. Setting it to 1 disables the filter, but this will result in a blocky, Minecraft-like terrain.
  • Plateau – Adds a constant value to every pixel in the DEM image, effectively raising the entire terrain. This is useful for introducing negative elevations or adjusting low-lying areas. The default value is 0.
  • Water Depth – Subtracts a value from pixels representing water bodies in the DEM image. Since DEM files are 16-bit images with values ranging from 0 to 65535, this setting does not correspond directly to meters. When applied, the same value is added to the Plateau setting to prevent negative heights.
Background terrain Advanced settings

  • Generate background – When enabled, .obj files for the background terrain will be created. You can disable this option if you already have these files or don’t need them. The default setting is True.
  • Generate water – When enabled, .obj files for water planes will be generated. You can turn this off if you don’t need them or already have these files. The default setting is True.
  • Resize factor – Determines how much the background terrain is resized. The value is applied as 1 / resize_factor during model generation, meaning higher values result in more resizing. The minimum value is 1, which keeps the background terrain at its original size. Lower values increase processing time and file size.
  • Remove center – If enabled, the playable area (map terrain) will be removed from the background terrain. To prevent gaps between the map and the background, a low resize factor is recommended.
  • Apply decimation – If enabled, the mesh will be simplified by reducing the number of faces to optimize performance.
  • Decimation percent – Sets the target level of simplification. Higher values result in a more simplified mesh but can distort the 3D model if set too high.
  • Decimation aggression – Controls how aggressively the decimation is applied. Higher values significantly alter the geometry, making the background terrain less accurate. It’s not recommended to increase this beyond the default value, as it may cause misalignment with the map terrain.
GRLE Advanced settings

  • Farmlands margin – Expands each farmland by a set distance (in meters). This determines how much larger the farmland should be compared to the actual field. The default value is 3 meters.
  • Random plants – When enabled, different plant species will be added as decorative foliage. If disabled, only basic grass (smallDenseMix) will be placed. Default is True.
  • Add farmyards – When enabled, areas marked as farmyards in OSM data will be converted into farmlands. These areas will not include fields and will not be drawn on textures. Default is off.
  • Base price – The starting price of farmland, used to calculate in-game costs. In default Farming Simulator maps, this is set to 60,000.
  • Price scale – A percentage applied to all farmlands. The price per hectare is calculated as base_price × price_scale / 100. The default setting is 100%.
  • Base grass – Allows you to choose the default plant type used as base grass on the map.
  • Plants island minimum size – When random plants are enabled, plant clusters (islands) will be placed on the map. This defines the minimum island size in meters.
  • Plants island maximum size – Sets the maximum size of plant islands in meters.
  • Plants island vertex count – Determines the number of vertices in plant islands. Higher values create more detailed shapes, but excessive values may cause unnatural geometric distortions.
  • Plants island rounding radius – Controls how rounded the edges of plant islands are. Higher values result in smoother, more circular shapes.
  • Plants island percent – Defines the ratio of plant islands to map size. For example, if set to 100%, a 2048-sized map will generate 2048 plant islands.
I3D Advanced settings

  • Forest density – Determines the spacing between trees in meters. Lower values decrease the distance between trees, making the forest denser. However, very low values can generate an excessive number of trees, potentially causing Giants Editor crashes or performance issues. The default setting is 10 meters.
  • Trees relative shift – Sets the maximum possible displacement of trees from their original positions, expressed as a percentage of the forest density value. Higher values increase randomness in tree placement but may cause overlapping trees.
Texture Advanced settings

  • Dissolve – When enabled, texture values from one layer are blended across multiple layers for a more natural look. This is a time-consuming process, so it’s best to activate it only when generating the final version of the map, not for test versions.
  • Fields padding – Shrinks each field by a specified distance (in meters). This helps when fields are too close together and need more separation. The default value is 0.
  • Skip drains – If enabled, the tool will not generate drains and ditches on the map. The default setting is False, meaning drains are included unless turned off.
  • Use cache – When enabled, the tool uses cached OSM data instead of downloading it each time. This is useful when generating the same map multiple times. However, if you’ve updated the OSM data, disable this option to ensure the latest version is used. Default is True. This option has no effect when using a custom OSM file.
Splines Advanced settings

Splines density – Defines the number of additional points interpolated between existing points. Higher values create denser, smoother splines, but excessive values may make them look unnatural instead of improving their appearance.

Satellite Advanced settings

  • Download images – If enabled, the tool will automatically download satellite images for both the background terrain and the overview image. You can disable this option if you already have the images.
  • Satellite margin – Defines the extra space around the map in meters when downloading satellite images. This helps include additional surroundings in the imagery. The default value is 100 meters.
  • Zoom level – Determines the detail level of satellite images. Higher values result in more detailed images. The default setting is 14, but this option is disabled in the public version of the app.
Expert Settings

The tool also includes expert settings, which should only be used after reading the documentation and fully understanding their functions.

  • Enable debug logs – When enabled, the tool will print debug logs to the console. This can be helpful when working with a custom OSM map, troubleshooting issues, or identifying errors.
  • Upload custom OSM file – Allows you to upload your own OSM file. However, you must read the Custom OSM documentation beforehand, as incorrect usage can prevent the tool from functioning properly.
  • Show raw configuration – Lets you modify all settings in a single JSON file. This is useful for saving configurations and reusing them later without adjusting settings in the UI. Be cautious—incorrect values can break the tool.
  • Show schemas – Enables editing or defining custom texture and tree schemas. This allows you to add custom textures or trees to the map. Refer to the Texture Schema section for details. Entering incorrect values can completely break the map.
  • Upload custom background image – Lets you upload an image representing the map and background terrain for generation. The image must meet these requirements:
    – Aspect ratio: 1:1
    – Size: map size + (2048 × 2)
    – Format: uint16 (unsigned 16-bit integer) grayscale (single channel) PNG
    – Rotation: If rotation is used, the image must already be rotated.
    – If any requirement is not met, the tool will raise an error.
  • Upload custom map template – Allows you to use a custom map template for generation. It must follow the same structure as the built-in templates. It’s recommended to edit an existing template rather than creating a new one from scratch.
  • Manage cache – Provides an option to clear the tool’s cache. This is useful when generating the same map multiple times and needing fresh data instead of cached results. However, clearing the cache is not recommended unless you are experiencing issues.
Resources

This section provides a list of essential tools and resources needed to create a Farming Simulator map.

For a basic map, the only required tool is Giants Editor. However, if you want to add background terrain, the surrounding world that prevents the map from appearing as if it’s floating, you will also need Blender and the Blender Exporter Plugins. To generate realistic textures for the background terrain, QGIS is necessary for obtaining high-resolution satellite images.

  1. Giants Editor – The official tool for creating and editing maps in Farming Simulator.
  2. Blender – An open-source 3D modeling software used to create models for the game.
  3. Blender Exporter Plugins – Official plugins that allow exporting Blender models to i3d format, which is required for Farming Simulator.
  4. QGIS – Open-source GIS software for downloading high-resolution satellite images to use in map textures.
  5. CompressPngCom – An online tool for compressing PNG images, helpful for reducing the file size of satellite textures.
  6. AnyConv – An online converter for PNG to DDS format, which is required for textures, icons, overview, and preview images in Farming Simulator.


Author: iwatkot
This content was uploaded by our website visitors. If you notice any errors, please let us know.


Useful Information: How to install FS25 Mods | Farming Simulator 25 FAQ | Farming Simulator 25 News | FS25 System Requirements | Download FS25 Game | Giants Editor FS25 | FS25 Modding Guide | FS25 Cheats | FS25 Guides

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *