public void ReloadEnvironmentByChangingBinDir() { var binSourcePath = "Tests/ExampleApps/SetUpEnvironmentApp/bin/"; GivenDLLsAreDeployedFrom(binSourcePath, (binDirPath) => { using (var env = ServerRunner.RunWith( EnvironmentOptionsTo( dllPath: Path.Combine(binDirPath, "SetUpEnvironmentApp.dll"), typeName: "SetUpEnvironmentApp.ServerEnvironment"))) { Assert.That(client.Get("http://localhost:9901/"), Is.Not.Empty); EmptyDir(binDirPath); Execution.Eventually(() => { try { Assert.That(client.Get("http://localhost:9901/"), Is.Not.Empty); Assert.Fail("Server must go down"); } catch (AssertionException) { throw; } catch (Exception ex) { } }); } }); }
public ServerControl(Server server) { if (server == null) { throw new ArgumentNullException(nameof(server)); } InitializeComponent(); _server = server; _serverRunner = new ServerRunner(server); _serverRunner.Stopped += OnStopped; Disposed += (sender, e) => _serverRunner.Dispose(); txtName.Text = server.Name; txtFolder.Text = server.Folder; txtAddress.Text = server.Address.ToString(); numPort.Value = server.Port; txtMap.Text = server.Map; numSlots.Value = server.MaxPlayers; btnApplyGeneralSettings.Enabled = false; if (_serverRunner.TryRecoverProcess(out bool consoleVisible)) { UpdateControls(EState.Running); btnHideShowConsole.Text = consoleVisible ? HIDE_CONSOLE_TEXT : SHOW_CONSOLE_TEXT; } else { UpdateControls(EState.Stopped); } }
public override async Task RunServer(IAsyncStreamReader <ServerArgs> requestStream, IServerStreamWriter <ServerStatus> responseStream, ServerCallContext context) { if (!await requestStream.MoveNext()) { throw new InvalidOperationException(); } var serverConfig = requestStream.Current.Setup; var runner = ServerRunner.Start(_loggerFactory, serverConfig); try { await responseStream.WriteAsync(new ServerStatus { Stats = runner.GetStats(false), Port = runner.BoundPort, Cores = Environment.ProcessorCount, }); while (await requestStream.MoveNext()) { var reset = requestStream.Current.Mark.Reset; await responseStream.WriteAsync(new ServerStatus { Stats = runner.GetStats(reset) }); } } finally { _logger.LogInformation("Exiting RunServer."); await runner.StopAsync(); } }
static void Main(string[] args) { ServerRunner runner = new ServerRunner(); runner.Logger = new ConsoleLogger(); runner.Run(); }
private ServerRunner DeployServer(string packageName, string storageType) { var serverDirectory = NewDataPath(packageName, true); IOExtensions.CopyDirectory("../../../packages/" + packageName + "/tools/", serverDirectory); return(ServerRunner.Run(Port, storageType, Path.Combine(serverDirectory, "Raven.Server.exe"))); }
protected override void OnPackageReceivedClient(byte[] package) { SpawnedPlayerInfo playerInfo = new SpawnedPlayerInfo(); playerInfo.DeserializeInto(package); ServerRunner.SpawnPhysicalPlayer(playerInfo.PlayerID, playerInfo.Position, playerInfo.Rotation); }
public void StartServerEnvironment() { ServerRunner.RunWith( EnvironmentOptionsTo( dllPath: "Tests/ExampleApps/SetUpEnvironmentApp/bin/SetUpEnvironmentApp.dll", typeName: "SetUpEnvironmentApp.ServerEnvironment")); Assert.That(client.Get("http://localhost:9901/"), Is.Not.Empty); }
public override void OnCommandRan(string command) { string[] subCommand = command.Split(" ".ToCharArray()); if (subCommand[0].ToLower() == "connect") { debug.Log("starting client..."); ServerRunner.StartClient(subCommand[1]); } }
/* * helper: If you dont like duplicationg code. Use this */ private static (ServerRunner serverRunner, Player playerInit, ClientRunner clientRunner) InitiateServer() { var server = new ServerRunner(); server.Start(); var client = new ClientRunner("127.0.0.1", 32123); client.Start(); client.JoinServer("player"); return(server, server.GetPlayer("player"), client); }
public void StartSimpleEnvironment() { ServerRunner.RunWith( EnvironmentOptionsTo( dllPath: "Tests/ExampleApps/SetUpEnvironmentApp/bin/SetUpEnvironmentApp.dll", typeName: "SetUpEnvironmentApp.ExampleEnvironment"), output: output, error: error); Assert.That(output.ToString(), Does.Contain("Started")); }
public void StartSimpleEnvironmentWithDirectReferenceToLifecycle() { ServerRunner.RunWith( EnvironmentOptionsTo( dllPath: "Tests\\ExampleApps\\SetUpEnvironmentApp\\bin\\SetUpEnvironmentApp.dll", typeName: "SetUpEnvironmentApp.ExampleEnvironmentLifecycle"), output: output, error: error); Assert.That(output.ToString(), Does.Contain("Started")); }
private void ServerThreadProc(object arg) { Thread.CurrentThread.Name = "Server Net"; runner = new ServerRunner(); runner.Run(); lock (serverThreadLock) serverThread = null; this.Stop(); }
public void TestGetPlayerShouldNotBeNull() { var server = new ServerRunner(); server.Start(); var client = new ClientRunner("127.0.0.1", 32123); client.Start(); client.JoinServer("player"); server.GetPlayer("player").Should().NotBeNull(); server.Stop(); }
public static void Run(ServerRunner webServer) { RegisterAssembly(); try { webServer.Run(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void LoadEnvironmentByPostPopulatingTheDir() { var binSourcePath = "Tests/ExampleApps/SetUpEnvironmentApp/bin/"; var binDirPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); using (var env = ServerRunner.RunWith( EnvironmentOptionsTo( dllPath: Path.Combine(binDirPath, "SetUpEnvironmentApp.dll"), typeName: "SetUpEnvironmentApp.ServerEnvironment"))) { CopyFilesTo(binSourcePath, binDirPath); Execution.Eventually(() => Assert.That(client.Get("http://localhost:9901/"), Is.Not.Empty)); } }
public void TestLeavePlayer() { var server = new ServerRunner(); server.Start(); var client = new ClientRunner("127.0.0.1", 32123); client.Start(); client.JoinServer("player"); Thread.Sleep(1000); var player = server.GetPlayer("player"); server.LeavePlayer(server.GetPlayerInfo(player.Pseudo)).Should().Be(true); server.Stop(); }
public void TestGetPlayerPosition() { var server = new ServerRunner(); server.Start(); var client = new ClientRunner("127.0.0.1", 32123); client.Start(); client.JoinServer("player"); Thread.Sleep(1000); var player = server.GetPlayer("player"); Thread.Sleep(1000); server.Invoking(o => o.GetPlayerPosition(player)).ShouldNotThrow <NullReferenceException>(); server.Stop(); }
public static void StartApplication(MvcApplication mvcApplication) { if (Interlocked.Exchange(ref isStarted, 1) == 1) { return; // prevent double start } var listener = new ZkServerTraceListener(); Trace.Listeners.Add(listener); Trace.TraceInformation("Starting Zero-K.info web and application"); GlobalConst.SiteDiskPath = MapPath("~"); AwardCalculator = new AwardCalculator(); AwardCalculator.RecomputeNow(); var sitePath = mvcApplication.Server.MapPath("~"); ZkServerRunner = new ServerRunner(sitePath, new PlanetwarsEventCreator()); Server = ZkServerRunner.ZkLobbyServer; Trace.TraceInformation("Starting lobby server"); ZkServerRunner.Run(); listener.ZkLobbyServer = Server; ForumPostIndexer = new ForumPostIndexer(); SteamDepotGenerator = new SteamDepotGenerator(sitePath, Path.Combine(sitePath, "..", "steamworks", "tools", "ContentBuilder", "content")); SetupPaypalInterface(); // HACK Task.Factory.StartNew(() => SteamDepotGenerator.RunAll()); Trace.TraceInformation("Starting autoregistrator"); AutoRegistrator = new AutoRegistrator(MapPath("~")); AutoRegistrator.NewZkReleaseRegistered += (game, chobby) => { SteamDepotGenerator.RunAll(); Server.SetGame(game); }; AutoRegistrator.RunMainAndMapSyncAsync(); }
public static void StartApplication(MvcApplication mvcApplication) { var listener = new ZkServerTraceListener(); Trace.Listeners.Add(listener); ZkServerRunner = new ServerRunner(mvcApplication.Server.MapPath("~")); Server = ZkServerRunner.ZkLobbyServer; ZkServerRunner.Run(); listener.ZkLobbyServer = Server; SetupPaypalInterface(); if (GlobalConst.PlanetWarsMode == PlanetWarsModes.Running) { PlanetWarsMatchMaker = new PlanetWarsMatchMaker(Server); } }
private static int Main(string[] args) { using CancellationTokenSource cts = new CancellationTokenSource(); void CancelHandler(object sender, ConsoleCancelEventArgs args) { args.Cancel = true; cts.Cancel(); Console.CancelKeyPress -= CancelHandler !; } Console.CancelKeyPress += CancelHandler; return(new Parser(settings => { settings.HelpWriter = Console.Out; }) .ParseArguments <ClientOptions, ServerOptions, InProcOptions>(args) .MapResult( (ClientOptions opts) => ClientRunner.Run(opts, cts), (ServerOptions opts) => ServerRunner.Run(opts, cts.Token), (InProcOptions opts) => InProcRunner.Run(opts, cts), _ => 1)); }
private static async Task <int> Execute(string[] args, CancellationToken token) { var settings = SettingsParser.ParseArgs(CesxSettings.Default, args); Console.WriteLine("CESX: starting with settings"); Console.WriteLine(settings); if (!settings.SkipBackup) { Console.WriteLine("CESX: Creating backup..."); var backuper = new ServerBackuper(settings); backuper.DoBackup(); Console.WriteLine("CESX: Done!"); } if (!settings.SkipUpdate) { Console.WriteLine("CESX: Try updating server files"); _updater = new ServerUpdater(settings); Console.WriteLine("CESX: Downloading SteamCmd..."); await _updater.EnsureSteamCmdExistsAsync(token); Console.WriteLine("CESX: Done!"); Console.WriteLine("CESX: Running steamcmd..."); await _updater.RunSteamCmdUpdaterAsync(token); Console.WriteLine("CESX: Done!"); //_updater.Dispose(); } Console.WriteLine("CESX: Starting the server instance"); _server = new ServerRunner(settings); _server.Run(); return((int)ExitCode.Success); }
public static void Main(string[] args) { var server = new ServerRunner(1337, new ControllerRouter()); MvcEngine.Run(server); }