Well, I found
this [
http://code.google.com/p/geoforts/source/browse/trunk/gamemodes/geoforts/gamemode/init.lua?r=3 ] while searching for google term "self:PlayerClose"
It also has on that page the actual "PlayerClose" function. (See line 920)
I'm not experienced enough to know exactly what of the following will fix it, so am making educated guesses.
Try the following, in this order;
1) in that bit of player disconnect code, before the last 'end', add 'return'
function GM:PlayerDisconnected(pl)
self:ClosePlayer(pl,true)
return
end
Restart server.
See if that breaks anything, and helps UPS.
I'm thinking that is the best bet and still not break anything.
If that doesn't work, try adding to the actual ClosePlayer function at it's very end the word return.
If your gamemode code matches the google links (which might be out of date), before 942, you'd also add 'return'
I'm not going to post the entire code bit in case it would be different. Just look at the google link above and you should be able to find where to insert 'return'
Do that only if adding the first return doesn't work.
[rant]
To be honest, not using return on most hooks, in my opinion, is just sloppy.
Too many addons rely on hooks. Unless you just NEED to keep other addons from running, hooks should return with no modification to the original data.
[end rant]