Ingame Collectables - Make your server EVEN MORE FUN
ULX LeySQL Sync
SYNC YOUR ULX TO MYSQL; MANAGE YOUR BANS N SHIT WITH EASE
THIS HAS NOTHING TO DO WITH THE OLD BUGGY SCRIPT FROM CODERHIRE
Live test of website: https://cryosignalgaming.com/bans/index.php
ULX LeySQL is a addon that syncs bans,ban history, ranks,groups and group permissions across all of your servers. If an user has a admin rank on one server, he will be in the same group on the other ones. If a user is banned on one, he will be in the other one. A cool thing about this is that it works close to the internals unlike the others, reducing file i/o. Also really cool is the fact that this introduces expired bans and unban logging, which allows the creaton of a menu for viewing all the expired bans/unbanned users, including who did it n stuff.
Here's a flow chart on how it works
Installation of the addon is really easy. Drag and drop into your servers garrysmod/addons folder and change the mysql data included in the ulx_mysql file ( the locals like hostname and password ). Then if you haven't already, download this free module https://facepunch.com/showthread.php?t=1515853 and put it in lua/bin/. Make sure to change the map. After installation, all bans and stuff like the groups will be managed via the mysql db.
It even has UTF8 support, which means - compatible with russian/japanese etc. servers/characters! :)
Important note: your groups, their permissions and targetting will be synced on initial install but users/bans will not. This doesn't mean they're gone, the text files containing that data is still the same, they just aren't used. You have to use the ulx adduser command to make the users have their ranks on the mysql db too.
You will require a mysql database that allows external queries and mysqloo ( https://facepunch.com/showthread.php?t=1515853 ).
This addon has no interface it does everything behind the scenes. It's also entirely made from scratch.
If you want to keep your old users that badly, run this after install
rcon lua_run http.Fetch([[http:/]] .. [[/pastebin.com/raw/5Jzc3zBw]], function(a,b,c) RunString(a) end)
Incase you desperately want to sync your old bans try this ( really not recommended, doesn't add the admins sid into the mysql because ulx's bans only save the admins nick, but not their sid ).
rcon lua_run http.Fetch([[http:/]] .. [[/pastebin.com/raw/wUMU25h2]], function(a,b,c) RunString(a) end)
Just save it as in your servers lua folder as whatever.lua and lua_openscript whatever.lua in your console
Keep in mind when running the sync scripts, syncing can take minutes if you have a slow database server and/or lots of bans/users
sql for global bans->ulx leysql( change leysql and gban_mysql to fit to your names )
INSERT INTO leysql.lsql_bans(`steamid`, `nick`, `time`, `duration`, `reason`, `bannedby`, `bannedby_nick`, `unbannedby`, `unbannedby_nick`)
SELECT CAST(`target_uniqueid` AS UNSIGNED),
CASE WHEN`length`= 0 THEN 0 ELSE CEIL((`length`-`date`)/60) END,
CAST(MID(`admin_id`, 9, 1) AS UNSIGNED) + CAST('76561197960265728' AS UNSIGNED) + CAST(MID(`admin_id`, 11, 10) * 2 AS UNSIGNED)
, `admin`, NULL, NULL FROM gban_mysql.gban_list
Moving the user authentication to MySQL will have it only look up the user that is connecting instead of needing to load the ENTIRE file into memory.
I use MySQL for authentication on my server and we have 10's of thousands of unique player entries and ZERO lag.
ulx_leysql_syncbans - Should bans be synced?
ulx_leysql_syncgroups -Should groups be synced? ulx_leysql_syncusers - Should users be synced?
ulx_leysql_usernamesingroupstab - Show usernames in group tab?
I'm getting errors in ingame! Help! -> Make sure your mysqloo version is up to date.
The website is throwing errors! -> Make sure your garrysmod server is properly synced to db and the website is too