ID:2157228
 
Applies to:Everything
Status: Open

Issue hasn't been assigned a status value.
So today I figured out that the windows version of DD has a -public argument to make it start with public visibility. (since if it starts with private visibility, setting world.visibility does nothing)

I figured that out by pure guessing, it's not documented in startup() and the windows version of DD doesn't output a help for -help or -? or --help.

Also, Did you know that ds, dream maker, dm.exe, and the pager all have command line args? I found the instructions where they look at them, but I have no idea what they are. I'd like to.

There are all sorts of command line stuff that isn't documented.

(and while you're on it, the args for the webclient, like frames=2 and what not need documentation)
there's a speed arg for DS or DD if you want a real trip
oh ya! That bit of black magic.

The man page on Linux has some more documentation on this stuff:

DreamDaemon(6)                                     Games Manual                                     DreamDaemon(6)



NAME
DreamDaemon - Host BYOND worlds and CGI programs.

SYNOPSIS
DreamDaemon world.dmb [port] [options]

DESCRIPTION
DreamDaemon is the BYOND server program. It executes .dmb (byte-code) programs generated by DreamMaker.
Such .dmb programs are platform independent, so they may be compiled by DreamMaker in a completely differâ€
ent operating system.


ARGUMENTS
world.dmb
This is a DM byte-code file produced by DreamMaker. In addition to this file, DreamDaemon looks for
world.rsc, in the same directory. This file may contain icons, sounds, and other "resources" stored
by the compiler.


port This is a network port number on which to accept Dream Seeker connections. If none is specified or
if the value 0 or any is used, any available port may be chosen. See PORTS for additional options.


OPTIONS
-cd path
Use the specified path as the working directory. The default is the directory containing the world
file.


-cgi Run in CGI mode. This is normaly compiled directly into the .dmb by setting world.executor, which
in turn is normally done automatically by including Dantom.CGI.


-core Produce a core dump if DreamDaemon crashes.


-home path
Use the specified path as the top safe directory. The default is the directory containing the world
file.


-invisible
Don't broadcast the world to the BYOND hub.


-log logfile
Send stderr to the specified file.


-logself
Send stderr to world.log, where world is the name of the .dmb file (minus the .dmb).



-once Shutdown after users log out.


-params var=value
Any number of parameter assignments may be made or a single form-url-encoded string may be provided
that includes multiple assignments. These parameters are made available to the DM program in
world.params.


-ports range
Specify a range of ports that may be used when a specific port is not specified. This also applies
to any child worlds spawned by the startup() DM instruction, which is used by host servers to dynamâ€
ically execute worlds when they are requested by users. See PORTS for more options.

The syntax for range is a comma separated list of numbers or ranges of numbers. Example:

-ports 1234,1236,1240-1250


-quiet Generate less noise in the log file. The main difference is that the world does not advertise when
it starts up.


-safe Allow access to files and subdirectories in the same location as the world file. Shell commands may
not be executed. This is the default if the world file is in a safe directory. A safe directory is
one with the same name as the world file. A file called MyWorld.dmb would run in safe mode by
default if it existed in a directory called MyWorld. This comparison is not sensitive to case.


-suid path
Run as the owner of the specified file or directory. Only root may use this option.


-suidself
Run as the owner of the world file. Only root may use this option. Note that it is also possible
to set the suid bit on the .dmb file so that other users may execute it with the same effect. For
this to work, DreamDaemon must also have the suid bit set.


-trace Output a debug trace-log file to help the developers track bugs.


-trusted
Allow access to any part of the filesystem and permit execution of shell commands. Note that allowâ€
ing DreamDaemon to try accessing any file does not mean the operating system will actually allow the
operation. Normal system security is in no way compromised by running in -trusted mode.


-ultrasafe
Disallow all file access and forbid the .dmb program from executing any shell commands. This is the
default if the world file is not in a safe directory. (See -safe.)


-unsafe_diag
Don't block SIGUSR2 during lengthy I/O operations: useful if you want a backtrace via kill -USR2 and
DreamDaemon is ignoring it due to I/O or infinite loop, but may be dangerous if a system call is
interrupted.


-version
Output the BYOND version and then exit.


PORTS
A network port is required in order for a BYOND world to be reached by players. The port must also be
accessible, which means the host machine must have its own IP address and the specific port being used must
not be blocked from outside connections by any firewalls between the host and the client.

Networks that perform IP masquerading may not host BYOND worlds to users on the outside, because the
machines inside the network do not have their own external IP address. Typically, only the machine that is
acting as the gateway to the outside will have its own IP address in these circumstances.

Firewalls that restrict access to ports must be configured to allow connections to the port(s) being used
for hosting BYOND worlds. It is still possible for ports to be dynamically assigned in this case, but you
must configure the list of usable ports, or DreamDaemon will most likely choose one that is not accessible
through the firewall.

The range of ports that DreamDaemon may use is configured on the command line with the -ports option, or in
the byond.txt configuration file. Settings in the system configuration file restrict settings in user conâ€
figuration files and those in turn restrict settings made on the command line.

A typical line in byond.txt looks like this:

ports 1234,1236,1240-1250

The syntax is the same as the -ports command-line option.

It should be noted that although the system and user configuration files may be used to "control" the netâ€
work ports being used on the system, this should not be considered a high-security device. It is intended
merely as an administrative aid.


DIRECT EXECUTION
It is possible to execute .dmb programs directly by compiling with world.executor assigned to the path to
DreamDaemon. This happens automatically when you include the Dantom.CGI library in your source code.
(Install it with DreamDownload). You would only need to override this if the default value does not match
the location of DreamDaemon on your system.

The only additional step is to change the file permissions to allow execution of the .dmb file. DreamDaeâ€
mon will be automatically invoked when the .dmb is executed.

Additional command-line parameters may be hard-coded in world.executor if necessary. In the case of Danâ€
tom.CGI, the options -cgi -logself are inserted using this technique.

If you need to alter the executor information and you do not have access to the source code, the first line
of the .dmb file may be edited directly. Be sure to use an editor that does not mangle binary data!


ENVIRONMENT
BYOND_SYSTEM
If this is set, it designates the location of the BYOND system configuration files. Otherwise, they
are expected to be in /usr/local/byond.


FILES
cfg/byond.txt
This file contains various system configuration options. System-wide configurations may be made in
BYOND_SYSTEM/cfg/byond.txt, and individual user configurations may be made in
~/.byond/cfg/byond.txt.


LINKS
Visit www.byond.com to learn more about DM programming, chat with the gurus, and explore the BYOND uniâ€
verse.


SEE ALSO
DreamMaker(6)



July 20, 2001 DreamDaemon(6)


DreamMaker(6)                                      Games Manual                                      DreamMaker(6)



NAME
DreamMaker - Compile DM programs to make BYOND worlds.

SYNOPSIS
DreamMaker [options] source

DESCRIPTION
DreamMaker is the BYOND compiler. It reads DM source code and produces .dmb byte-code programs executable
by DreamDaemon or DreamSeeker. Such .dmb programs are platform independent, so they may be compiled by
DreamMaker in a completely different operating system from the one in which the world is executed.


ARGUMENTS
source This is the DM source code. If no extension is specified, it searches for a file ending in .dme and
then .dm. The output file always has the same name as the input file but with the extension .dmb.


OPTIONS
-i Generate include.txt. This file contains a list of all the DM library dependencies. When this file
is included in a source-code package installed by DreamDownload from BYOND Hub, any dependencies
that are not already present are automatically installed at that time.


-l List all included source files. This may be useful when preparing source-code for distribution to
others.


ERRORS
Syntax errors are reported in a format similar to gcc, which many popular editors can interpret for the
purpose of automatically jumping to the errors in the source code.


ENVIRONMENT
BYOND_SYSTEM
If this is set, it designates the location of the BYOND system configuration files. Otherwise, they
are expected to be in /usr/local/byond.


FILES
BYOND_SYSTEM/lib/stddef.dm
This file contains various standard definitions used in DM programs. It must exist and be accessiâ€
ble in order for the compiler to operate.


LINKS
Visit www.byond.com to learn more about DM programming, chat with the gurus, and explore the BYOND uniâ€
verse.


SEE ALSO
DreamDaemon(6)



July 20, 2001 DreamMaker(6)


That date at the bottom could probably use some updating though...