Exemplo n.º 1
0
        public GameResult ChangeStatus(ChangeStatusParam param)
        {
            if (!string.IsNullOrEmpty(param.GameServerId))
            {
                GameServerId = param.GameServerId;
            }
            GameResult result = null;

            if (!CompleteInstal())
            {
                Create(new CreateParam {
                    GamePort = param.GamePort
                });
            }
            switch (param.TypeStatus)
            {
            case GameHostTypeStatus.Enable:
                result = On(param);
                break;

            case GameHostTypeStatus.Disable:
                result = Off(param);
                break;

            case GameHostTypeStatus.Restart:
                result = Restart(param);
                break;
            }
            return(result);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ChangeStatus([FromBody] ChangeStatusParam p)
        {
            if (ModelState.IsValid)
            {
                var item = _context.UserStories.Single(t => t.ID == p.ItemID);
                var s    = StoryStatusList.GetNextStatus(item.StatusCode);
                item.StatusCode = s.Value;
                await _context.SaveChangesAsync();

                return(Json(s.Name));
            }

            return(null);
        }
Exemplo n.º 3
0
        protected virtual GameResult On(ChangeStatusParam param)
        {
            var result = new GameResult();
            var run    = $"cd {Path}/{GameName};" +
                         $"./{GameName} start -servicename {GameName}{GameServerId} -port {param.GamePort} -clientport {param.GamePort + 1};";

            Command.Execute(run);
            if (!string.IsNullOrEmpty(Command.Error))
            {
                ValidateError(Command, result);
            }
            result.Data = Command.Result;
            return(result);
        }
Exemplo n.º 4
0
        protected override GameResult Restart(ChangeStatusParam param)
        {
            var result = new GameResult();
            var run    = $"cd {Path}/{GameName};" +
                         $"./{GameName} restart -servicename {GameName}{GameServerId} -gameport {param.GamePort} " +
                         $"-rconport {param.GamePort + 1};";
            var res = Client.RunCommand(run);

            if (!string.IsNullOrEmpty(res.Error))
            {
                ValidateError(res, result);
            }
            result.Data = res.Result;
            return(result);
        }
Exemplo n.º 5
0
        protected virtual GameResult Off(ChangeStatusParam param)
        {
            var result = new GameResult();
            //IDictionary<Renci.SshNet.Common.TerminalModes, uint> termkvp = new Dictionary<Renci.SshNet.Common.TerminalModes, uint>();
            //termkvp.Add(Renci.SshNet.Common.TerminalModes.ECHO, 53);
            //Terminal = Client.CreateShellStream("xterm", 80, 24, 800, 600, 1024, termkvp);
            //Writer = new StreamWriter(Terminal) { AutoFlush = true };
            var run = $"cd {Path}/{GameName};" +
                      $"./{GameName} stop -servicename {GameName}{GameServerId} -port {param.GamePort};";

            Command.Execute(run);
            if (!string.IsNullOrEmpty(Command.Error))
            {
                ValidateError(Command, result);
            }
            //Writer.WriteLine(run);
            result.Data = Command.Result;
            return(result);
        }
Exemplo n.º 6
0
        protected override GameResult Restart(ChangeStatusParam param)
        {
            var result = new GameResult();
            var run    = $"cd {Path}/{GameName};" +
                         $"./{GameName} restart -servicename {GameName}{GameServerId} -port {param.GamePort} " +
                         $"-clientport {param.GamePort + 1} -sourcetvport {param.GamePort + 2}";

            if (!string.IsNullOrEmpty(DefaultMap))
            {
                run += $" -defaultmap {DefaultMap}";
            }
            if (MaxPlayers > 0)
            {
                run += $" -maxplayers {MaxPlayers}";
            }
            run += ";";
            Command.Execute(run);
            if (!string.IsNullOrEmpty(Command.Error))
            {
                ValidateError(Command, result);
            }
            result.Data = Command.Result;
            return(result);
        }
Exemplo n.º 7
0
        protected override GameResult On(ChangeStatusParam param)
        {
            var result = new GameResult();
            var run    = $"cd {Path}/{GameName};" +
                         $"./{GameName} start -servicename {GameName}{GameServerId} -port {param.GamePort} " +
                         $"-queryport {param.GamePort + 1}";

            if (!string.IsNullOrEmpty(ServerName))
            {
                run += $" -servername {ServerName}";
            }
            if (MaxPlayers > 0)
            {
                run += $" -maxplayers {MaxPlayers}";
            }
            run += ";";
            Command.Execute(run);
            if (!string.IsNullOrEmpty(Command.Error))
            {
                ValidateError(Command, result);
            }
            result.Data = Command.Result;
            return(result);
        }