ID:81681
 
Keywords: development
Aside from a bug I think is somewhere in the startup() proc, I successfully rewrote that manager I made mention of two or so posts ago.

The only condition it suffers now, is that if a world that attempts to be started by it fails to startup or the startup hangs for whatever reason, Dream Seeker will crash until that child world is manually destroyed. At least, that's what seems to be happening. It could also be that if a user joins during an attempted startup, they can crash, but as I'm only testing with my own account, I can't verify this. People will just have to tell me their experiences when they login.

(Unfortunately, I can't submit a bug report about this as it's purely speculation. I need some real testing done.)

Presently, installed games on my server are: Icon Ultima, Board Game Chat, My Life as a Spy, XO - Five in a Row, Efencea, Gemble and Solar Conquest.

Because the top three games are being actively developed by two of my team members, they can be executed any time they're not already running. Due to my own server limitations, the rest of the games (and any future ones I might add) are limited to one game per session (as in, if someone is playing Solar Conquest, you can't start a game of XO). Each game is limited to one instance, even without that. So you can't have two games of XO going at one time, this is another of my design decisions.

So, Give it a shot (or take a look), tell me of any problems you have trying to start games and whether or not Dream Seeker starts crashing for you. I've cleared the server log, have at it.

--

And my father was readmitted to hospital tonight due to excessive blood pressure concerns. He'll probably be out tomorrow.
For those of you who actually care about the inner workings of it, each one of the games installed on the server is made of a game datum that's placed into a games list. The ports assigned to each game are checked on the output of the server and if a match is found, it's classed as online.

The entire right menu is generated at runtime and more games can be added on the fly. Presently I haven't made room to upload games via the interface yet, but that's something I'll get around to shortly. Most likely that will just be uploading a zip file, which either BYOND or shell() will take care of unzipping.

The side menu is refreshed every ten seconds.
Well, on the plus side: It works perfectly until Dream Seeker crashes. Then after a minute, logging back into the application works just fine...

I'm going to go cry as I bash my head against a wall trying to figure out why the hell DreamSeeker keeps crashing.
DreamSeeker hates you, that's why. But don't fret, we all hate you, it's not just DreamSeeker.

Kidding aside, I've found that complicated interfaces sometime cause DS to crash, at least when 4.0 was new.
Danial.Beta wrote:
Kidding aside, I've found that complicated interfaces sometime cause DS to crash, at least when 4.0 was new.

But I've made interfaces that put this one to shame in terms of complication and never had an issue. =(

Though, this is the first time I've had a proc called in succession (every 10 - 30 seconds) to update the interface for all clients. If anything, that's causing it.

Now to work around that problem. =(
DreamSeeker crashed when closing out of a game and then launching your "Give it a shot" url.
Tsfreaks wrote:
DreamSeeker crashed when closing out of a game and then launching your "Give it a shot" url.

Yeah, it'll do that. But in my defence, Solar Conquest did start hosting. <.<

After a few seconds you can log back into the thing.

I'm working on fixing the crashes. <.<
I've never actually used startup(), but I wonder if you could spawn() it off to avoid the issue? Just a stab in the dark.
Kuraudo wrote:
I've never actually used startup(), but I wonder if you could spawn() it off to avoid the issue? Just a stab in the dark.

I was doing that already. ;)