ID:2785103
 
Resolved
A command-line version of Dream Daemon is now available for Windows. This includes a limited console where some commands can be entered (e.g., to get a memory report or reboot). In the future the console's capabilities will be expanded.
Applies to:Dream Daemon
Status: Resolved (515.1598)

This issue has been resolved.
Linux DreamDaemon is wonderful, and much better for running servers with automation and scripting, which a lot of high profile servers do. It supports arguments fully and is bliss, as seen here https://i.imgur.com/YHBFeaF.png


Windows DreamDaemon however, is in a rather sorry state on the CLI. https://i.imgur.com/0hdtHHA.png

Running it just opens up the main window, and the only way to look at the args for it are to check the ref for the startup() proc which is designed for invoking other worlds, and we get this list: https://secure.byond.com/docs/ref/index.html#/proc/startup

Being able to use DD on the windows CLI properly, complete with stdout world.log and the like would be a blessing for everyone who runs production servers.
Yes, we need this really hard!
Tried to get this done ages ago so we could use DMCGI on Windows (when it had a reason to be used at all) and got a "that'd require a whole new program and I'm not doing that".

So good luck :)
In response to James
https://i.imgur.com/7Gw27Ym.png

Given the size of DD on its own, I cant imagine it being too bad given most the logic is in BYONDCore, right?
Bumping this. Given that

  • DD itself is tiny
  • DreamSeeker can run dmbs in itself just fine
  • DreamSeeker can even host dmbs in itself without requiring DD as a subprocess, while still retailing full network functionality


I see no actual obstacles in the way of this, apart from "why make another program", to which I will answer:

Almost all other servers run in a CLI for a reason. It makes it easier to hoover up stdout logs, assists in automation greatly (The -shutdown flag for example would be a godsend), and is lighter in general (Did you know that just dragging the DD window round can make it use 7% of your CPU just processing drags?

By having DD be its own extra app with a manual ban + kick screen, this only really serves players who are running testservers on their local PCs, who will continue to use this version of DD anyway. No one hosting a dedicated server is going to remote into their server box to kick a player off, they will have ingame verbs for that.

We dont lose anything by not having this, and (correct me if I am wrong) it cannot be difficult, given all the logic is inside BYONDcore, and the only thing DD itself needs is argparsing and a help screen with -h, similar to how DD linux is.

Sidenote, linux DD is 35kb, has all the argparsing and a help menu, and the logic to handle OS signals being sent to it, further reinforcing that this shouldnt be difficult.
if we already have dm.exe i'm sure dd.exe couldn't be that hard. =P
I'll consider this during the 515 beta. The dm.exe program is actually just Linux's DM compiler, so in theory dd.exe could be Linux's DreamDaemon, just with some differences added for when it's compiled for Windows vs. Linux.
With a little bit of free time in the last couple of days I've been playing with this and I have dd.exe mostly working. I have to add some niceties like Ctrl+C support and such, but I did get a server running in proof of concept.

Merry Christmas!
In response to Lummox JR
Lummox JR wrote:
With a little bit of free time in the last couple of days I've been playing with this and I have dd.exe mostly working. I have to add some niceties like Ctrl+C support and such, but I did get a server running in proof of concept.

Merry Christmas!

(heart emoji)

Merry Christmas
Lummox JR resolved issue with message:
A command-line version of Dream Daemon is now available for Windows. This includes a limited console where some commands can be entered (e.g., to get a memory report or reboot). In the future the console's capabilities will be expanded.