Simple asymmetric portals for cross-surface train teleportation. Primarily developed for personal use. Supports LTN for automated logistics. 作者自用的非对称跨地表铁路传送门。实现简单的单向传送功能,支持 LTN 自动化物流。
Mods introducing new content into the game.
Transportation of the player, be it vehicles or teleporters.
Augmented or new ways of transporting materials - belts, inserters, pipes!
Trains are great, but what if they could do even more?
Play it your way.
非常好MOD,使我列车旋转。但我不知道是否是我的设置有问题,cybersyn创建的跨表面任务不能正常运作,该MOD会错误的将出口站插入
时刻表中,导致列车卡死,如果出入口设置同名车站,则会反复在两个表面传送而不去送货,我排查了MOD环境,在仅加载该MOD以及cybersyn两个MOD时,仍然会出现错误
我是在se玩的,没有啥问题。
如果你玩原版,我认为设置一条线路连接就可以了,因为Cybersyn并未做通用接口,所以本质上来说有些微妙。如果你只设置一对链接开启链接,应该是没问题的,返回线路不需要连接到Cybersyn。
实际上呢,我准备以后一段时间如果Cybersyn仍然没有开放接口,那么我差不多就会取消非se环境的Cybersyn连接。
但最近两个月我估计不会做什么改动,因为我准备手术。
试过了,还是不行。不过身体要紧,祝早日康复!
can you prvide a save for the error or a video?
can you prvide a save for the error or a video?
This shouldn't be necessary. I'll cancel Cybersyn compatibility for non-SE environments after a while, because it's actually counterproductive; the UPS overhead from monitoring schedule changes can be enormous when there are many vehicles. After considering everything, I think canceling it is more appropriate.
can you prvide a save for the error or a video?
This shouldn't be necessary. I'll cancel Cybersyn compatibility for non-SE environments after a while, because it's actually counterproductive; the UPS overhead from monitoring schedule changes can be enormous when there are many vehicles. After considering everything, I think canceling it is more appropriate.
I want this mod to work without SE. Why is that required? Cant you support and optimize the non SE support for cybersyn?
can you prvide a save for the error or a video?
This shouldn't be necessary. I'll cancel Cybersyn compatibility for non-SE environments after a while, because it's actually counterproductive; the UPS overhead from monitoring schedule changes can be enormous when there are many vehicles. After considering everything, I think canceling it is more appropriate.
I want this mod to work without SE. Why is that required? Cant you support and optimize the non SE support for cybersyn?
Are there any problems using it now?
Yes, the same issue in this discussion. Trains get stuck at the temporary stop before the provider station, never allowing to be loaded.
Yes, the same issue in this discussion. Trains get stuck at the temporary stop before the provider station, never allowing to be loaded.
I want to remove it because Cybersyn doesn't expose an interface for external modules to call. SE works because Cybersyn has hard-coded compatibility with SE. My current implementation in non-SE environments is very laborious and performance-intensive. Frankly, this feature was just something I wrote for fun, and any changes to Cybersyn in this regard will immediately crash the game, which is very insecure. Regarding the issue you mentioned, I'll look into it later. Fixing it might not be difficult, but I'm more inclined to remove it. I'll be leaving the hospital in a while, and then I'll check on the situation again.
试过了,还是不行。不过身体要紧,祝早日康复!
我差不多好了,有空你可以给我一个存档我看看怎么回事情。
can you please look at the cybersyn without SE? or do you recommend to just use LTN?
can you please look at the cybersyn without SE? or do you recommend to just use LTN?
I personally use Cybersyn, and I prefer it. However, I haven't encountered the problem you mentioned, so I don't know the specifics. If you'd like, could you provide me with a save file that reproduces the issue you described?
I don't recommend using LTN or Cybersyn. Players are free to choose which mod to use. Of course, personally, I use Cybersyn more often and prefer it. But LTN's interface is indeed better.
Sure, here https://gofile.io/d/CdMSiW
The train is stuck and it's not being loaded, because it's not in the station
Sure, here https://gofile.io/d/CdMSiW
The train is stuck and it's not being loaded, because it's not in the station
I expect to check back in a few hours. I don't have enough time right now, so you don't have to wait for me in the meantime.
Sure, here https://gofile.io/d/CdMSiW
The train is stuck and it's not being loaded, because it's not in the station
I checked your save file. The problem was solved simply by changing the names of those four buildings to be the same. I don't know why you guys said it would cause a freeze. But I will still optimize it later. I haven't figured out a solution yet; I'll think about it in the next few days. You can simply change the names of the four Rift buildings in your two connections to be the same, and it will be fine. and let the stuck train return to the depot and restart without any problems.
Aha? Okay, thank you, will try. I just renamed them to have an idea what each of them is used for, wasn't aware that would break it.
Aha? Okay, thank you, will try. I just renamed them to have an idea what each of them is used for, wasn't aware that would break it.
What frustrates me isn't the logic itself, but the fact that Cybersyn doesn't provide any open API for other mods to handle cross-surface tasks.
Without the SE environment (which handles this via the Elevator API), implementing this functionality requires four expensive cross-mod memory reads every time any train schedule changes—regardless of whether the train belongs to Cybersyn or not:
remote.call("cybersyn", "read_global", "trains", train.id)
remote.call("cybersyn", "read_global", "stations", c_train.p_station_id)
remote.call("cybersyn", "read_global", "stations", c_train.r_station_id)
remote.call("cybersyn", "read_global", "depots", c_train.depot_id)
This incurs significant overhead. These calls involve data serialization and context switching, and running them frequently on a large base with many trains will inevitably cause UPS drops (lag).
Furthermore, this method is fragile. Since it relies on reading Cybersyn's internal data structures, any update to Cybersyn could immediately break this logic or crash the game. I would have to constantly monitor its internal code changes, which is a maintenance burden I don't want to take on.
Most importantly, if the game starts lagging due to this overhead, players won't understand the technical reason. They will just see that 'installing RiftRail caused lag,'. For these reasons, I am still considering keeping Cybersyn compatibility disabled for non-SE environments.
Perhaps your PR for Cybersyn solves that? Cybersyn devs don't want to merge your PR because they are scared of any code change, can you maybe assure them? Apparently Cybersyn is no longer being developed, and is only in maintenance mode. Or maybe fork cybersyn?
Perhaps your PR for Cybersyn solves that? Cybersyn devs don't want to merge your PR because they are scared of any code change, can you maybe assure them? Apparently Cybersyn is no longer being developed, and is only in maintenance mode. Or maybe fork cybersyn?
I have no such intention; this module was originally just for playing with friends.
The Cybersyn module was just something I made on the spur of the moment. Whether they accept the PR is not my concern. If they accept it, I will rewrite the logic. If not, I won't change the existing compatibility logic again, because I don't use it myself. It has absolutely no impact on me.
As for Cybersyn, they seem to be short-staffed right now and may prefer to maintain the status quo, which I completely understand.
For players who need this feature, to be honest, I haven't given it much thought. The existing feature is usable, just not in my preferred way. I probably won't remove the feature anytime soon, but if one day this feature interferes with my gameplay of the original game, I will remove it.
I could slightly optimize the contents of the compatibility file, but I don't think it would make much sense, because those four remote.call are the biggest overhead. If that can't be changed, all other optimizations are insignificant.
Perhaps your PR for Cybersyn solves that? Cybersyn devs don't want to merge your PR because they are scared of any code change, can you maybe assure them? Apparently Cybersyn is no longer being developed, and is only in maintenance mode. Or maybe fork cybersyn?
I've packaged my PR separately for localization and included the necessary RIFTRAIL compatibility files. If you're interested, you can try it out:
https://drive.google.com/file/d/1N9fX2b6zl1NQtOMEjQx4oyztfHgDMK5F/view?usp=sharing
If you use these two mods, you won't need to modify any building names anymore, and you'll never select an exit building. It also won't incur significant API overhead.
Perhaps your PR for Cybersyn solves that? Cybersyn devs don't want to merge your PR because they are scared of any code change, can you maybe assure them? Apparently Cybersyn is no longer being developed, and is only in maintenance mode. Or maybe fork cybersyn?
I've packaged my PR separately for localization and included the necessary RIFTRAIL compatibility files. If you're interested, you can try it out:
https://drive.google.com/file/d/1N9fX2b6zl1NQtOMEjQx4oyztfHgDMK5F/view?usp=sharing
If you use these two mods, you won't need to modify any building names anymore, and you'll never select an exit building. It also won't incur significant API overhead.
tried this, it loads the train now, but the train schedule is freaking out, and train wont leave the station, basically its not working, check out the save, load it and wait about 5 seconds, then open the train https://gofile.io/d/ob83r0
tried this, it loads the train now, but the train schedule is freaking out, and train wont leave the station, basically its not working, check out the save, load it and wait about 5 seconds, then open the train https://gofile.io/d/ob83r0
I checked your save file and didn't find any issues. I removed the vehicle that was causing the problem, added a new one, and then disconnected and reconnected the connection completely. All the subsequent vehicles worked fine. Have you ever performed this kind of refactoring?