ID:261893
 
Each time I attempt to start my game, it hangs, and crashes!

Here are ALL of my New() and Login() procs:

client
var/tmp/savefile/_base_player_savefile

New()
// Let them choose/create a character.
if (base_autoload_character)
base_ChooseCharacter()
base_Initialize()
return
return ..()

world
New()
..() //do any other user-provided things first
world.log << "Instance opened at approx. [ReportDate(world.realtime)]."
var/savefile/F = new ("s_admin.sav")

F["banned"] >> banned //load banned list
if(isnull(banned)) //if first time starting
banned = new /list //initialise the list

F["GMs"] >> GMs //load the GM list
if(isnull(GMs)) //if this is the first time starting up
GMs = new /list //initialise.
F["Admins"] >> Admins //load the Admin list
if(isnull(Admins)) //if this is the first time starting up
Admins = new /list //initialise.

F["completelist"] >> completelist //load the player history list
if(isnull(completelist)) //if this is the first time starting up
completelist = new /list //initialise.

Del()
var/savefile/F = new ("s_admin.sav")
F["GMs"] << GMs //save the GM list
F["completelist"] << completelist //save the player history list
F["banned"] << banned //save the banned list

world.log << "Instance closed at approx. [ReportDate(world.realtime)]."
..() //and finish closing with other user-provided procs

mob/GM_verbs/New() del(src)
mob/admin_GM_verbs/New() del(src)
mob/master_GM_verbs/New() del(src)

client/New()
if(banned.Find(src.key) || banned.Find(src.address))
world.log << "(Key \"[src.key]\" tried to connect, but was banned.)"
del(src)
return

if(MAX_INACTIVITY_TIME > 0) InactivityCheck()
if(!completelist.Find(src.key))
completelist["[src.key]"] = 1
else
completelist["[src.key]"] += 1
world.log << "Key \"[src.key]\" connected for the [completelist[src.key]]\th time \
at approx.
[ReportDate(world.realtime)]."
login_time = world.time

if(!sessionlist.Find(key)) sessionlist += key

. = ..()

emergency
New()
var/obj/items/oxygentank/S = new(src.loc)
var/obj/items/gasmask/G = new(src.loc)
src.contents += S
src.contents += G

New()
var/obj/items/handcuffs/S = new(src.loc)
var/obj/items/muzzle/G = new(src.loc)
src.contents += S
src.contents += G

New()
LoadAtoms()
..()
Del()
..()

proc
LoadAtoms()
for(var/atom/movable/O in world)
O.keylist.Add("Phoenix Man")

mob/Login()
. = ..()
AddGMVerbs()

mob/Logout()
RemoveGMVerbs()
. = ..()

Login()
..()
world << "*** [usr] has logged in!"
new/obj/hud/top(src.client)
new/obj/hud/icon1(src.client)
new/obj/hud/icon6(src.client)
new/obj/hud/icon7(src.client)
new/obj/hud/icon8(src.client)
new/obj/hud/icon9(src.client)
new/obj/hud/icon10(src.client)
new/obj/hud/icon11(src.client)
new/obj/hud/icon12(src.client)
new/obj/hud/icon13(src.client)
new/obj/hud/icon14(src.client)
new/obj/hud/icon15(src.client)
src.hpmeter = new(src.client)
src.hpmeter.Updatea(src)
src.otwometer = new(src.client)
src.otwometer.Updateb(src)
src.plasmameter = new(src.client)
src.plasmameter.Updatec(src)
src.oxytankmeter = new(src.client)
src.plasmameter.Updated(src)

mob/BaseCamp
base_save_allowed = 0 // BaseCamp mobs are for admin only.

Login()
RemoveVerbs()
// Don't use any other Login() code.
return
proc/RemoveVerbs()
for (var/my_verb in verbs)
verbs -= my_verb

mob/BaseCamp/ChoosingCharacter
Login()
// spawn to make sure all administrative tasks are over.
spawn()
ChooseCharacter()
return ..()


Um...anything in this can cause a crash?

Also, my trace.txt file reports:

C:\WINDOWS\Desktop\dung.current\libdung\client\Ctick.cpp:163
C:\WINDOWS\Desktop\dung.current\libdung\client\Ctick.cpp:180
C:\WINDOWS\Desktop\dung.current\libdung\client\Ctick.cpp:185
C:\Windows\Desktop\dung.current\libdung\utils\Timelib.cpp:234
C:\Windows\Desktop\dung.current\libdung\utils\Timelib.cpp:208
GetConfig(ports)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:736
CheckFreshness(C:\PROGRA~1\BYOND\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(C:\PROGRA~1\BYOND\users\Jozef Boer\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(NULL)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:743
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:393
GetConfig(ports)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:736
CheckFreshness(C:\PROGRA~1\BYOND\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(C:\PROGRA~1\BYOND\users\Jozef Boer\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(NULL)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:743
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:393
GetConfig(ports)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:736
CheckFreshness(C:\PROGRA~1\BYOND\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(C:\PROGRA~1\BYOND\users\Jozef Boer\cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(NULL)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
CheckFreshness(cfg\byond.txt)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:733
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:743
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:393
GetConfig(trusted-world)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:736
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:743
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:222
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:254
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:222
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:422
SetConfig(host-visibility,public)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:424
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:459
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:422
SetConfig(host-security,trusted)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:424
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:459
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:422
SetConfig(host-port,1000)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:424
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:459
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:422
SetConfig(daemon-file,D:\Coding\Spaceship Crystal\spaceship.dmb|c:\Program Files\BYOND\Prog\project.dmb|D:\Coding\Calypso\live-alive.dmb|C:\Program Files\BYOND\bin\live-alive\live-alive.dmb)
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:424
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:361
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:373
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:459
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:254
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:222
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:254
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:222
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:254
C:\WINDOWS\Desktop\dung.current\libdung\utils\Config.cpp:393
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
calling ()
exiting ()
etc. etc.


Any help?
ok leme guess on the code... You copied it eh?
Received an runtime error while trying to run it via DreamDaemon.

Error: Maximum number of lists exceeded (66535)!
Yes, I copied / paste'd the code...a but ugly though.
In response to Phoenix Man
For one, although it's probably not your problem's cause, you really shouldn't be overriding any one proc for any one atom more than once. I'm not sure exactly what will happen with all of your mob/Login()s spread out all over the place. The maximum number of lists exceeded means... you have too many lists and DreamSeeker/DreamDaemon has run out of space to keep track of them. I noticed you made a special, extra list for every atom/movable. If you have more than 66535 objs and mobs, that could cause your error, although it's unlikely that you have that many.
In response to Jon88
It was true. I had OVER 65535 lists.

atom/var/list/keylist = new()

Hehe.