private static void Main(string[] args) { Log.SetLevel(Log.LogLevel.Info | Log.LogLevel.Debug); NitroxServiceLocator.InitializeDependencyContainer(new ServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); ConfigureCultureInfo(); Server server; try { server = NitroxServiceLocator.LocateService <Server>(); server.Start(); } catch (Exception e) { Log.Error(e.ToString()); return; } CatchExitEvent(); ConsoleCommandProcessor cmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { cmdProcessor.ProcessCommand(Console.ReadLine(), Optional <Player> .Empty(), Perms.CONSOLE); } }
private static void Main(string[] args) { ConfigureCultureInfo(); Log.Setup(); ConfigureConsoleWindow(); // Allow game path to be given as command argument if (args.Length > 0 && Directory.Exists(args[0]) && File.Exists(Path.Combine(args[0], "Subnautica.exe"))) { string gameDir = Path.GetFullPath(args[0]); Log.Info($"Using game files from: {gameDir}"); gameInstallDir = new Lazy <string>(() => gameDir); } else { gameInstallDir = new Lazy <string>(() => { string gameDir = GameInstallationFinder.Instance.FindGame(); Log.Info($"Using game files from: {gameDir}"); return(gameDir); }); } AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainOnAssemblyResolve; AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomainOnAssemblyResolve; NitroxModel.Helper.Map.Main = new SubnauticaMap(); NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); Server server; try { server = NitroxServiceLocator.LocateService <Server>(); Log.Info($"Loaded save\n{server.SaveSummary}"); if (!server.Start()) { Log.Error("Unable to start server."); Console.WriteLine("\nPress any key to continue.."); Console.ReadKey(true); } } catch (Exception ex) { Log.Error(ex); return; } CatchExitEvent(); ConsoleCommandProcessor cmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { cmdProcessor.ProcessCommand(Console.ReadLine(), Optional.Empty, Perms.CONSOLE); } }
static void Main(string[] args) { Log.SetLevel(Log.LogLevel.ConsoleInfo | Log.LogLevel.ConsoleDebug | Log.LogLevel.FileLog); NitroxServiceLocator.InitializeDependencyContainer(new ServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); configureCultureInfo(); Server server; try { server = NitroxServiceLocator.LocateService <Server>(); server.Start(); } catch (Exception e) { Log.Error(e.ToString()); return; } ConsoleCommandProcessor CmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { CmdProcessor.ProcessCommand(Console.ReadLine()); } }
private static void Main(string[] args) { ConfigureConsoleWindow(); ConfigureCultureInfo(); NitroxModel.Helper.Map.Main = new SubnauticaMap(); NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); Server server; try { server = NitroxServiceLocator.LocateService <Server>(); server.Start(); } catch (Exception e) { Log.Error(e.ToString()); return; } CatchExitEvent(); ConsoleCommandProcessor cmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { cmdProcessor.ProcessCommand(Console.ReadLine(), Optional.Empty, Perms.CONSOLE); } }
static void Main(string[] args) { Log.SetLevel(Log.LogLevel.ConsoleInfo | Log.LogLevel.ConsoleDebug); try { ServerConfig config = new ServerConfig(); Server server = new Server(config); server.Start(); } catch (Exception e) { Log.Error(e.ToString()); } while (IsRunning) { ConsoleCommandProcessor.ProcessCommand(Console.ReadLine()); } }
private static void Main(string[] args) { ConfigureConsoleWindow(); ConfigureCultureInfo(); NitroxModel.Helper.Map.Main = new SubnauticaMap(); NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); Server server; try { server = NitroxServiceLocator.LocateService <Server>(); Log.Info($"Loaded save\n{server.SaveSummary}"); if (!server.Start()) { Log.Error("Unable to start server."); Console.WriteLine("\nPress any key to continue.."); Console.ReadKey(true); } } catch (Exception e) { Log.Error(e.ToString()); return; } CatchExitEvent(); ConsoleCommandProcessor cmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { cmdProcessor.ProcessCommand(Console.ReadLine(), Optional.Empty, Perms.CONSOLE); } }
public override void Process(ServerCommand packet, Player player) { string msg = string.Join(" ", packet.CmdArgs); cmdProcessor.ProcessCommand(msg); }
private static async Task Main(string[] args) { // The thread that writers to console is paused while selecting text in console. So console writer needs to be async. Log.Setup(asyncConsoleWriter: true, isConsoleApp: true); AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; ConfigureCultureInfo(); AppMutex.Hold(() => { Log.Info("Waiting for 30 seconds on other Nitrox servers to initialize before starting.."); }, 30000); Server server; try { // Allow game path to be given as command argument if (args.Length > 0 && Directory.Exists(args[0]) && File.Exists(Path.Combine(args[0], "Subnautica.exe"))) { string gameDir = Path.GetFullPath(args[0]); Log.Info($"Using game files from: {gameDir}"); gameInstallDir = new Lazy <string>(() => gameDir); } else { gameInstallDir = new Lazy <string>(() => { string gameDir = GameInstallationFinder.Instance.FindGame(); Log.Info($"Using game files from: {gameDir}"); return(gameDir); }); } AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainOnAssemblyResolve; AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomainOnAssemblyResolve; Map.Main = new SubnauticaMap(); NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); server = NitroxServiceLocator.LocateService <Server>(); await WaitForAvailablePortAsync(server.Port); if (!server.Start()) { throw new Exception("Unable to start server."); } Log.Info("Server is waiting for players!"); CatchExitEvent(); } finally { // Allow other servers to start initializing. AppMutex.Release(); } Log.Info("To get help for commands, run help in console or /help in chatbox"); ConsoleCommandProcessor cmdProcessor = NitroxServiceLocator.LocateService <ConsoleCommandProcessor>(); while (server.IsRunning) { cmdProcessor.ProcessCommand(Console.ReadLine(), Optional.Empty, Perms.CONSOLE); } }
public override void Process(ServerCommand packet, Player player) { Log.Info($"{player.Name} issued command: /{packet.Cmd}"); cmdProcessor.ProcessCommand(packet.Cmd, Optional.Of(player), player.Permissions); }
public override void Process(ServerCommand packet, Player player) { string msg = string.Join(" ", packet.CmdArgs); cmdProcessor.ProcessCommand(msg, Optional <Player> .Of(player), playerData.GetPermissions(player.Name)); }