You need to set up some prerequisites before you can follow these steps.
Run all commands from the project root folder.
Follow these steps if:
- you need to do regular, scheduled maintenance
- Improbable notifies you in advance of a destructive cluster take-down
Around 20 minutes before you remove players from the game, create a worker flag to let players know how long they have until the game stops:
- In the Console, open the deployment and go to the Worker flags tab.
- From the drop-down list, select the worker type that you registered the callback for, and add a worker flag with the same name as you used when setting up the callback.
- Set the flag’s value. This is handled by the callback you set up above. For example, you could set the value to be a message to display to players.
- Click Submit. This sends the flag update to the worker.
Five minutes before you remove players from the game, let them know by updating the worker flag.
Wait for 5 minutes.
Remove all the players from the game.
- Take a snapshot of the deployment without players in it:
spatial cloud history snapshot create <deployment_name>
Download this snapshot:
spatial project history snapshot download <deployment_name> latest <snapshot_file>
snapshot_file is the file name you want to give the snapshot.
- There may be elements of the game world that you want to edit or remove before restarting, such as battle debris or timestamps. To do this, you’ll probably need to convert the snapshot into a text file:
spatial project history snapshot convert --input=<snapshot_file> --output=<text_file> --input-format=binary --output-format=text
When you’ve finished editing the file, convert it back:
spatial project history snapshot convert --input=<text_file> --output=<snapshot_file> --input-format=text --output-format=binary
- From your project folder, run a cloud deployment using the snapshot:
spatial cloud launch <assembly_name> <launch_config> <deployment_name> --tags=<comma-separated list of tags> --snapshot=<snapshot_file>
- Validate the deployment from the Console.
- On the Advanced tab, confirm that all nodes are healthy:
In the World view, check you have the right number of different types of worker:
It’s also a good idea to run an end-to-end connection test (either manually or automatically) in which a client connects to the game and performs an action (for example, jumps and shoots a wall down). We don’t provide anything out-of-the-box for automating these steps, so get in touch if you’d like help with this.
- Let your community know they can join the game again.
Updated about a year ago