Giter Club home page Giter Club logo

cs2-ranks's Introduction

Player Ranking

Each player is assigned a rank based on their accumulated experience points. Ranks range from "None" to the prestigious "The Global Elite."

Experience Points

Players earn experience points for various in-game achievements, such as kills, assists, and MVP awards. Experience contributes to both their rank and overall score.

Level Progression

Players progress through levels based on their experience points. Level achievements are announced in the chat, providing recognition for their dedication and skill.

Events and Rewards

The plugin tracks events like round victories, defeats, and MVP awards, awarding or deducting experience points accordingly.

Database Integration

Player statistics are stored in a MySQL database, allowing for persistent tracking of player progress even after disconnecting.

Top Players List

Players can check the top-ranking players on the server, including their rank, experience points, and kill/death ratio.

Command for Configuration Reload

Server administrators can reload the plugin configuration on-the-fly using the css_lr_reload console command.

Customizable Configuration

Server administrators can fine-tune the plugin's behavior, including experience point rewards for specific events, minimum player count for XP gain, and more.

Installation

  1. Install CounterStrike Sharp and Metamod:Source
  2. Download Ranks
  3. Unzip the archive and upload it to the game server

Commands

Command Description
css_lr_reload reloads the configuration (server console only)
css_lvl or !lvl opens a menu where you can view all ranks
css_top or !top or top displaying the top 10 players in chat
css_rank or !rank or rank chat statistics display
css_lr_giveexp <username or #userid> [exp (def. 0)] (@css/root) allows you to give the player experience
css_lr_takeexp <username or #userid> [exp (def. 0)] (@css/root) allows you to take away a player experience
css_lr_enabled 1/0 allows you to disable ranks (useful for minigame servers) (ONLY SERVER CONSOLE) you can put it in the cfg

Config

Other

  • TableName: "lvl_base",         ; // Database table name
  • Prefix: "[ {BLUE}Ranks {DEFAULT}]"        // Chat prefix
  • UseCommandWithoutPrefix: true         // Is it possible to write top and rank without the prefix? true - yes | false - no
  • ShowExperienceMessages: true         // Do I show the player chat messages how much experience he has gained? true - yes | false - no.
  • MinPlayers: 4           // Minimum number of players to gain experience
  • InitialExperiencePoints: 1000        // How much experience a player will have when they first log into the server

Events

  • EventRoundMvp: 12       // Amount of experience for MVP
  • EventPlayerDeath:
    • Kills: 13                   // Amount of experience gained per kill
    • Deaths: 20                  // The amount of experience you lose per death
    • Assists: 5                  // The amount of experience you get for assisting in a kill
    • KillingAnAlly: 6              // The amount of experience you lose for killing an ally
  • EventPlayerBomb:
    • DroppedBomb: 5              // The amount of experience lost for losing a bomb
    • PlantedBomb: 3              // The amount of experience you get for planting a bomb
    • DefusedBomb: 3              // The amount of experience you get for defusing a bomb
    • PickUpBomb: 3                     // The amount of experience you get for picking up a bomb
  • EventRoundEnd:
    • Winner: 5                      // The amount of experience gained per round won
    • Loser: 8                  // The amount of experience lost for losing a round

Weapons

You get extra experience for killing with this weapon (you can add your own weapons without weapon_)

  • knife: 5
  • awp: 2

Database connection

  • Host: "HOST"
  • Database: "DATABASE"
  • User: "USER"
  • Password: "PASSWORD"

Color Tags

{DEFAULT}, {WHITE}, {DARKRED}, {GREEN}, {LIGHTYELLOW}, {LIGHTBLUE}, {OLIVE}, {LIME}, {RED}, {LIGHTPURPLE}, {PURPLE}, {GREY}, {YELLOW}, {GOLD}, {SILVER}, {BLUE}, {DARKBLUE}, {BLUEGREY}, {MAGENTA}, {LIGHTRED}, {ORANGE}

cs2-ranks's People

Contributors

celicat avatar killerroi avatar panikajoreserv avatar partiusfabaa avatar phantomyopta avatar rcon420 avatar st1ng2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cs2-ranks's Issues

Shared API not loading

Hi, I'm just trying to install this plugin but i'm getting this error:

2024-04-03 18:45:24.295 +02:00 [EROR] (cssharp:PluginManager) Failed to load plugin from /home/servers/users/srv79503/CS2/game/csgo/addons/counterstrikesharp/plugins/Ranks/Ranks.dll
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load file or assembly 'RanksApi, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.Assembly.GetTypes()
   at CounterStrikeSharp.API.Core.Plugin.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/PluginContext.cs:line 118
   at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 52
   at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.Load() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 34
System.IO.FileNotFoundException: Could not load file or assembly 'RanksApi, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

It's looks like counterstrikesharp is not using shared folder, any solution for this problem?

Bots

Iloaded on my three community servers is there a way to make bot kills count

[Enhancement] Possible to expand the ranks + colors?

  1. It would be cool if you could expand the rankings yourself so that you could set more ranks for an extra long grind ( I know that you can increase the points yourself, but i want like 30 ranks :) )
  2. that you can adjust the color for the respective ranks yourself

Error raised when there is a lot of players on the server.

Hi, I get this error when we have more than 4/5 players on the server.
When this happens, we can no longer use the !top command.

2024-01-25 17:18:15.044 +01:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Runtime.InteropServices.Marshal.ReadByte(IntPtr ptr, Int32 ofs)
   at CounterStrikeSharp.API.Core.ScriptContext.GetResult(Type type, Byte* ptr) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/ScriptContext.cs:line 451
   at CounterStrikeSharp.API.Core.NativeAPI.GetSchemaValueByName[T](IntPtr instance, Int32 returntype, String classname, String propname) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/API.cs:line 1101
   at CounterStrikeSharp.API.Core.CBasePlayerController.get_PlayerName() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Objects.g.cs:line 5103
   at Ranks.Ranks.EventPlayerDeath(EventPlayerDeath event, GameEventInfo info)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82

I think it's due to this function in both plugins.

private void UpdateUserStatsLocal(CCSPlayerController? player, string msg = "",
        int exp = 0, bool increase = true, int kills = 0, int death = 0, int assist = 0,
        int shoots = 0, int hits = 0, int headshots = 0, int roundwin = 0, int roundlose = 0)
    {
        if (player == null || _config.MinPlayers > PlayersCount() ||
            Utilities.FindAllEntitiesByDesignerName<CCSGameRulesProxy>("cs_gamerules").First().GameRules!
                .WarmupPeriod) return;

        if (!_users.TryGetValue(player.SteamID, out var user)) return;

        user.name = player.PlayerName;

        exp = exp == -1 ? 0 : exp;

        if (increase)
            user.value += exp;
        else
            user.value -= exp;

        user.kills += kills;
        user.deaths += death;
        user.assists += assist;
        user.round_lose += roundlose;
        user.round_win += roundwin;
        user.headshots += headshots;
        user.hits += hits;
        user.shoots += shoots;

        if (user.value <= 0) user.value = _config.InitialExperiencePoints;
        
        var nextXp = GetExperienceToNextLevel(player);
        if (exp != 0 && _config.ShowExperienceMessages)
            Server.NextFrame(() => SendMessageToSpecificChat(player,
                $"{(increase ? "\x0C+" : "\x02-")}{exp} XP \x08{msg} {(nextXp == 0 ? string.Empty : $"{Localizer["next_level", nextXp]}")}"));
    }

on tab

any way to bring back the rank on scoreboard when you hit the tab button

Ranks are Weird

When I install any of the Ranks plugins it doesn't work until you individually go "!Lvl" then reset rank from that menu. Once you reset your rank then the plugin begins working, is there any work around that so that way everyone doesn't have to do that individually?

suggestion

hello it's possible to devalue 1point for drop bomb?
drop bomb = -1 in the rank
for encourage the player a play this objective
sorry for my bad english i'm french ^^

Fake Ranks issues

Hello @partiusfabaa , in my server, everyone starts in silver 2 instead of silver 1.
My configs:
{
"Type": 1,
"FakeRank": {
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
"7": 7,
"8": 8,
"9": 9,
"10": 10,
"11": 11,
"12": 12,
"13": 13,
"14": 14,
"15": 15,
"16": 16,
"17": 17,
"18": 18
}
}
"Ranks": {
"Silver I": 0,
"Silver II": 150,
"Silver III": 300,
"Silver IV": 600,
"Silver Elite": 1000,
"Silver Elite Master": 1400,
"Gold Nova I": 1900,
"Gold Nova II": 2400,
"Gold Nova III": 2900,
"Gold Nova Master": 3500,
"Master Guardian I": 4000,
"Master Guardian II": 4600,
"Master Guardian Elite": 5200,
"BigStar": 5900,
"Legendary Eagle": 6600,
"Legendary Eagle Master": 7500,
"Supreme": 8300,
"The Global Elite": 9000

Another thing: if I add xp to someone from console (for ex: 12000) then this player will be Global elite in top list, but this player's fakerank will be still silver or whatever it was because the plugin doesnt refresh the rank table in mysql..

[REQ] Support for rank images on the scoreboard

Implement players' rankings to be displayed on the scoreboard based on their points.

image
image
image

Each rank has its points configured in the plugin configuration, it would be interesting for each rank that the player reaches to show the rank he is in on the score.

To begin with, we can use the patents that are in CS2, Competitive and PREMIER and Wingman, and thus allow us to configure which patent image it will show as default.

In the future, if CS2 allows the use of FastDL, we can start creating our own patent images and using them.

Headshot counter doesn't work

Headshot counter doesn't work :(

Screenshot 2023-12-26 105417 Screenshot 2023-12-26 105535

And it only works once !top after every map change if there are a lot of players on it.
When I enter !top the second time after a few minutes nothing happens.

Best regards
Mario

deathmatch FFA

Hello, there is no option to configure experience for FREE FOR ALL mode, could it be changed?
Otherwise you can set that killing allay 0 xp, but there is no option to give +xp.

[Enhancement] Ranktag

Is it possible to set the rank tag so that it does not appear in the killfeed and ONLY in the scoreboard? otherwise the killfeed is so long. That doesn't look good and is annoying.

I'll ban some peoples and i got this error while type /top command

19:47:46 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Collections.Generic.KeyNotFoundException: The given key '76561199506514390' was not present in the dictionary.
at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(TKey key)
at Ranks.Ranks.OnCmdTop(CCSPlayerController controller, CommandInfo command)
at CounterStrikeSharp.API.Core.BasePlugin.<>c__DisplayClass41_0.b__0(Int32 i, IntPtr ptr) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/BasePlugin.cs:line 260
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82

plugin wont load [fixed]

I put the plugin in /game/csgo/addons/counterstrikesharp/plugins/Ranks

I restart server. No configs generated.
I go in test with !ranks, nothing.
I try the console commands, unknown command.
It isn't loading for me.
I am on most recent counter-strikesharp

I have many other plugins working and running, connected to databases. Metamod and cssharp.

ranks not showing properly for v1.0.6.6

Hi there @partiusfabaa ,

As it was against CSS rules to post about ranks on discord , I opened this issue here . Could you please publish a fix for the issue of ranks not showing for all players in scoreboard ?

Also sometimes rank shows for a player and then disappears and reappears constantly . I understand that you have moved to a new format for this plugin but if possible , please do us a favor and complete v1.0.6.6 with a fix so those of us who like this current plugin , can keep using that . It's a great plugin as it is and I don't feel the need to move to v2.0.0 if the issue with showing ranks could be fixed

thank you .

Bug

Hello, Ive tested the plugin with 4 online players, but it shows the incorrect informations when we type rank or top..

When I type rank, it says Im the first on the server with 249 xp, but when my friend type rank too, is says he is the first on the server with 350+ xp.

When we type top, it shows again the incorrect top list, as you see it on picture I added.

UPDATE: When I reconnect to the server, then it shows the correct datas (everythings fine), so this is the bug that it needs a reconnect :/

2
111

System.AccessViolationException: Attempted to read or write protected memory

Hi @partiusfabaa ,

I notice this error printed on my console a lot :

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Runtime.InteropServices.Marshal.ReadByte(IntPtr ptr, Int32 ofs)
   at CounterStrikeSharp.API.Core.ScriptContext.GetResult(Type type, Byte* ptr) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/ScriptContext.cs:line 451
   at CounterStrikeSharp.API.Core.NativeAPI.GetSchemaValueByName[T](IntPtr instance, Int32 returntype, String classname, String propname) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/API.cs:line 1101
   at CounterStrikeSharp.API.Core.CBasePlayerController.get_PlayerName() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Objects.g.cs:line 5103
   at Ranks.Ranks.EventPlayerDeath(EventPlayerDeath event, GameEventInfo info)
   at InvokeStub_GameEventHandler`1.Invoke(Object, Object, IntPtr*)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
2024-01-22 00:43:37.808 +03:30 [EROR] (cssharp:Core) Error invoking callback

I'm using CSS v144 . What is this error and how do I solve it?

errors

  1. just error:
    [All Chat][❤Fori❤ (203130165)]: !top
    2024-02-11 12:13:15.964 +03:00 [EROR] (cssharp:Core) Error invoking callback
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
    ---> System.Collections.Generic.KeyNotFoundException: The given key '76561199375567853' was not present in the dictionary.
    at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(TKey key)
    at Ranks.Ranks.OnCmdTop(CCSPlayerController controller, CommandInfo command) in C:\Users\SystemX\Documents\GitHub\cs2-ranks\Ranks for the LR database\Ranks.cs:line 510
    at CounterStrikeSharp.API.Core.BasePlugin.<>c__DisplayClass41_0.b__0(Int32 i, IntPtr ptr) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/BasePlugin.cs:line 260
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    --- End of inner exception stack trace ---
    at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Delegate.DynamicInvokeImpl(Object[] args)
    at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82

  2. two server crashes with this:
    2024-02-11 18:38:20.314 +03:00 [EROR] (cssharp:Core) Error invoking callback
    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
    ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
    at Ranks.Ranks.CommandListener_Say(CCSPlayerController player, CommandInfo info)
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
    at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    --- End of inner exception stack trace ---
    at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.Delegate.DynamicInvokeImpl(Object[] args)
    at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
    Segmentation fault

Server Crash with Bombrestrict Plugin

In connection with this plugin: https://github.com/NockyCZ/CS2_BombsitesRestrict the server crashes. This is a plugin that excludes a bomb site if there are fewer players than specified on the server. As soon as you try to plant the bomb on the blocked spot, the server crashes. I'm assuming it's because you get XP points for laying a bomb, but the plugin throws the bomb away and so a conflict arises.
The same thing happens with other rank plugins. Is it your responsibility to fix this or does the author of the bombrestrict have to do it?

Bomb plant error

20:56:51 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at Ranks.Ranks.UpdateUserStatsLocal(CCSPlayerController player, String msg, Int32 exp, Boolean increase, Int32 kills, Int32 death, Int32 assist, Int32 shoots, Int32 hits, Int32 headshots, Int32 roundwin, Int32 roundlose)
at Ranks.Ranks.<>cDisplayClass31_0.b3(EventBombPlanted event, GameEventInfo _)
at InvokeStub_GameEventHandler`1.Invoke(Object, Object, IntPtr)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at CounterStrikeSharp.API.Core.FunctionReference.<>cDisplayClass3_0.<.ctor>b0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82

Fake ranks dont show global elite

Counter-strike 2 Screenshot 2024 04 28 - 02 04 12 57
You can see that Im global elite but the scoreboard show me other rank. Only global elite have this problem. I have latest plugins.
Configs:
{
"TableName": "lvl_base",
"Prefix": "{BLUE}INFINITY {DEFAULT}|",
"TeamKillAllowed": true,
"UseCommandWithoutPrefix": true,
"ShowExperienceMessages": true,
"MinPlayers": 1,
"InitialExperiencePoints": 0,
"Events": {
"EventRoundMvp": 12,
"EventPlayerDeath": {
"Kills": 13,
"Deaths": 10,
"Assists": 5,
"KillingAnAlly": 10,
"Suicide": 15
},
"EventPlayerBomb": {
"DroppedBomb": 5,
"PlantedBomb": 4,
"DefusedBomb": 3,
"PickUpBomb": 3
},
"EventRoundEnd": {
"Winner": 5,
"Loser": 8
},
"Additionally": {
"Headshot": 1,
"Noscope": 2,
"Attackerblind": 1,
"Thrusmoke": 1,
"Penetrated": 2
}
},
"Weapon": {
"knife": 5,
"awp": 2
},
"Ranks": {
"None": 0,
"Silver I": 50,
"Silver II": 200,
"Silver III": 400,
"Silver IV": 600,
"Silver Elite": 800,
"Silver Elite Master": 1000,
"Gold Nova I": 1500,
"Gold Nova II": 2000,
"Gold Nova III": 2500,
"Gold Nova Master": 3000,
"Master Guardian I": 3500,
"Master Guardian II": 4000,
"Master Guardian Elite": 4500,
"BigStar": 5000,
"Legendary Eagle": 5500,
"Legendary Eagle Master": 8000,
"Supreme": 13000,
"The Global Elite": 25000
},

ranks_fakerank.json:

{
"Type": 1,
"FakeRank": {
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
"7": 7,
"8": 8,
"9": 9,
"10": 10,
"11": 11,
"12": 12,
"13": 13,
"14": 14,
"15": 15,
"16": 16,
"17": 17,
"18": 18
}
}

[REQ]: Option to use SQLite database

Any chance to have an option to use a SQLite database so we don’t have to setup a MySQL database to use this plugin?

Obviously it would be one or the other, it wouldn't keep both databases in sync.

Requiring a MySQL database is a bit of work for server administrators to setup, I think if it had an option for SQLite the adopation rate for your plugin would pick up, and it's easily portable to move the database if you are wiping the server.

Here's an example of MatchZy who supports both SQLite and MySQL.

Add visible ranks TAB for all

Is it possible to add visibility of ranks/premier points for everyone? Currently, I am the only one who sees my rank in the tab

problem on v2.0.4

problem with this version not create a file in config or plugin for cfg or database

[FEATURE]

Add scoreboard tags for admins (different access possible)

Plugin can't connect to database

Hello ,

I'm using mysql on non-default port . I'm using port 5851 . When I run the server , I get these errors :

MySqlConnector.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
   at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, MySqlConnection connection, Int32 startTickCount, ILoadBalancer loadBalancer, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 449
   at MySqlConnector.Core.ConnectionPool.ConnectSessionAsync(MySqlConnection connection, Action`4 logMessage, Int32 startTickCount, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 409
   at MySqlConnector.Core.ConnectionPool.ConnectSessionAsync(MySqlConnection connection, Action`4 logMessage, Int32 startTickCount, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 414
   at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, Int32 timeoutMilliseconds, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 106
   at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, Int32 timeoutMilliseconds, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ConnectionPool.cs:line 135
   at MySqlConnector.MySqlConnection.CreateSessionAsync(ConnectionPool pool, Int32 startTickCount, Activity activity, Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 916
   at MySqlConnector.MySqlConnection.OpenAsync(Nullable`1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 425
   at MySqlConnector.MySqlConnection.Open() in /_/src/MySqlConnector/MySqlConnection.cs:line 387
   at Ranks.Ranks.CreateTable()
   at Ranks.Ranks.CreateTable()

Here is my config :

"Connection": {
    "Host": "localhost:5851",
    "Database": "data4p",
    "User": "cs2p",
    "Password": "password"
  }

I have tried using the following instead of localhost:5851 :

localhost
127.0.0.1
server-ip

localhost:5851
127.0.0.1:5851
server-ip:5851

none of the above works . I'm sure database , user and password are correct . I tested them and they are all available with mysql commands . Can you please help me find the problem?

Kind Regards ,

error on death event

The server throws this error when a player gets killed
image

Also can someone explain to me what are the UNEXPECTED LONG FRAME DETECTED and if its normal or not

losing round gives positive points

Screenshot 2023-11-29 162256

  • Even if i set it to negative in the setting file.
  • !top only shows my name multiple times , maybe it will be fixed when more players connect tonight will confirm

Screenshot 2023-11-29 165515

  • i wanna reduce the frequent messages and only show what the player gained . for example : you gained +xx points this round or you lost xx points this round instead of spammingg every cause , doesnt matter which is coming from defuse or mvp or kill .

Thank you, im here to try any release you want to test .

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.