mirror of
https://github.com/tribufu/ServerManagers
synced 2026-05-18 09:35:48 +00:00
source code checkin
This commit is contained in:
parent
5f8fb2c825
commit
7e57b72e35
675 changed files with 168433 additions and 0 deletions
100
src/ConanServerManager/Lib/ServerProfileSnapshot.cs
Normal file
100
src/ConanServerManager/Lib/ServerProfileSnapshot.cs
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
using ServerManagerTool.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
|
||||
namespace ServerManagerTool.Lib
|
||||
{
|
||||
public class ServerProfileSnapshot
|
||||
{
|
||||
public string ProfileId;
|
||||
public string ProfileName;
|
||||
public string ServerName;
|
||||
public string InstallDirectory;
|
||||
public string GameFile;
|
||||
public string AdminPassword;
|
||||
public string ServerIP;
|
||||
public int ServerPort;
|
||||
public int ServerPeerPort;
|
||||
public int QueryPort;
|
||||
public string ServerMap;
|
||||
public List<string> ServerModIds;
|
||||
public bool RconEnabled;
|
||||
public int RconPort;
|
||||
public string RconPassword;
|
||||
public int MaxPlayerCount;
|
||||
|
||||
public string MOTD;
|
||||
public bool MOTDIntervalEnabled;
|
||||
public int MOTDInterval;
|
||||
|
||||
public string BranchName;
|
||||
public string BranchPassword;
|
||||
|
||||
public string SchedulerKey;
|
||||
public bool EnableAutoBackup;
|
||||
public bool EnableAutoUpdate;
|
||||
public bool EnableAutoShutdown1;
|
||||
public bool RestartAfterShutdown1;
|
||||
public bool UpdateAfterShutdown1;
|
||||
public bool EnableAutoShutdown2;
|
||||
public bool RestartAfterShutdown2;
|
||||
public bool UpdateAfterShutdown2;
|
||||
public bool AutoRestartIfShutdown;
|
||||
|
||||
public bool ServerUpdated;
|
||||
public string LastInstalledVersion;
|
||||
public DateTime LastStarted;
|
||||
|
||||
public static ServerProfileSnapshot Create(ServerProfile profile)
|
||||
{
|
||||
return new ServerProfileSnapshot
|
||||
{
|
||||
ProfileId = profile.ProfileID,
|
||||
ProfileName = profile.ProfileName,
|
||||
ServerName = profile.ServerName,
|
||||
InstallDirectory = profile.InstallDirectory,
|
||||
GameFile = profile.GetServerWorldFile(),
|
||||
AdminPassword = profile.AdminPassword,
|
||||
ServerIP = string.IsNullOrWhiteSpace(profile.ServerIP) ? IPAddress.Loopback.ToString() : profile.ServerIP.Trim(),
|
||||
ServerPort = profile.ServerPort,
|
||||
ServerPeerPort = profile.ServerPeerPort,
|
||||
QueryPort = profile.QueryPort,
|
||||
ServerMap = ServerProfile.GetProfileMapName(profile),
|
||||
ServerModIds = ModUtils.GetModIdList(profile.ServerModIds),
|
||||
RconEnabled = profile.RconEnabled,
|
||||
RconPort = profile.RconPort,
|
||||
RconPassword = profile.RconPassword,
|
||||
MaxPlayerCount = profile.MaxPlayers,
|
||||
|
||||
MOTD = profile.MOTD,
|
||||
MOTDIntervalEnabled = profile.MOTDIntervalEnabled && !string.IsNullOrWhiteSpace(profile.MOTD),
|
||||
MOTDInterval = Math.Max(1, Math.Min(int.MaxValue, profile.MOTDInterval)),
|
||||
|
||||
BranchName = profile.BranchName,
|
||||
BranchPassword = profile.BranchPassword,
|
||||
|
||||
SchedulerKey = profile.GetProfileKey(),
|
||||
EnableAutoBackup = profile.EnableAutoBackup,
|
||||
EnableAutoUpdate = profile.EnableAutoUpdate,
|
||||
EnableAutoShutdown1 = profile.EnableAutoShutdown1,
|
||||
RestartAfterShutdown1 = profile.RestartAfterShutdown1,
|
||||
UpdateAfterShutdown1 = profile.UpdateAfterShutdown1,
|
||||
EnableAutoShutdown2 = profile.EnableAutoShutdown2,
|
||||
RestartAfterShutdown2 = profile.RestartAfterShutdown2,
|
||||
UpdateAfterShutdown2 = profile.UpdateAfterShutdown2,
|
||||
AutoRestartIfShutdown = profile.AutoRestartIfShutdown,
|
||||
|
||||
ServerUpdated = false,
|
||||
LastInstalledVersion = profile.LastInstalledVersion ?? new Version(0, 0).ToString(),
|
||||
LastStarted = profile.LastStarted,
|
||||
};
|
||||
}
|
||||
|
||||
public void Update(ServerProfile profile)
|
||||
{
|
||||
profile.LastInstalledVersion = LastInstalledVersion;
|
||||
profile.LastStarted = LastStarted;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue