Ulysses Stuff > Suggestions

Ban Menu revision request.

<< < (4/7) > >>

Stickly Man!:
@JamminR
It's definately server side, I *believe* it's part of ULib-- then again, while ULib is first loading, it gets the infinite loop error while processing bans (which makes me wonder if all of the bans are even getting through in the first place).

But, XGUI sends a function via ULib.clientRPC to the client to let it know that some data is coming, then XGUI loads all of the clientRPC functions to send "chunks" via ULib.queueFunction(). Then it waits..

I haven't had time to test, but I believe that something on ULibs side is clogging up the queueFunction's queue because of all of the bans-- A simple test would be to use a timer to send run each clientRPC call after a set amount of time (say 0.1 or 0.2 seconds)-- or maybe try ignoring the timer altogether and call all of the clientRPC functions at once (which MIGHT be a bad idea based on how it's coded, plus garrysmod might throw the infinite loop error again)

All I need is time! (to help Megiddo hunt the bug, so Megiddo needs time too!)  ???

@mNote
Oh yeah.. that's right, adding bans might not work. What do you mean by "sort of" permanently banned? I believe ULX doesn't store any bans via source bans list, so technically that should work..

We'll try to get a fix as soon as we get some time  :P

JamminR:

--- Quote from: Stickly Man! on March 31, 2010, 07:06:30 PM ---<stuff>ULib.clientRPC<stuff>
I believe ULX doesn't store any bans via source bans list, so technically that should work..

--- End quote ---

We use Gmod RPC..and, I believe it's like network vars....slow to synchronize upon server join/start.
I don't have links / solid memory to show where/what little I remember of that though.

Also, ULX does indeed use source bans list.
Any perm ban you do gets writeid afterwards, and exec'd at server startup.
Source itself doesn't store temporary bans to a file..which is why a 'ulx' bans.txt was created.
 It will (when working) store temporary bans across server sessions unlike Source.

Stickly Man!:
Hmm, I was under the impression that all ULX-related bans were stored in bans.txt because sourcebans can't store data such as time banned, banned by <admin>, etc. which ULX is able to retrieve for any ban-- The only thing ULX does with the bansfile is write temporary (or permanent if the ulx ban is perma) banids based on the bans in bans.txt, then adds all of the existing bans from the banned_user.cfg file to the table of active bans on the server.

Did that make sense?  :o lol

JamminR:
ULX does store all bans in bans.txt (perma and temp)
However, every server start, if Source's /cfg/banned_user.cfg exists, ULX loads it into memory. (exec)
Every ULX ban uses ULib.addBan that also loads the file, and then, for even more sanity, updates it (writeid) when a player is banned.

--- Code: ---function ULib.addBan( steamid, time, reason, name, admin )
if file.Exists( "../cfg/banned_user.cfg" ) then
ULib.execFile( "../cfg/banned_user.cfg" )
end
game.ConsoleCommand( string.format( "banid %d %s kick\n", time, steamid ) ) -- Execute NOW
ULib.queueFunctionCall( game.ConsoleCommand, "writeid\n" ) -- Write to file when old bans are done loading

... lots of other code regarding the bans.txt, temp time, admin, reason, etc ...
end

--- End code ---

Stickly Man!:
Hmm.. I see.  ;D
Of course, depending on what the actual problem is with the large ban files.. this might be changing a bit  ???

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version