Garry's Mod

Garry's Mod

25 ratings
MSync 2 - ULX/ULib synchronization tool
5
5
4
4
4
4
4
3
3
3
3
5
5
3
3
3
3
3
3
3
3
3
3
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: ServerContent
Addon Tags: Roleplay, Realism
File Size
Posted
Updated
211.727 KB
Jan 26, 2019 @ 9:28am
Mar 6, 2022 @ 7:17am
24 Change Notes ( view )

Subscribe to download
MSync 2 - ULX/ULib synchronization tool

In 1 collection by [ApDev] Rainbow Dash
Testing Collection
3 items
Description



MSync ( Short MySQL Synchronisation) is a module loader. It provides a API for fast extension programming. The idea of MSync is it to securely connect ULX to a database with a easy to use GUI. When using MSync you never have to touch a single Lua file to configure the modules.

MSync 2 is a complete rewrite of my addon MSync: https://github.com/Aperture-Development/MSync which I don't develop further.

Versioning Explaination

MSync 2 is Split up in 3 versions:

- EGG
- CHEESE
- STEAK

EGG is the WIP addon which does not work yet at all. DO NOT USE ANYTHING OF THIS! The file structure will change propably. If you have problems with a EGG version, we do not Provide support. Use the STEAK version or at least CHEESE.

CHEESE is the beta phase of the addon. The addon works, but has propably bugs everywhere that needs to be found yet. If you have errors whith this version, please inform us with a GitHub issue or over our ticketsystem: https://www.Aperture-Development.de/ticketsystem

STEAK is the stable version of MSync 2. This version is safe to be used on your server.

Why are all versions named after food?

Because it's a joke, as you maybe know, Debian distributions are named after the characters of Toy Story, and I thought its funny to have something like that for our Addons.

A note to modules

If you plan on extending the features of MSync 2, please copy and use the samplemodule files. You can distribute the Module under every licence you like. We always use the root_dir/LICENCE which is basicly the Licence you get the addon with. MSync 2 is licensed under GPL 3.0, please read the LICENSE file[github.com] for more informations.



You need to install some things manually on the Server in order for MSync to work.

Then you need MySQLoo 9 or higher. You can download MySQLoo from here:
https://github.com/FredyH/MySQLOO/releases
Select win32 if your server runs on windows, otherwise use the linux dll.
Put the dll file in your lua/bin folder. If you don't have one, create it.
it should look like this:

bin
garrysmod
->lua
-->bin
--->gmsv_mysql_<version>.dll

After that just install the addon by putting it in your servers workshop collection or download the zip file from github and put the folder in your servers addon folder:
https://github.com/Aperture-Development/MSync-2/archive/master.zip

When the server is started, everything should be ready for MSync 2. You can access the admin gui using "!msync"



Server Groups:
Server groups allow you to group your servers in sub teams. Modules will just sync things that are explicity told to sync it across all servers, otherwise it will just sync it with servers that have the same server group.

MRSync:
MySQL Rank Synchronisation

MRSync allows you to synchronise your staff team across your servers without the need to add/remove a staff member on every server. Just add a user to a rank and he will also have the rank on all other servers. For now it is important that the ranks you synchronise also exist on all servers.

You want some ranks to not be synced?
There is a rank blacklist for ranks that dont get saved to the database. Just add the rank and you are good to go.

You want some ranks to be synced across all servers and some just for ( as example ) your DarkRP servers?
The server_group option allows you to do just that. Just sub-categorise your servers and your ranks now just get synced within this group. You can exclude ranks from that rule and force them to synchronise across all servers using the allserver table, all ranks in that table get saved as ranks for the whole network.

MBSync:
MySQL Ban Synchronisation

MBSync allos you to synchronise your bans across all servers ( network bans ). This Module is also server_group bound, means when you ban a user on a server in the group darkrp they dont get banned on servers with a different group.

Commands:

!mban - Opens ban GUI

!mban [Name] [Length] [global] [Reason] - bans a player

!mbanid [SteamID] [Length] [global] [Reason] - bans a players steamid

!munban [SteamID] - unbans a player

!mcheck [SteamID] - Checks the SteamID if it's banned and returns informations if yes

!mbsync - Opens Ban list

Planned Features
- UTime synchronisation - Codename: MUSync
- MySQL Warning system - Codename: MWS
- Permission synchronisation - Codename: MPSync
- MSync synchronisation - Codename: MSSync



Aperture Development is a German Non-Profit organization, developing mostly Open Source Software. Below you can find a few usefull links to find us in the internet.

https://www.Aperture-Development.de/

[github.com]

[discord.gg]

[github.com]

Additional tags: ulx, ulib, mysql, mariadb, database, sync, syncronize, sql, mysqloo, administration, multi-server, management
15 Comments
[ApDev] Rainbow Dash  [author] Aug 31 @ 4:23am 
@EDEM yes, exactly. Each server you have in your MSync "cluster" will synchronize their bans with the other servers
EDEM Aug 9 @ 3:58pm 
So basically im banning people through ulx and this is sync with other server?
[ApDev] Rainbow Dash  [author] Jan 31, 2022 @ 12:29pm 
@Daeda The issue you have described should be fixed with v1.3.2
Daeda Jan 31, 2022 @ 9:37am 
Got it to work, just had to manually change the mysql in data
Daeda Jan 31, 2022 @ 9:14am 
Oh, when I add this to my server it comes up with

[MSync_ERROR] There has been a error while loading the module querys.
Please inform the Developer and send him this:
Can't connect to server on '127.0.0.1' (10061)

and the server just freezes up after that so I can't join to configure anything
[ApDev] Rainbow Dash  [author] Jan 31, 2022 @ 6:38am 
@Daeda you don't need libmysql anymore. Removed that from the description
Daeda Jan 30, 2022 @ 3:40pm 
libmysql link isnt working
Nybo Jan 6, 2022 @ 3:50pm 
Addon hatte sich mit einem anderen Addon leider gestritten, ABER der Manager persönlich hat innerhalb kürzester Zeit mir geholfen, das dieses Addon sich mit dem anderen Verträgt!

Jetzt kann ich es direkt nutzen und muss endlich nicht mehr für jeden Server die berechtigungen erneut setzten!

////////////////////////

Addon had unfortunately quarreled with another addon, BUT the manager personally has helped me within a very short time, that this addon is compatible with the other!

Now I can use it directly and finally no longer have to set the permissions for each server again!
gebhardt4199 Nov 5, 2021 @ 4:32pm 
░░░░░▐▀█▀▌░░░░▀█▄░░░
░░░░░▐█▄█▌░░░░░░▀█▄░░
░░░░░░▀▄▀░░░▄▄▄▄▄▀▀░░
░░░░▄▄▄██▀▀▀▀░░░░░░░
░░░█▀▄▄▄█░▀▀░░
░░░▌░▄▄▄▐▌▀▀▀░░ THIS IS BOB
▄░▐░░░▄▄░█░▀▀ ░░
▀█▌░░░▄░▀█▀░▀ ░░ COPY AND PASTE HIM,
░░░░░░░▄▄▐▌▄▄░░░ SO HE CAN TAKE
░░░░░░░▀███▀█░▄░░ OVER THE
░░░░░░▐▌▀▄▀▄▀▐▄░░ WORKSHOP
░░░░░░▐▀░░░░░░▐▌░░
░░░░░░█░░░░░░░░█░░░
░░░░░▐▌░░░░░░░░░█░░
Oberfail Jun 30, 2021 @ 6:30am 
very helpfull tool, works as said without issues