ZCA Railroads
A downloadable mod
Railroads Mod for Farming Simulator 25
This is my attempt to make railroad mod. My inspiration was JWeezy, and wanted to make support mod for FDR Logging in FS25.
All placeable are in decoration tab in separate section
Game grid is 25cm x 25cm and rotation is every 7.5 degree. To stay in grid with snap mode on use tracks with [GRID] tag. Use retractable track to connect pieces that are not in sync. See the screenshots for instruction
For switches use Switch Cap to finish turn and stay on grid
Slopes max 2 degree
This is work in progress and beta release, feel free to post comments and bugs. Please consider making a donation, it took many hours to model and script the mod.
Look for my other railroad mod as they work together
Mod requirements:
Recommended mods:
Lumberjack
FS25_NoRestrictedFences
Place Anywhere
Mod showcase:
| Status | In development |
| Category | Game mod |
| Rating | Rated 5.0 out of 5 stars (10 total ratings) |
| Author | zcaalock |
| Tags | Farming Simulator 25, railorad, Trains, zcaalock |
| Content | No generative AI was used |
Download
Click download now to get access to the following files:
Development log
- 1.0.2.0 UpdateMar 31, 2025
- 1.0.1.0 UpdateMar 09, 2025
- SlopesMar 08, 2025







Comments
Log in with itch.io to leave a comment.
sorry, i search the whole platform but i cant find the link for v2.0.0.0. the "newest" one is date may 25. can someone please help me out?
hallo. where i can download the V2.0.0.0? when i push the icon on kingmods i only find the button that leads me to the old version...
short info would be nice. thx
that do you mean by v2.0? All my mods are on this platform and links are in the description. Kingmods steal mods from ppl
thats what i mean. I cant find the right Download on your Platform. Am i stupid?
there is no other mod version, all current mods are on my page on this platform
https://zcaalock.itch.io/
this is a awesome mod. please keep going on. one thing i miss right now is a crossing and a car to transport fluids.
Crossing are not possible in this setup because it would derail the trains. I can add some just for visuals without collisions. You can transport water, diesel and fertilizer/herbicide in tank cart
There are even more fluids to transport in FS25… ;-))
Sad, a crossing would be so needed.
How can i unload the graincar and load a truck without useing i. e. a silo? Got a tip?
You can use the Soaring Eagle SA30 Drive-Over Conveyor, from modhub, put it in a long hole under the track, it works. I used it near FIT Plon in a previous sellpoint, the hole is still visible in my map
But agree with you for other liquids :-)
And also a flatcar width equal to engine width, flatcar without backrest if possible!
I see, thx.
so, hows about V2.0? Is it available right now?
I keep getting these errors:
2026-01-27 21:06:01.528 Error: Running LUA method 'mouseEvent'.
dataS/scripts/gui/InGameMenuMapFrame.lua:1354: attempt to call missing method 'getIsBeingDeleted' of table
2026-01-27 21:13:46.808
Script error: Divide by zero error.
LUA call stack:
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:666 getCenterPointAngleRegulation
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:492 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:46.815
Script error in worldToLocal: Argument 2 is a NaN
LUA call stack:
=[C]:-1 worldToLocal
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:675 getCenterPointAngleRegulation
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:492 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:46.816 Warning (script): 'localToWorld': Argument 1 has wrong type. Expected: Float. Actual: Nil
D:\auto_builder\cache\svn\b1018bf0deae9a98ef19118755739f25\src\base\scripting\lua\LuauScriptSystem.cpp (1127): expectedType == Value::VoidType || expectedType == Value::ClassType2026-01-27 21:13:46.816
Script error: 'localToWorld': Argument 1 has wrong type. Expected: Float. Actual: Nil
LUA call stack:
=[C]:-1 localToWorld
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:518 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:46.816 Error: Running LUA method 'update'.
dataS/scripts/vehicles/specializations/ConnectionHoses.lua:519: attempt to perform arithmetic (sub) on number and nil
2026-01-27 21:13:49.338
Script error: Divide by zero error.
LUA call stack:
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:666 getCenterPointAngleRegulation
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:492 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:49.338
Script error in worldToLocal: Argument 2 is a NaN
LUA call stack:
=[C]:-1 worldToLocal
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:675 getCenterPointAngleRegulation
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:492 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:49.338 Warning (script): 'localToWorld': Argument 1 has wrong type. Expected: Float. Actual: Nil
D:\auto_builder\cache\svn\b1018bf0deae9a98ef19118755739f25\src\base\scripting\lua\LuauScriptSystem.cpp (1127): expectedType == Value::VoidType || expectedType == Value::ClassType2026-01-27 21:13:49.338
Script error: 'localToWorld': Argument 1 has wrong type. Expected: Float. Actual: Nil
LUA call stack:
=[C]:-1 localToWorld
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:518 updateConnectionHose
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:426 updateAttachedConnectionHoses
=dataS/scripts/vehicles/specializations/ConnectionHoses.lua:398 onUpdateInterpolation
=dataS/scripts/specialization/SpecializationUtil.lua:56 raiseEvent
=dataS/scripts/vehicles/Vehicle.lua:2016 update
=dataS/scripts/network/NetworkNode.lua:181 updateActiveObjects
=dataS/scripts/network/Server.lua:64 update
=dataS/scripts/BaseMission.lua:1023 update
=dataS/scripts/FSBaseMission.lua:1913 update
=dataS/scripts/utils/Utils.lua:592
=dataS/scripts/mission00.lua:683 update
=dataS/scripts/main.lua:1240 update
2026-01-27 21:13:49.338 Error: Running LUA method 'update'.
dataS/scripts/vehicles/specializations/ConnectionHoses.lua:519: attempt to perform arithmetic (sub) on number and nil
is this error after new patch? Did you try mod before?
This was yesterday evening. What do you mean by 'new patch'?
i thought maybe there was some game patch. Maybe I’ll look at it over the weekend. For now only thing I can recommend is to check if you have all required mods from railroad mod, try to run them alone on new save so you can see it there compatibility problems with other mods.
I have all the required mods downloaded. i'll test the railroad mods on a new save. Accordin to Google Gemini:
This is a Lua script crash in Farming Simulator 25 caused by a specific vehicle or implement (likely a mod) with broken "Connection Hose" definitions.
Here is the specific and detailed breakdown of what is happening and how to fix it.
The Diagnosis
The game engine is crashing the
ConnectionHoses.luascript. This script handles the visual connecting lines (hydraulic hoses, air lines, electric cables) that appear when you attach a trailer or implement to a tractor.Technical Breakdown
The error log reveals a cascading failure sequence:
Script error: Divide by zero error ... ConnectionHoses.lua:666 getCenterPointAngleRegulationScript error in worldToLocal: Argument 2 is a NaNNaN(Not a Number). The game then tried to use this invalid result to determine the hose's position in the 3D world (worldToLocal), causing the second error.attempt to perform arithmetic (sub) on number and nilnil(empty/non-existent). When the game tried to do basic subtraction (sub) on the next frame, it crashed because you cannot subtract from "nothing."How to Fix It
This error is almost certainly caused by one specific mod (a tractor, trailer, or implement) that you are currently using or is loaded near the player.
1. Identify the Broken Mod
2. If You Are a Player (Non-Modder)
3. If You Are the Modder (How to Fix the XML)
If you are creating this mod, check your
vehicle.xmlunder the<connectionHoses>section:node(start) andtargetNode(end) are not identical or located at the exact same0,0,0coordinates relative to each other when connected.lengthattributes. Ensure no hose has a length of0.diameterof0can also cause calculation errors in the physics engine.Next Step:
Do you know which vehicle you bought or used right before these errors started appearing? If you can identify the mod, I can help you locate the specific XML lines to check.
I cant upload screenshots so here's the google drive folder link to them: https://drive.google.com/drive/folders/1PkGbt2ecEc5fW-JVDEC9vSuXwcgbc3Wm?usp=dri...
i`ve run the game and don`t have this error, maybe its related to some dlc, i don`t have any.
you can send me log file via discord 474205699073900544
also i don`t see in your log anything related to my mod. Is the mod even working?
Is it ok for you if I make some farming videos on internet to show and promote your rail system (including link to your mod page)?
Yes you can share it, no problem. Post your video link I’ll add it to the mod page
Hello! after a long long time, the video is here:
Mod Presentation - Placeable railroad system
I Hope lot of people can see what is possible with your mod!
Please tell me if it is ok for you, and you can of course add link to the mod page if you want!
thanks for sharing my mod, i`ll add your video to the mod decryption
You can now find some videos on my chanel. More are coming, including gameplay & tutos for map integration
So I donwloaded the rail pack and there does not seem to be any rails in it for the train
i am having a problem with deleting the retractable angle pieces of track. any work around on this?
To remove those pieces, you should be in construction mod, no item activated, and press B key for removing. The track will be yellow when you put your mouse on, and click will normally remove it
"Railroads is installed but does not appear in the game under the decorations section. Can you help or do something about it?"
Hi there,
When i put a curved rail, my train derail everytime i run on it. Is there a trick to place this curves ?
Do you plan to extend your mods with accessories and more diverse rails like JWeezy ?
P.S. I saw your vids about placing rails.
You have to press X to unlock your wheels. Then they will turn with the track. Otherwise they will stay streight and will not turn
Thanks for your answer but i already know that.
I have a question, well 2 actually. Since the patch I can't place on land not owned, The mod doesn't seem to work like before even after I updated.(In Multiplayer) No problem I can give myself money and buy the land but the real question is , after I lay the track and try to sell the land back I can't, It says I have placeables that I have to sell first. The question is has anyone found a version of the mod since the 107.2 patch that allows you to place on land not owned by you? Or is there a way to make it so the rails are not seen as something to sell before selling the land?
thanks in advance
https://www.kingmods.net/en/fs25/mods/57567/place-terraform-paint-anywhere
this version seems to work for me after the update, several others did not, so if anyone else was having my issue this should help.
can lay all tracks but the Retracktable Tracks and Slope Version, still get land not owned error
Glad to see a railroad mod coming to FS25, I work at a rail car repair yard so if I can help with models of cars I'd love to help!
Love the mod, had a request if you get time, what about adding a section of track that has a crossing built in? Just for smoother access for vehicles, and looking forward to the updates, absolutely the most fun I have had !!!
hi, i can add crossing but it would be only visual without collisions, trains use whole space between tracks as guidance to stay on tracks.
Thank you so much, hopefully you can add a tanker cart for fuel, milk digest-ate. etc.
i made tanker, just need some finish touch but don’t have time now. Hope will upload it in few days
ok thank you
Place Anywhere is not compatible with FS25_NoRestrictedFences 😉
would it be posible to make a rails with a bridge that still quite high please
there is a bridge https://zcaalock.itch.io/zca-railroads/devlog/901920/1010-update
or do you mean something else?
Good Mod! I noticed many pieces don't lay ballast. Is this something you are working on or a bug?
you need to flat the ground on curves by hand. Also one of the curves i think 15 degree is 4cm to low compare to other tracks. ill fix that in next update
Thanks, I'll be on the lookout for the update.
😍❤️💕👍
game changing mod.thanks
Thanks, I'm already able to do it. I'm trying to change the entire route and the old routes on the Silver Forest map. I'm just struggling with the curves and the routes you created because they don't adapt to the ground, but I'm getting used to it. I hope I can do it. Thanks.
already working on slopes, see the devlog. Check out my video for instruction how to lay out tracks
Hello, I am told that I cannot place the land if it is not mine. What can I do? Regards
there is mod "place anywhere" and FS25_NoRestrictedFences
excellent concept, love this! is there any tracks that will go up an incline or decline?
yes there will be, just need to polish core concept and will add more stuff.
for now i think you can use retractable track (works like fence) to go up/down but i haven`t test it yet
awesome thanks so much
hermosos gracias