depot/ops/factorio/multiworld/README.md

62 lines
2.1 KiB
Markdown
Raw Normal View History

2022-02-05 17:17:39 +00:00
# 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`.