mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-13 15:14:52 +09:00
Remove Hotpatch and implement a save patcher in its place. The save patcher takes a normal Factorio save and adds modules to it that's loaded by a generated control.lua file. This greatly reduces the difficulty of adding an existing game to Clusterio and using scenario code in plugins. The mechanism for selecting what code to patch into the saves from plugins is temorary and expected to change with #220.
16 lines
709 B
Markdown
16 lines
709 B
Markdown
Save Patching
|
|
-------------
|
|
|
|
In order to efficiently get data in and out of running Factorio servers
|
|
and to provide custom interfaces Clusterio uses save
|
|
patching<sup>[1]</sup> to add code to the game. The save patching is
|
|
based on the built in
|
|
[event_handler](https://github.com/wube/factorio-data/blob/master/core/lualib/event_handler.lua)
|
|
library to Factorio and requires scenarios to be coded specifically for
|
|
it. Mods on the other hand work without modifications.
|
|
|
|
<sub>1: Before version 2.0 of Clusterio this was done at runtime
|
|
with a patcher called Hotpatch, but due to the difficulty in supporting
|
|
run time patching and the lack of documentation it was replace it with
|
|
save patching instead.</sub>
|