Example #1
0
 private void deleteSavedServer_Click(object sender, EventArgs e)
 {
     if (savedServers.SelectedItem != null)
     {
         Serialize.Delete (savedServers.SelectedItem);
         if (currentServer != null && ((RCON)savedServers.SelectedItem).Equals(currentServer.Console))
             currentServer = null;
         savedServers.Items.Remove(savedServers.SelectedItem);
     }
 }
Example #2
0
 private void loadSavedServer_Click(object sender, EventArgs e)
 {
     if(savedServers.SelectedItem != null)
     {
         currentServer = getServerInfo((RCON)(savedServers.SelectedItem));
         populateGametypeList();
         populateMapList();
     }
 }
Example #3
0
 private void refreshServerInfo(Server S)
 {
     this.hostnameLabel.Text = S.Hostname;
     this.gametypeLabel.Text = S.getGametype();
     this.modLabel.Text = S.Mod;
     this.playersLabel.Text = S.currentPlayers + "/" + S.maxPlayers;
     this.serverMapLabel.Text = S.getMapName();
     this.playerListBox.Items.Clear();
     foreach (Player P in S.Players)
         if (P.Name != null)
             this.playerListBox.Items.Add(P);
 }
Example #4
0
        private Server getServerInfo(RCON R)
        {
            Dictionary<String, String> getStatus = R.getStatus();
            RCON_Response maxPlayers = R.rconQuery("sv_maxclients");
            RCON_Response fs_game = R.rconQuery("fs_game");

            if (getStatus.Count > 0 && maxPlayers.Success && fs_game.Success)
            {
                Player[] playerList = new Player[Int32.Parse(maxPlayers.Response.Value)];

                int count = 0;
                foreach (String S in getStatus["Players"].Split(','))
                {
                    if (S.Length > 0)
                    {
                        String[] eachPlayers = S.Split(new char[] { '"' }, StringSplitOptions.RemoveEmptyEntries);
                        String[] eachPlayerScore = eachPlayers[0].Split(' ');
                        Player newPlayer = new Player(eachPlayers[1], Int32.Parse(eachPlayerScore[1]), Int32.Parse(eachPlayerScore[0]), count);
                        playerList[count] = newPlayer;
                        count++;
                    }
                }

                Server newServer = new Server(getStatus["sv_hostname"], count, Int32.Parse(maxPlayers.Response.Value), getStatus["g_gametype"], fs_game.Response.Value, playerList, LocalizationType.Get(getStatus["gamename"]), getStatus["mapname"], R);
                refreshServerInfo(newServer);
                updateConsoleOutput("[" + maxPlayers.responseTime + "ms] Successfully updated server: " + newServer.Hostname);
                return newServer;
            }

            else if (currentServer == null)
                if (maxPlayers.Error == RCON_Error.REQUEST_TIMED_OUT)
                    MessageBox.Show("Timed out trying to connect to the server.\nPerhaps it is offline or no RCON password is set.");
            else
                queryUserFeedback(maxPlayers);

            return null;
        }