Adds a Request Restart switch
This commit is contained in:
parent
bdebdf89d5
commit
fa26d2f914
2 changed files with 20 additions and 2 deletions
|
@ -13,6 +13,7 @@ import 'package:libac_dart/utils/uuid/NbtUUID.dart';
|
|||
import 'package:libac_dart/utils/uuid/UUID.dart';
|
||||
import 'package:servermanager/statemachine.dart';
|
||||
import 'package:servermanager/structs/SessionData.dart';
|
||||
import 'package:servermanager/structs/discordHookHelper.dart';
|
||||
import 'package:servermanager/structs/settings.dart';
|
||||
|
||||
class ClientPackets {
|
||||
|
@ -246,6 +247,8 @@ class C2SRequestSettingsPacket implements IPacket {
|
|||
|
||||
class C2SUploadSettingsPacket implements IPacket {
|
||||
CompoundTag srvSettings = CompoundTag();
|
||||
bool performRestart = false;
|
||||
|
||||
|
||||
@override
|
||||
void decodeJson(String params) {}
|
||||
|
@ -269,6 +272,7 @@ class C2SUploadSettingsPacket implements IPacket {
|
|||
Tag encodeTag() {
|
||||
CompoundTag tag = CompoundTag();
|
||||
tag.put("settings", Settings().serialize());
|
||||
NbtUtils.writeBoolean(tag, "restart", performRestart);
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
@ -295,9 +299,15 @@ class C2SUploadSettingsPacket implements IPacket {
|
|||
settings.deserialize(srvSettings);
|
||||
settings.Write();
|
||||
|
||||
if(!performRestart){
|
||||
DiscordHookHelper.sendWebHook(settings.inst!.discord, DiscordHookProps.ONLINE_ALERT, "Server Wrapper Settings", "Server wrapper settings have been updated.\n\n${performRestart ? "A restart has been requested" : "A restart is not needed"}");
|
||||
|
||||
return PacketResponse.nil;
|
||||
}
|
||||
|
||||
// Check if server is running, if not, stop immediately
|
||||
// If server is running, schedule restart for 1 minute and send a alert to all players, then perform stop or restart depending on if running in Pterodactyl Compatibility mode
|
||||
SessionData.shutdownMessage = "Server wrapper updated. Restart required.";
|
||||
SessionData.shutdownMessage = "Server wrapper restart";
|
||||
SessionData.timer.apply(60);
|
||||
SessionData.CURRENT_INTERVAL = WarnIntervals.NONE;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue