Athanatos

  • Hero Member
  • Throwing random words to increase my post counter
  • Posts: 1,019
Whitelist plugin
«  »Last edited
Hello everyone!

I created a whitelist plugin that will allow only some specified IPs and players into your server.

Purpose


I wrote this plugin just to relax from other demanding projects like my own game engine and game projects. This took me few days to create because of stupid mistakes I made (reading the files, but not copying the data into the containers, as one example).

Now you might say, "passwording servers is enough" -> yes might be. But what if your friend that's scripting his server has a password made of a LaTeX equation? like this one :
Quote
\int e^{x^2} dx = \sum_{n=0}^{\infty}\frac{x^{2n+1}}{n!(2n+1)} + C
or that his password is an entire quote taken from an dubious barely known book? And he can't find the password in his 12k lines of code script that was made from forum snippets? (No one would do that ever (I mean the password thing))

Or maybe you're too lazy to use a single function call in your scripts (i.e SetPassword(string) )

Now again, you might say "I can make this in squirrel too" -> Well this one automatically gets the local IP lol (useless feature probably). Can you do that in Squirrel?

An other reason is that whitelisting is fairly common in multiplayer games like Minecraft, etc.

If you're not convinced f*ck you (/s). (slash s = sarcasm)  (I'm having fun writing this) (Can't wait for the mods to remove the hidden texts)

Well, if you're convinced, here's what you need : this plugin.

Usage


Installation:

Copy the plugin binary compatible with your server into <server root>\plugins\ .
You may need to install the latest MSVC redistributables. Link : https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0

First use:

Upon running the server for the first time, the plugin will automatically create 2 files called : allowed_ips.txt and allowed_nicks.txt .

The file allowed_ips is filled with all the local IPs (192.168.1.6 as a example)+ localhost IP (127.0.0.1) and allowed_nicks is filled with 2 example nicknames.

Modifying the whitelist:

Modifying the whitelist requires opening and editing the two created files ( allowed_ips.txt and allowed_nicks.txt ) with your editor of choice(ex. MS Notepad, Notepad++, VS Code, et cetera).

For performance reasons, unlike INIParser, this plugin will keep the whitelists in it's memory instead of continuously reading the files. Therefore modifying the whitelist would require restarting the server after the files are saved!



Future development


If needed Linux support might be taken in consideration. But until then (because probably no one would want this plugin)... That's like the single version that is ever released of this plugin.

Links


Links are here:

Github (source code): https://github.com/NicusorN5/VCMPWhitelistPlugin
Github releases : https://github.com/NicusorN5/VCMPWhitelistPlugin/releases/

Developer of RCNR, Zombie Survival, VLSM(C++) and Infected City Survival