SoftShutdown2 is my own implementation of Merely’s ‘Soft Shutdown Script’. Credit to @Merely for the inspiration!
Current release: v1.2, Mar. 15, 2023
What is a shutdown script, and what does it do?
The purpose of a soft shutdown script is to teleport a server’s players into a new server in the same place under your experience when the server gets shut down (manually in this case). This is so you can push essential updates out to your community without needing them to rejoin manually, as well as reducing the amount of players lost during migration.
By default, Roblox doesn’t offer this, but with our own implementation we can make sure we get most of our players back into the game for the best experience.
Before implementation in my own experience, I was losing almost half of my players each shutdown for my updates. After the installation of this module, I am successfully able to keep up to 90% of my players.
What does yours offer that Merely’s or any existing ones don’t?
Keep a server together by teleporting all of them together. No more losing potential friends & revenue due to urgent developer shutdowns.
Lightweight & Performant
With less than 100 lines, this resource only does what it’s meant for, and quickly. Get your players into new servers now, not later.
SoftShutdown2 is clean, easy to tweak, and only uses the latest functions as well as the new TeleportAsync API to insure longevity and forwards-compatibility.
Reserve character positions in the world, so when they’re teleported back, they don’t have to walk back to where they were. Makes sense for simulators, social hangouts, and more.
Additional teleport screen
Let your users immediately know that a new update is live right as you press the button, and that they’re being teleported to a brand new server.
Great! How do I get started?
Easy! Grab SoftShutdown2 from either the Roblox model or the GitHub gist, and insert it into ServerScriptService.
Make sure to clone this script into every place under your experience. I highly recommend converting it to a package to make updating it in the future easier!
If you want to reserve character positions, make sure to enable it inside the script, by setting “ReserveCharacterPosition” at the top to true. I understand this won’t integrate nicely in every experience, so it’s disabled by default.
Want more? Here’s the gui showcased in the demo, drag it under ReplicatedFirst in any place that has the SoftShutdown2 script, and it should work seamlessly!
Still not convinced? Watch the demo!
I hope you’re able to find this resource useful. Please report any issues you’re having as a reply to this thread and I’ll get to you when I can!