ID:2362693
 
Code:
    Get_Hub()

world.log << "[mob.key] - Checking Hub..."
if(!src || !mob || copytext(mob.key,1,6)=="Guest") return 1

winset(mob, "_load.hi", {"text="})
winset(mob, "info_profile.stars", {"text="0""})
winset(mob, "info_profile.red_stars", {"text="0""})
winset(mob, "info_profile.rank", {"text="0""})

world.log << "[mob.key] - Looking for Scores..."
var/getpts = world.GetScores(mob.key, "")
world.log << "[mob.key] - Looking for Login Time..."
var/online = list("Online" = time2text(world.timeofday,"DD/MM/YY"))

world.log << "[mob.key] - Applying variables..."

if(!isnull(getpts))

world.log << "[mob.key] - Scores Found. Applying Scores..."

var/list/params = params2list(getpts)

if(params.len)

if(params["SP"])
mob.sp = text2num(params["SP"])
world.log << "[mob.key] - SP Set"
if(params["DP"])
mob.dp = text2num(params["DP"])
world.log << "[mob.key] - DP Set"
if(params["XP"])
mob.xp = text2num(params["XP"])
world.log << "[mob.key] - XP Set"
if(params["SSP"])
mob.ssp = text2num(params["SSP"])
world.log << "[mob.key] - SSP Set"
if(params["Online"])
mob.lastseen = params["Online"]
world.log << "[mob.key] - Last Online Set"

if(params["Online"] != time2text(world.timeofday,"DD/MM/YY"))
world.SetScores(usr.key, list2params(online))
world.log << "[mob.key] - Last Online Set."


winset(mob, "_load.hi", {"text="Welcome back [mob.name].""})

world.log << "[mob.key] - Welcome Back Sent"

if(mob.lastseen)
mob << output("Welcome Duelist.\nYou were last online on [mob.lastseen].", "_load.info")
world.log << "[mob.key] - Last Seen Output Sent"
//else mob << output("Welcome Duelist, its been a while.", "_load.info")

mob << output("SP [mob.sp] | SSP [mob.ssp]", "_load.info")
world.log << "[mob.key] - SP/SSP Output Set"

else
world.log << "[mob.key] - ERROR: No Hub Stats Found!"

winset(mob, "_load.hi", {"text="Hello [mob.key].""})
mob << output("BYOND Connection Denied.", "_load.info")

world.log << "[mob.key] - Hub Connection Denied set"

winset(mob, "_load.progress", "value=75")
world.log << "[mob.key] - Load Value Set to 75%"

return 1


Problem description:

Currently on one of my host's servers, any player that tries to log in has their login frozen mid-proc when the GetScores() proc is called. In the coding above, I added a few world.log lines just to try and track things down and my outputs only get to...

IceFire2050 - Checking Hub...
IceFire2050 - Looking for Scores...

At that point it just locks up. This is happening to literally every player that tries to log on to this server.

This has also been an issue that has occasionally popped up intermittently on other servers but it's usually only 1 or 2 players that have the issue and it clears up after a few seconds. I haven't confirmed if this is the same issue since I just added those world.log lines to try and debug the issue but I know it's localized to this section of login code.
and an update. The host has done a complete shutdown and restart of the host machine. It's now working again. Still have no idea why it happened though and why it occasionally pops up on other servers.