public U3WorkshopInstaller(U3Server server, FileInfo steamcmd) { this.server = server; steam = new SteamInstance(steamcmd); steam.ModDownloaded += Steam_ModDownloaded; steam.SteamOutput += Steam_SteamOutput; if (PrepareSteam(steam).Result) { MapFolder = new DirectoryInfo(this.server.ServerInformation.ServerDirectory.Parent.Parent.FullName + "\\Bundles\\Workshop\\Maps"); ContentFolder = new DirectoryInfo(this.server.ServerInformation.ServerDirectory.FullName + "\\Workshop\\Content\\"); if (!MapFolder.Exists) { MapFolder.Create(); } if (!ContentFolder.Exists) { ContentFolder.Create(); } } else { Exception ex = new Exception("Unable to start steamcmd correctly!"); throw ex; } }
private void Con_ReceivedPlayerList(U3Server sender, List <string> playerlist) { if (sender != null) { sender.PlayerList = playerlist; } }
public bool IsConnected(U3Server userver) { foreach (ClientConnection client in clients) { if (client.sid.Equals(userver.ServerInformation.ServerID)) { return(true); } } return(false); }
private ClientConnection GetConnection(U3Server userver) { foreach (ClientConnection client in clients) { if (client.sid.Equals(userver.ServerInformation.ServerID)) { return(client); } } return(null); }
public static void save(U3Server server, AdvancedConfig config) { try { FileInfo configFile = new FileInfo(server.ServerInformation.ServerDirectory.FullName + "\\Config.json"); File.WriteAllText(configFile.FullName, config.getJson()); } catch (Exception) { throw; } }
public static AdvancedConfig loadJson(U3Server server) { FileInfo configFile = new FileInfo(server.ServerInformation.ServerDirectory.FullName + "\\Config.json"); if (configFile.Exists) { return(JsonConvert.DeserializeObject <AdvancedConfig>(File.ReadAllText(server.ServerInformation.ServerDirectory.FullName + "\\Config.json"))); } else { return(null); } }
public bool Send(U3Server userver, string command) { ClientConnection con = GetConnection(userver); if (con != null) { return(con.Send(command)); } else { return(false); } }
public UCBServerConnection GetConnection(U3Server server) { if (IsIdentifed(server)) { foreach (UCBServerConnection con in IdentifiedServers.Keys) { if (IdentifiedServers[con] == server) { return(con); } } } return(null); }
private void Listen() { while (client.Connected) { try { StreamReader reader = new StreamReader(client.GetStream()); string line = reader.ReadLine(); lock (client) { if (line.StartsWith("sid://")) { U3Server s = GetU3Server(line.Remove(0, 6)); if (s.State == U3ServerState.Running | s.State == U3ServerState.Starting) { sid = line.Remove(0, 6); InstanceConnected?.Invoke(GetU3Server(sid)); } else { Send("unauthorized_server"); ClientDisconnected?.Invoke(this); } } else if (line.StartsWith("players://")) { line = line.Remove(0, 10); List <string> players = line.Split(';').ToList <string>(); players.Remove(""); U3Server instance = GetU3Server(sid); ReceivedPlayerList?.Invoke(instance, players); } else if (line.StartsWith("consolelog://")) { Console.WriteLine(line); } } } catch (Exception) { } } ClientDisconnected?.Invoke(this); }
public bool SendPackage(U3Server server, OPackage package) { if (IsIdentifed(server)) { try { UCBServerConnection con = GetConnection(server); if (con != null) { con.send(package); return(true); } return(false); } catch (Exception) { return(false); } } else { return(false); } }
public RocketConfig(U3Server server) : this(new DirectoryInfo(server.ServerInformation.ServerDirectory.FullName + "\\Rocket\\")) { }
public static Task <ModuleInstalltionResult> InstallModule(string modZipFile, U3Server server) { string modulesFolder = server.ServerInformation.GameDirectory.FullName + "\\Modules\\"; return(InstallModule(modZipFile, modulesFolder)); }
public bool IsIdentifed(U3Server server) { return(IdentifiedServers.ContainsValue(server)); }
public bool SendCommand(U3Server server, string command) { StringPackage package = new StringPackage(NetPackageHeader.Command, command); return(SendPackage(server, package)); }
private void Con_InstanceConnected(U3Server instance) { U3ServerConnected?.Invoke(instance); }
public PackageReceivedEventArgs(U3Server server, OPackage package) { this.Server = server; this.Package = package; }
public CommandsConfig(U3Server server) { dat = prepareFile(server.ServerInformation.ServerDirectory); load(); }
public RocketPluginManager(U3Server instance) { this.server = instance; reload(); }
public void save(U3Server server) { AdvancedConfig.save(server, this); }