ID:26585
 
Now that January is over, and with it my old job, I'm now going to be working full-time on BYOND. As my first task, Tom asked me earlier in the month if I'd like to revamp a BYOND app that hasn't seen an update since the last millennium: Dream Daemon. One of the major goals of BYOND 4.0 is to move hosting away from Dream Seeker and run it all through DD, which is actually quite feasible.

Progress has been advancing on Dream Daemon to the point where it's now possible to show some screenshots from the application as it stands right now, and with it, I can list a few of the new features that are bringing it into the 21st century. The new application uses tabs like the new pager does. The first tab will look pretty familiar:



On the World page, you can set up hosting options and start or stop your game just like you always could--but you can do a lot more than that. Dream Daemon didn't used to let you change hosting settings like privacy or security on the fly, even though Dream Seeker did. Now you can. You can also close hosting to new connections, and reopen it again, just like in Dream Seeker (via the orange X road sign). And although it doesn't show in this shot, the World menu includes a Reboot command.



Welcome to the Players page, or at least a rough mock-up I've got going so far. It's too sparse for my liking yet, since I intend this to be the real command center for game hosts. What it does have so far is a major improvement over what Dream Daemon had before. Before it could only tell you the number of users logged in; now you can see who is in your game, and who was in your game. (Players who have logged out appear in gray, and will show how long they were logged in.) Notice the icons next to the names; I get the world icon because I'm the host, and Tom has a smiley face because he's in some of my friends lists (more on those in a bit). It'll also show if anyone was kicked out via a ban.

Ban and Kick work just fine; a kick will ban someone only until the end of that session, unless you decide to change your mind and let them back in of course. You can also send messages to your players, which they'll see right in the game. (For expediency I'll add a shortcut so you can send server-wide announcements too.)



Here I introduce one of the new power features of Dream Daemon: host-based bans. These are more configurable and more powerful than pager bans, and will help with games that don't already have a good ban system built in (not to name any names...). Besides banning keys, you can also ban IP address ranges, although that isn't set up in the interface just yet. What you can do so far is manage multiple bans and even make them catch slippery users. It's easy to keep track of why you banned people, and you can send them a message if you like to tell them why they're banned.

If you're wondering what a sticky ban is, picture a ball of tar. A sticky ban will try to find players sneaking around your ban and ensnare any new keys or IP addresses. Although it's not foolproof (if only!), it's about as tough as a ban can get.



That brings us to our final page, the Friends page. You can set up different lists of friends, and by checking those lists you can restrict hosting to only certain people. This is a great way to run closed testing on a game or hold project meetings. Also, anyone on your friends lists will be immune to bans (as are you, the host), so if you have a beef with Danny's brother Jay, but Danny is your friend, you can sticky-ban Jay yet still let Danny come and go as he pleases.

This screen shot shows one list I created as a test, and for the sake of presentation I limited hosting to just those three people. Since Tom is on at least one of my friends lists, he gets a smiley face on the Players page.

I have a few more ideas in mind for DD before I'm done with it, and it needs some polishing up--things like keyboard accelerators and more tooltips. So far I'm happy with the project, and excited to start using it in earnest. Hopefully this will even give you some ideas on how you can make the most of your newfound freedom as a game host.
Looks good. :D
Looks awesome!
Wow, that's great news. With you programming full time it's bound to be a massive year for BYOND. =)
Heh, I was going to ask about host detection until I read a recent post in Developer How To. At the moment, I'm planning on making whoever starts the DD session give a key as an argument.
Now if only some of this functionality was available in the Linux DreamDaemon. The most I can see happening is probably using world.params to manipulate some of it, having to use text files to manipulate other parts of it, or controlling the rest through DreamSeeker.
Freaking sweet :)
So... When's Linux coming? :/
Very nice, and either you're making really good money on BYOND or you had a pretty lousy job, but I'm glad this is getting somewhere!
Looking Great!
So this means effectively a game host can ban a game owner from the game against the owners will? Or will there be a way to override it just as there is pager bans?
So the sticky ball is for allowing only a certain set of IP's into your game?
Looks great! Having fundamental hosting controls like bans and exclusive access built right in to Dream Daemon will make BYOND more programmer-friendly than ever.
Very nicely done. This is the version thats worth waiting for.
Will DS be stripped of it's hosting ability? Games like Murder Mansion require to be hosted via Dream Seeker, because the host needs to click a button (a key I think) for the game to start. If you can only host in dream daemon, that would no longer be possible to play Murder Mansion without updates to the game itself.

Maybe legacy support for hosting in Dream Seeker should be left in so we can play old games?
Can we please have another a minimize to icon tray feature?
With this, can this be ported to Linux? A GUI for the Linux DreamDaemon would be very very nice. I don't figure it should take that much time, since it shouldn't be using anything not supported by Linux.
Neato.
Minimize to Tray feature request seconded.

Will the graphics be editable? I have quite a different emoticon in mind for my "Friends." =D

Speaking of the Friends and Ban lists, those are game-dependent, right? The settings lose a lot of value if they are universal in DD to all hosted games.

As for sticky bans, how does that work? Does it request associations from BYOND itself? That doesn't seem very likely to me, lest BYOND be spammed by a ton of games every time someone logs in. Perhaps DD keeps its own running universal log of key associations? If so, perhaps we could include support for importing and exporting such data! For instance, perhaps Mr. Newbie Rurouni Dragon has decided he would like to start hosting some games. Somewhere along the line, he meets up with Mr. 1337 Hied. Hied decides to share with RD the list that he has accumulated. So, he exports his stored data and RD imports it (which would preferably -add- to the current data, rather than overwrite). In collaboration, the two have quite a 'Sticky' system for bans. :D
I feel BYOND 4.0 is coming very soon.
I would love a minimize to tray icon.
Also; could we possibly have a wav file play when people enter / leave our server?
[EDIT: How does the 'Send Message' function work (under players), does it output under the world.log?]

ALSO; will there be the ability to log the DreamDaemon's world log automaticly? Are we able to output HTML to DreamDaemon's console window?

Is DAN going to return with 4? :)
I think the BYOND Staff needs to be much more in contact, and working towards 4.0, it seems most of the staff isn't doing much right now other than you Mike H, and Lummox.

Will BYOND 4.0 finally fix all of the "failed to open Dream Seeker" bugs everyone has been having?
Will BYOND 4.0 stop using richedit20, so that it could be finally ran with WINE? Or would BYOND break even MORE with WINE.
I think the BYOND Staff needs to be much more in contact, and working towards 4.0, it seems most of the staff isn't doing much right now other than you Mike H, and Lummox.

I think that's unfair. People like Deadron and the rest seem to be doing a lot of work. Even Nadrew is busy inventing stuff. Just yesterday he invented inventing stuff itself!
Page: 1 2 3