Shell Help (1.14 - 1.15.8)
Doomsday Shell is a tool that allows 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 Doomsday version 1.14.
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:
- A desktop app that works on all platforms.
- Text-based shell for Unix platforms (doomsday-shell-text) to be used in terminals.
Note: On Unix, information specific to the text-mode version of the Shell can be found in the manual page doomsday-shell-text(6).
Hosting a game
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. A dialog will open that allows you to specify the configuration for the new server. Presently the Shell is unaware of any front-end (Snowberry) game profiles you may have set up, so you need to configure the settings manually.
Note: You can start multiple servers on your computer, but each of them must have a unique TCP port number. The default port is 13209.
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.)
Public servers (visible on master server)
To allow other people to see your server via the master server, the server has to be configured as public. 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.
Connecting and disconnecting
Each window of the Shell 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.
- Connection → Connect: Specify any IP address to connect to. Servers running on the local network are automatically detected and appear in the address dropdown list.
- Connection → Disconnect: Closes the currently open connection. (The server keeps running.)
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.
Console command line and log messages
The Console page provides a console command line interface to control the server. You can issue any console commands and 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)|
Settings / Preferences
Custom IWAD folder
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.