Doomsday Shell is a tool that helps you to run your own Doomsday servers and monitor the status of Doomsday servers running on remote computers over the internet.
This article is for 2.1. Earlier versions for 2.0 and 1.14–1.15 are available.
In the past, hosting a multiplayer game has required one to run Doomsday in a special “dedicated” mode and configure everything by hand via the console or configuration files. The experience has been far from ideal. The Shell solves this problem by making it easy to start, stop, and monitor your Doomsday servers.
The Shell comes in two flavors:
doomsday-shell-text) to be used in terminals.
On Unix, information specific to the text-mode version of the Shell can be found in the manual page doomsday-shell-text.
To host your own multiplayer game, you need to start a Doomsday server. Typically this is done by starting a server on your local computer. The Shell makes this easy: select Server → New Local Server. This opens a dialog where you can configure the server's launch settings. Note the server does not have access to your game profiles from the Doomsday client, so all resource files need to be specified at launch.
-fileoption can be used to load additional resource files and packages. If the client's version is 2.1 or newer, they will be able to automatically download these files before connecting. Older clients do not support downloading files from the server.
Click Start Server when you're done. After the server has launched, a connection to it is automatically opened. (If the connection fails, it means the server failed to launch. Check the error from the server's doomsday.out file.)
The server has to be configured as public to allow other people to see your server via the master_server. Even after the server is started you can still change whether the server is public or private using the Console:
server-password "your-shell-password" server-public 1
Defining a password is mandatory for public servers; otherwise malicious users could log in via the Shell and misconfigure it at will.
If a server is not public, it will not be announced to the master_server and anyone wishing to join has to either be on the local network or know your IP address.
Each Shell window connects to a single server. It is important to note that a Shell connection is akin to an ssh connection to a Unix server — the server is running before the connection is opened and continues to run after the connection is closed.
The Status page displays an outline of the current map on the server. The positions of all players in the game are shown using position markers.
The Options page can be used to quickly change the game type, the current map, and a handful of other gameplay settings. The map has to be changed or restarted for the new options to come into effect.
The Console page provides a console command line interface to control the server. You can enter both console commands and new values for console variables.
Keyboard shortcuts for the command line:
|Home, Ctrl-A, ⌘-A||Move to the beginning of the line|
|End, Ctrl-E, ⌘-E||Move to the end of the line|
|Ctrl-K, ⌘-K||Delete the rest of the current line|
|Up / Down||Move up/down in the command history (or lines of the current command)|
|Tab||Complete the current word (cycle through suggestions on each press)|
|Shift-Tab||Complete the current word (cycle backwards through suggestions on each press)|
The font used on the console page for log entries and the command prompt.
Folder where the Doomsday Server executable can be found. Shell will use this for running local servers.
Unless you've told Doomsday where to find IWAD files, you will need to specify the IWAD folder before you can start a server. In practice, the Custom IWAD folder setting will insert an
-iwad option into the doomsday-server launch options.