Ive recently added a multi-server banning system using LUA to our ET servers. This works all very nice, however some lagg occurs when new users join and need to be checked by the system.
So, my question is:
Is there a possibility to perhaps add threading to some LUA callbacks or implement some sort of postback that I can call from the underlying OS.
Function to check used: function et_ClientConnect( clientNum, firstTime, isBot )
LUA threading
Moderators: Forum moderators, developers
LUA threading
Game on at CREW-NEXUS... running more than 25 gameservers @ 100mbit! Visit: http://www.crew-nexus.net/servers for connection info!!!
- =FF=im2good4u
- Posts: 3821
- Joined: Wed Feb 05, 2003 7:30 am
- Location: The Netherlands, HOLLAND
- Contact:
or lust let the client connect and do the checks afterwards then u can still disconnect him if needed
this should only take a few secs sohe wont even beable todo anythnig becase hes still loading the map
this should only take a few secs sohe wont even beable todo anythnig becase hes still loading the map
<a href="http://bunnyherolabs.com/adopt/showpet. ... dQ=="><img src="http://petimage.bunnyherolabs.com/adopt ... Q0dQ==.png" width="80" height="100" border="0"></a>
But isnt it possible to create a thread using that LUA function?
For example: et.CreateThread( LuaFunction, Params)
On which LuaFunction gets executed with params (and no results return)
In that function I can then safely check the required information and add a console command to the back of the queue.
For example: et.CreateThread( LuaFunction, Params)
On which LuaFunction gets executed with params (and no results return)
In that function I can then safely check the required information and add a console command to the back of the queue.
Game on at CREW-NEXUS... running more than 25 gameservers @ 100mbit! Visit: http://www.crew-nexus.net/servers for connection info!!!
Allowing threads to asynchronously interact with ET would be very hard. ET is entirely single threaded, and the gamecode dll (where all etpro and LUA resides) gets reloaded frequently.-W0kk3L- wrote:But isnt it possible to create a thread using that LUA function?
For example: et.CreateThread( LuaFunction, Params)
On which LuaFunction gets executed with params (and no results return)
In that function I can then safely check the required information and add a console command to the back of the queue.
I'd suggest optimizing your ban queries instead. Without any information on how it works, I can't offer any specific suggestions, but it's hard to imagine you can't have it all cached in RAM somewhere. You could do this by loading it into a lua table once at map start, for example.
send lawyers, guns and money
You should post this on wiki, is it only loading a banlist?
@-W0kk3L-
how u have done this? I meant how u can ban mask for example 83.10 and still allow a player with 83.10.5, can any1 explain me this on the forum or via priv msg? I would be appreciated,Forum :: [ET] Ban and unban board :: NeXuS takes new steps against cheaters wrote: - Range Bans
We now have the option to ban entire IP ranges or DNS subnets. This means that we can now easily ban users that used to change their IP just to annoy us.
View the Range Bans list here.
Note: Only myself and W0kk3L can add ranges here, so no need to worry.
- Trusts
Serveradmins can add a Trust to an account. This means that the user can still connect, even if his IP range is banned.
regards
wolFTeam.pl