Ulysses
Ulysses Stuff => General Chat & Help and Support => Topic started by: jac1390 on January 21, 2014, 10:20:16 AM
-
We are having problems with our ban list, which has grown huge.
(http://gyazo.com/0749355402d499e33a61cfd9683c34ce.png)
That is the file at /garrysmod/data/ulib
Because it is now so large [It has been checked for corruption by the way] every time we ban another player there is a 3 second lag.
It also takes ulx a long time to fetch the ban list. I have searched through your forums for a solution but I was unable to find a matching problem.
This is a dedicated server by the way, on Ubuntu 12.4
Any help is SOOO appreciated.
Regards.
-
There is no possible way to stop the lag.
Just unban some people.
Having a ban file with 8mbs of content will most certainly lag out servers.
-
I'm reasonably sure the lag would continue if you weren't using ULX and just plain Gmod/Source ban system to begin with.
How large is your gmod/cfg/banned_users.cfg ?
I'd say it's quite large too, and it only stores steam_id.
You could potentially remove/delete the data/ulib/bans.txt, but you then lose reason/name of banned/name of banner and any temporary bans.
We're looking towards sqllite and sql capability in the future, but, it's going to be some time, and even so, sqlite may not be a huge improvement for a ban file that large.
-
I think that is around 900KB not MB O.o wat
You either have a friend who can port ULX to MySQL or pay someone to do the job, if you stay with dinosaur *.txt files then you will always experience lagg, which will get even worse the longer you wait.
-
I would assume the bytes being shown were in kilobytes.
-
I would recommend moving to an SQL solution. I don't know if there are linux binaries for the MySQL modules out there or not. Having the bans be on a separate database managed by a separate program would dramatically improve your issues as the database would only be queried when needed and all of the work is handled by the SQL database and not garrysmod.
You would, of course, have to migrate your huge list of bans over.
-
I am having a coder recode ULX to use SQL databases for users and bans.
Thanks for your responses by the way.
-
jac, let your coder know... you don't have to recode ULib or ULX, you could use the hooks we wrote to intercept the original commands, and instead add them to a module of your own.
(We actually prefer this, imagine if we updated/added new features to ULX or ULib, you'd have to recode everything again)
Potential hooks to use for interception.
ULibCommandCalled (http://ulyssesmod.net/docs/files/lua/ulib/shared/defines-lua.html#ULibCommandCalled)
ULibPlayerTarget (http://ulyssesmod.net/docs/files/lua/ulib/shared/defines-lua.html#ULibPlayerTarget)
ULibPlayerTargets (http://ulyssesmod.net/docs/files/lua/ulib/shared/defines-lua.html#ULibPlayerTargets)