.. | ||
.lua-format | ||
default.nix | ||
infect.py | ||
multiworld.lua | ||
README.md |
Factorio Multiworld
This is a very simple hack to allow Factorio vanilla servers to run with multiple-world support.
It enables the use of a /ws
command which opens a GUI to switch between
worlds. If you already know the name of the world, then /ws <WORLDNAME>
can
be used to quickly switch.
Different worlds have separate research progress, and players have separate inventories as they transition between worlds.
Worlds can be created from a map exchange string with the /createworld
command by admins, and destroyed using /destroyworld
.
Commands
/ws
- world switcher
The /ws
is the bulk of the multiworld functionality, and the only command accessible by non-admins.
It has two forms:
/ws
- opens a world selection GUI with a button per world/ws <WORLD NAME>
- goes directly to the world
/createworld <WORLD NAME> <MAP EXCHANGE STRING>
- create a new world (admins only)
/createworld
is one way of creating a new, empty world based on a given map
exchange string.
Note that only the parameters of the map exchange string that pertain to generation settings will be respected: difficulty, and other settings that Factorio retains per-map rather than per-surface will be ignored.
/destroyworld <WORLD NAME>
- destroy a world (admins only)
/destroyworld
deletes a world by name, and deletes all the inventories
associated with it.
/debugeditor
- open the editor (admins only)
/debugeditor
opens the map editor without tripping the "editor opened"
achievement disabling flag.
This is intended for use for admins to import existing save files as new surfaces.
Note that once you've done so, you'll need to use the /debugresetworldstate
command in order to properly set up the extra metadata required by Multiworld.
/debugresetworldstate <WORLD NAME>
- reset book-keeping metadata for a world (admins only)
This resets various internal metadata:
- The per-world player force
- Any inventories held for players for that world
- Any locations held for players for that world
It should usually be used only after importing an existing save file as a new
surface using the /debugeditor
.