Example #1
0
 private void Unload()
 {
     if (_mySqlConnection != null)
     {
         _mySqlConnection = null;
     }
 }
Example #2
0
 private void StartConnection()
 {
     if (_mySqlConnection == null)
     {
         Puts("Opening connection.");
         _mySqlConnection = _mySql.OpenDb(dbConnection["Host"].ToString(), Convert.ToInt32(dbConnection["Port"]), dbConnection["Database"].ToString(), dbConnection["Username"].ToString(), dbConnection["Password"].ToString(), this);
         Puts("Connection opened.");
     }
 }
Example #3
0
 void Unloaded()
 {
     foreach (var player in BasePlayer.activePlayerList)
     {
         OnPlayerDisconnected(player);
     }
     timer.Once(5, () =>
     {
         _mySql.CloseDb(_mySqlConnection);
         _mySqlConnection = null;
     });
 }
Example #4
0
 private void StartConnection()
 {
     if (usingMySQL() && _mySqlConnection == null)
     {
         _mySqlConnection = _mySql.OpenDb(
             Address,
             Port,
             dbName,
             User,
             Password,
             this);
         Puts("Connection opened.(MySQL)");
     }
 }
        void ClaimRewardCommand(BasePlayer player, string command, string[] args)
        {
            string playerEmail = string.Join("", args);

            playerEmail = playerEmail.Replace("@", "@@");

            string packageClaimed = "";

            _mySqlConnection = _mySql.OpenDb(dc_config.MySQLIP, dc_config.MySQLPort, dc_config.MySQLDatabase, dc_config.MySQLusername, dc_config.MySQLpassword, this);
            var sql = Ext.MySql.Sql.Builder.Append("CALL rustserver.claim_donation('" + playerEmail + "');");

            _mySql.Query(sql, _mySqlConnection, list =>
            {
                string playerName = Regex.Replace(player.displayName, "(\\[.*\\])|(\".*\")|('.*')|(\\(.*\\))", "");

                var sb = new StringBuilder();
                foreach (var entry in list)
                {
                    sb.AppendFormat("{0}", entry["item_name"]);
                    sb.AppendLine();
                }

                packageClaimed = sb.ToString();

                string packageKey = getPackageKey(packageClaimed, dc_config.Packages);

                playerName = Regex.Replace(player.displayName, "(\\[.*\\])|(\".*\")|('.*')|(\\(.*\\))", "");

                if (packageClaimed.Length < 3)
                {
                    SendReply(player, string.Format(GetMessage("DC_NoUnclaimed", player.UserIDString), playerEmail.Replace("@@", "@")));
                }
                else
                {
                    List <string> ConsoleCommands;
                    if (dc_config.Packages.TryGetValue(packageKey, out ConsoleCommands))
                    {
                        RunConsoleCommands(ConsoleCommands, playerName);

                        SendReply(player, string.Format(GetMessage("DC_Claimed", player.UserIDString), packageClaimed));
                        Puts(player + " has claimed donation package " + packageClaimed);
                    }
                    else
                    {
                        SendReply(player, string.Format(GetMessage("DC_NoPackage", player.UserIDString), packageClaimed));
                        Puts(player + " tried to claim " + packageClaimed + "but the package could not be found in the config!");
                    }
                }
            });
        }
        void MySqlSelect(string SelectFields, string TableName)
        {
            // Connects to the database
            connection = mySql.OpenDb(MySqlAddress, MySqlPort, MySqlDatabaseName, MySqlUsername, MySqlPassword, this);

            var SelectData = $"SELECT {SelectFields} FROM `{TableName}`";
            // Build MySql Select Query
            var sql = Ext.MySql.Sql.Builder.Append(@SelectData);

            // Execute MySql Query
            mySql.Query(sql, connection, result =>
            {
                if (result == null)
                {
                    return;
                }
                // Process each record
                foreach (var entry in result)
                {
                    // Gets steamID from the Database and converts it to ulong so Whitelist will accept it
                    var steamID   = $"{entry["steamID"]}";
                    ulong ulongID = Convert.ToUInt64(steamID);

                    // Gets steamName used to register on the Whitelist
                    var steamName = $"{entry["steamName"]}";

                    // Gets Players IP they used when registering
                    var accessIP = $"{entry["ip"]}";

                    // Gets the Timestamp of when the registration happened
                    var accessTimestamp = $"{entry["timestamp"]}";

                    // Set ConsoleDebug to true in the config file to enable Debug messages in the console
                    if (ConsoleDebug)
                    {
                        Puts($"Adding {steamName} to the Whitelist...");
                    }

                    // Adds the Record to the Whitelist
                    CodeHatch.Engine.Networking.Server.UserWhitelist.Add(ulongID, steamName, $"IP that requested access: {accessIP}; Registered Steam Name: {steamName}; Timestamp: {accessTimestamp};");
                }
            });
        }