コード例 #1
0
 public void CreateServerList(ServerGroup serverGroup, GameServer.ServerType serverType)
 {
     this.Items.Clear();
     foreach (GameServer server in serverGroup.List)
     {
         if (server.Type == serverType)
         {
             ListItem item = new ListItem(server.Name, server.Id.ToString());
             this.Items.Add(item);
         }
     }
 }
コード例 #2
0
    private bool Save2DB()
    {
        try
        {
            //权限检查
            if (_operation == Operation.Add)
            {
                if (!WebUtil.CheckPrivilege(TheAdminServer.GameServerManager.SecurityObject, OpType.WRITE, Session))
                {
                    LabelOpMsg.Text = StringDef.NotEnoughPrivilege;
                    return(false);
                }
            }
            else if (_operation == Operation.Modify)
            {
                int        id     = int.Parse(TextBoxServerId.Text);
                GameServer server = TheAdminServer.GameServerManager.GetGameServer(id);

                if (server != null && !WebUtil.CheckPrivilege(TheAdminServer.GameServerManager.SecurityObject, OpType.WRITE, Session))
                {
                    LabelOpMsg.Text = StringDef.NotEnoughPrivilege;
                    return(false);
                }
            }
            else
            {
                LabelOpMsg.Text = StringDef.NotEnoughPrivilege;
                return(false);
            }

            string name       = TextBoxServerName.Text;
            string comment    = TextBoxServerComment.Text;
            string ip         = TextBoxServerIpAddress.Text;
            string gameDir    = TextBoxGameDir.Text;
            string cfgContent = ServerConfig.Text;


            ////游戏目录最后一个“/”必须有
            //if (gameDir != null && gameDir.Length > 0)
            //    if (!gameDir.EndsWith(GameServer.FilePathDelimiter) && !gameDir.EndsWith(GameServer.FilePathWinDelimiter))
            //    {
            //        if (gameDir.IndexOf(GameServer.FilePathWinDelimiter) >= 0)
            //        {
            //            gameDir = gameDir + GameServer.FilePathWinDelimiter;
            //        }
            //        else
            //        {
            //            gameDir = gameDir + GameServer.FilePathDelimiter;
            //        }
            //        TextBoxGameDir.Text = gameDir;
            //    }

            ServerGroup group      = ServerGroupDropDownList.SelectedServerGroup;
            LordConfig  lordConfig = null;
            //GameServer.ConfigGuardState configState = CheckBoxHasBeenConfigGuard.Checked ? GameServer.ConfigGuardState.Configed : GameServer.ConfigGuardState.NotConfig;
            GameServer.ServerType serverType = (GameServer.ServerType) int.Parse(ListBoxServerType.SelectedValue);

            if (PanelLordConfig.Visible)
            {
                if (GuardCfg(ref lordConfig) == false)
                {
                    return(false);
                }
            }

            if (_operation == Operation.Add)
            {
                int    severtype        = ListBoxServerType.SelectedIndex;
                string serverConfigFile = WebConfig.WebsiteRootPath + WebConfig.ConfigTemplateDir + GetServerConfigFileName(severtype);
                ServerConfig.getServerConfigTextBox(serverConfigFile);
                if (TheAdminServer.GameServerManager.AddGameServer(name, comment, ip, gameDir, group, GameServer.ConfigGuardState.None, ServerConfig.Text, serverType, FtpDropDownList.SelectFtp))
                {
                    LabelSuccess.Visible = true;
                    LabelSuccess.Text    = StringDef.AddGameServer + StringDef.Colon + StringDef.Success;
                }
                else
                {
                    LabelOpMsg.Text = StringDef.AddGameServer + StringDef.Colon + StringDef.Failure;
                    return(false);
                }
            }
            else if (_operation == Operation.Modify)
            {
                int        id     = int.Parse(TextBoxServerId.Text);
                GameServer server = TheAdminServer.GameServerManager.GetGameServer(id);


                if (TheAdminServer.GameServerManager.ModifyGameServer(server, name, comment, ip, gameDir, group, lordConfig, GameServer.ConfigGuardState.Configuring, ServerConfig.Text, serverType, FtpDropDownList.SelectFtp))
                {
                    LabelSuccess.Visible = true;
                    LabelSuccess.Text    = StringDef.ModifyServer + StringDef.Colon + StringDef.Success;
                    if (_server.LordConfig.FSEyeIp == string.Empty || _server.LordConfig.FSEyePort == 0)
                    {
                        LabelLordIsConfig.Visible = true;
                    }
                    else
                    {
                        LabelLordIsConfig.Visible = false;
                    }
                }
                else
                {
                    LabelOpMsg.Text = StringDef.ModifyServer + StringDef.Colon + StringDef.Failure;
                    return(false);
                }
            }
        }
        catch (Exception ex)
        {
            string operationText = string.Empty;
            if (_operation == Operation.Add)
            {
                operationText = StringDef.AddServer;
            }
            else if (_operation == Operation.Modify)
            {
                operationText = StringDef.ModifyServer;
            }

            LabelOpMsg.Text = operationText + StringDef.Colon + StringDef.Failure + StringDef.Colon + ex.Message;
        }

        return(true);
    }