- 是否在寻找中文版本?
A Mindustry mod to manage saves. Provides a variety of practical functions.
- Save editor
- Multiplayer
- Cloud save (need to deploy it by yourself)
You need to download the released mod from github manually then import.
You'll find a new option in setting.
Then explore by yourself. It's not complex.
Use cloudflare's workers and kv to build a free server. The code needed is in /cloud
.
- Make sure you have a cloudflare account.
- Create a worker.
- Create a kv.
- Bind the kv to the worker with a variable name
db
. - Create environment variable
key
for the worker, puting the key to access this server (key ≈ password here). - Paste code in
/cloud/worker.js
into your worker (Remove all the code in worker first) then deploy.
- Settings -> saveMaster -> Saves Manager -> Cloud Save Option
- Paste the url of your worker to
Server Address
(e.g.example.workers.dev
) - Input the key you set in your worker. (environment variable
key
) - Pick a name for you save. Note that different devices with the same save name will use the same cloud save slot (linked to the same cloud save).
- Enable the cloud save (it's enabled when it shows
CloudSave: Enable
) - Save the config
You can also write a server by yourself. Follow this protocol so it will work for this mod.
Function: Read save
Interface: /read
Method: GET
Header:
key
: the key to access the servername
: save nametime
: The time when the save was last synchronized, in the form of20240101123000
, used to determine whether the local save needs to be updated
Returns: The request returns only 304
if the time
passed in is newer than the one on the server. If an save named name
is not found on the server, the request simply returns 404
. Otherwise return the save file.
Function: Write save
Interface: /write
Method: POST
Header:
key
: the key to access the servername
: save nametime
: save creation time
Payload: save file
Return: 200
is returned if the writing is successful.
Function: Delete save
Interface: /remove
Method: GET
Header:
key
: the key to access the servername
: save name Return:200
is returned if the deletion is successful.
Function: Get server limits
Interface: /limit
Method: GET
Header:
key
: the key to access the server
Return the limitations of the server (only include maxPayloadSize
and maxNameSize
), for example:
{
"maxPayloadSize": 26214400,
"maxNameSize": 512
}
maxPayloadSize
: max size of the save (byte).
maxNameSize
: max size of the save name (byte).