Author Topic: ULX Large Community's ban list is gigantic and only getting bigger  (Read 2811 times)

0 Members and 3 Guests are viewing this topic.

Offline jac1390

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
We are having problems with our ban list, which has grown huge.



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.

Offline Neku

  • Hero Member
  • *****
  • Posts: 549
  • Karma: 27
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #1 on: January 21, 2014, 04:02:02 PM »
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.
Out of the Garry's Mod business.

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #2 on: January 21, 2014, 04:16:03 PM »
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.
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline sabo

  • Full Member
  • ***
  • Posts: 136
  • Karma: 2
  • Hello :)
    • The Elite Gaming
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #3 on: January 23, 2014, 02:34:08 PM »
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.

Offline Neku

  • Hero Member
  • *****
  • Posts: 549
  • Karma: 27
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #4 on: January 23, 2014, 03:57:45 PM »
I would assume the bytes being shown were in kilobytes.
Out of the Garry's Mod business.

Offline MrPresident

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 2728
  • Karma: 430
    • |G4P| Gman4President
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #5 on: January 24, 2014, 12:47:41 AM »
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.

Offline jac1390

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #6 on: January 27, 2014, 07:13:26 PM »
I am having a coder recode ULX to use SQL databases for users and bans.

Thanks for your responses by the way.

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: ULX Large Community's ban list is gigantic and only getting bigger
« Reply #7 on: January 27, 2014, 07:30:44 PM »
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
ULibPlayerTarget
ULibPlayerTargets

"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming