Problem:
A fleet cannot complete the draining process and becomes stuck if servers remain in an allocated state.
Cause:
For a fleet to successfully transition to the draining state, all servers in the fleet must be shut down. If any servers remain online, the draining process will not proceed.
This typically happens when the game server fails to trigger an exit 0 code (preventing a deallocation and server shutdown), which is required for our system to recognise and automatically initiate the deallocation process. This can occur if a game server's game binary crashes, preventing your game binaries from generating the exit 0.
Solution:
For test allocation's, you may be able to resolve this by calling the test allocation deallocate API:
-
Check for Test Allocated Servers
- Use the Multiplay Dashboard or related APIs to verify if any servers in the fleet are still in an allocated state.
-
Deallocate Remaining Test Allocated Servers
-
Use the deallocate API to release any allocated servers. Unity Services Web API docs
The following documentation guides provide further insights about the deallocation process for the test allocation flow:
-
-
-
Contact Support
- If the issue continues or if the issue is affecting live game servers (not test allocation), please contact support.
- https://cloud.unity.com/home/dashboard-support
Summary:
To prevent and resolve fleets stuck in the draining state, ensure all servers are properly deallocated. This can be done via the test deallocate API for test allocations or through clean server shutdowns with exit code 0. Retry the draining process after confirming that no servers remain in an allocated state. Contact support straight away if this is affecting live allocations.