private void SQLConnect(ReportingMessage reportMessage, TrackingObject trackingObject)
        {
            string initSqlQuery = "CALL gameserverinit(@serverhash, @namex, @descriptionx, @gameportx, @gameaddressx, @protocolx, @programversion, @maxplayersx, @modcontrolx, @modcontrolshax, @gamemodex, @cheatsx, @warpmodex, @universex, @bannerx, @homepagex, @httpportx, @adminx, @teamx, @locationx, @fixedipx);";
            Dictionary <string, object> parameters = reportMessage.GetParameters();

            try
            {
                databaseConnection.ExecuteNonReader(initSqlQuery, parameters);
            }
            catch (Exception e)
            {
                Console.WriteLine("WARNING: Ignoring error on connection (add server), error: " + e.Message);
            }
            string playerSqlQuery = "CALL gameserverplayer(@hash, @player, '1')";

            foreach (string connectedPlayer in reportMessage.players)
            {
                Console.WriteLine("Player " + connectedPlayer + " joined " + reportMessage.serverHash);
                Dictionary <string, object> playerParams = new Dictionary <string, object>();
                playerParams["@hash"]   = reportMessage.serverHash;
                playerParams["@player"] = connectedPlayer;
                try
                {
                    databaseConnection.ExecuteNonReader(playerSqlQuery, playerParams);
                }
                catch (Exception e)
                {
                    Console.WriteLine("WARNING: Ignoring error on connection (add player), error: " + e.Message);
                }
                trackingObject.players = reportMessage.players;
            }
        }
Ejemplo n.º 2
0
        private void SQLReport(int trackNumber, ReportingMessage reportMessage)
        {
            Dictionary <string, object> parameters = reportMessage.GetParameters(trackNumber);
            //Build SQL text
            string sqlText = "UPDATE DMPServerList SET ";

            sqlText += "`serverHash`=@serverHash, ";
            sqlText += "`serverName`=@serverName, ";
            sqlText += "`description`=@description, ";
            sqlText += "`gamePort`=@gamePort, ";
            sqlText += "`gameAddress`=@gameAddress, ";
            sqlText += "`protocolVersion`=@protocolVersion, ";
            sqlText += "`programVersion`=@programVersion, ";
            sqlText += "`maxPlayers`=@maxPlayers, ";
            sqlText += "`modControl`=@modControl, ";
            sqlText += "`modControlSha`=@modControlSha, ";
            sqlText += "`gameMode`=@gameMode, ";
            sqlText += "`cheats`=@cheats, ";
            sqlText += "`warpMode`=@warpMode, ";
            sqlText += "`universeSize`=@universeSize, ";
            sqlText += "`banner`=@banner, ";
            sqlText += "`homepage`=@homepage, ";
            sqlText += "`httpPort`=@httpPort, ";
            sqlText += "`admin`=@admin, ";
            sqlText += "`team`=@team, ";
            sqlText += "`location`=@location, ";
            sqlText += "`fixedIP`=@fixedIP, ";
            sqlText += "`players`=@players, ";
            sqlText += "`playerCount`=@playerCount ";
            sqlText += "WHERE `id`=@id";
            //Run SQL
            try
            {
                databaseConnection.ExecuteNonReader(sqlText, parameters);
            }
            catch (Exception e)
            {
                Console.WriteLine("WARNING: Ignoring error on report, error: " + e);
            }
        }