@chapter{ Home Screen }

The Home screen in Doomsday 2 is a full replacement for the separate front-end
application that was used in earlier versions. In Home you can manage your game
library, resource packs and other add-ons, and join multiplayer games.

Home consists of a number of scrollable tabs. There are several ways to navigate
between tabs:

@list/thin{
    @item Click on the tab names in the top of the screen.
    @item Left and right arrow keys move focus to an adjacent tab.
    @item Shortcut keys: @kbd{D}, @kbd{H}, @kbd{X}, @kbd{O}, @kbd{M}, and
          @kbd{S} (while not entering text in a text field.)
    @item Click on the left or right edge of the screen.
}

@section{ Game library }

The game library lists all the available games and their associated save files.
Each game can be configured to load additional mods (WADs, PK3s, data files,
resource packs). You can also add new customized games based on one of the
built-in games.

In User Interface settings you can hide entire game tabs, if you are not
interested in a particular family of games. See @ref{config}{Configuration} for
more details.

@parag{Sorting games in the library.} If you have lots of games available, it
may be helpful to change the game library view options so you can more easily
find the game you are looking for. Click on the @ui{...} button under the tab
title to see the view options.

@parag{Starting a game with or without additional mods.} Click on a game to
select it, or move the selection with the arrow keys. When selected, Mods and
Play buttons slide in. The Mods button shows a number for how many additional
mods have been selected for loading. Click Play or double-click the game to
start the game.

@parag{Selecting mods.} Click the game's Mods button to choose which additional
mods are going to be loaded when the game is started. On the left side of the
dialog, you have a list of the mods selected for loading. On the right, you can
browse the available mods. The mods browser works similarly to the Mods tab, and
it has a search field and Info buttons (see @ref{packages}{Mods}). To add a mod
to the game, click the Plus button or double-click the mod.

@parag{Loading a saved game.} All saved games are listed below the game they
were created in. Click on a save to select it, and then press the game's Play
button. Clicking on an already selected save will unselect it.

@notice{Old savegames created with Doomsday 1.x do not contain information about
which data files and mods were in use when the save was created, so Doomsday
can't determine which game they belong to. Such saves are listed under each
variant of the game.}

@parag{Savegame information.} Right-click on a saved game to see information
about the save: which data files and mods were in use, the overall game
parameteres, current map, and other status information.

@parag{Deleting a saved game.} When a savegame is selected, a small X button
appears next to it. Clicking the X lets you delete the save.

@parag{Save folders.} Each game is assigned a unique save folder
where all the save files of the game are kept. Right-click on a profile and
select @ui{Show Save Folder} to open the folder in @ifdef{WIN32}{Windows
Explorer}@else{@ifdef{MACOSX}{Finder}@else{operating system file browser}}.
Note that custom games created in version 2.0 or earlier share a save
folder with the built-in game. You can use the @ui{Create New Save Folder} menu
item to create a new save folder for the custom game, but you will need to
manually move the existing save files over there.

@parag{Creating a custom game.} At the bottom of each game tab, there is a Plus
button that creates a new customized game. In the game settings, you can choose
which game mode will be used, and which mods are selected for loading. Note that
game cannot have a name that is identical to an already existing game in the
library.

@parag{Duplicate, edit, and delete games.} Any game can be duplicated by
right-clicking on it and selecting @ui{Duplicate}. Games can also be edited to
change their name, the primary data file (IWAD), and the set of selected mods.

@a{packages}@section{ Mods }

The Mods tab is used to browse the available @wikiterm{mods} and other
@wikiterm{packages}. The Mods tab shows all the data files that Doomsday knows
about. You can also quickly try out individual mods in one your games.

@parag{Configuring the mod search folders.} To let Doomsday know where your mods
can be found, either select @ui{Settings} in the Mods tab's actions menu (the
@ui{...} button under the tab title), or go to Data Files settings (see
@ref{config}{Configuration}). The mods will not be copied or moved from wherever
you keep them.

@parag{Browsing mods.} The mods list may contains hundreds of items, so you may
want to find the mods you're looking for by entering some search terms. Enter
the words to search for in the search field at the top of the list. The search
is limited to metadata; the actual file contents are not accessed. When entering
multiple words, only mods whose metadata contains all the words are shown.

@parag{Special search keywords.} Some search words have a special meaning:
@list{
    @item @dquote{gamedata}: Primary game data files (IWADs).

    @item @dquote{hidden}: Only mods that are normally hidden will be shown.
    Mods that are hidden by default include, for example, mods inside other
    packages that will get automatically loaded.

    @item @dquote{loaded}: Only show currently loaded mods. This is useful when
    browsing mods while playing a game.

    @item @dquote{core}: Doomsday's own core packages. These will be
    automatically loaded as needed.
}

@parag{Viewing information about a mod.} Right-click a mod or click on
the @ui{...} button to view information about it. In the case of WAD files, all
the maps in the WAD are listed so you'll know which map to start when playing.
The info popup also shows the game title picture found in the mod, and
readme notes provided by the author. In some cases, Doomsday can make a guess
about the game that the mod is meant to be used with.

@parag{Quickly trying out a mod.} One of the most useful features of the Mods
tab is quickly loading a mod in one your games. This will make no changes to
your existing games. Simply open the mod info popup (as explained above) and
click on @ui{Play in...}. However, you should first check that the mod actually
is compatible with the game you are playing. Also be aware that if you are
already running a game, it will be unloaded first and any unsaved progress will
be lost.

@parag{Quickly adding a mod to a game.} The @ui{Add to...} button in the mod
info popup will add the mod to one of your existing games. The games that
already have the mod are tagged @ui{ADDED} in the list.

@parag{Configuring optional contents.} Some mods have optional subcomponents.
For instance, add-ons that use the @wikiterm{Snowberry Box} format may include
both opt-in and opt-out mods. When viewing information about this kind of
collections, an additional @ui{Options} button is shown in the mod info popup.
This will let you enable or disable individual contained mods.

@section{ Multiplayer }

The Multiplayer tab lists multiplayer games that you can join. Servers on the
local network are discovered automatically and are visible immediately in the
Multiplayer games list. The @link{dengine.net}{http://dengine.net/} master
server is also automatically queried for any public servers.

@parag{Viewing server information.} Right-click a server in the list to view
information about it. The same popup can be opened by clicking the small
@ui{...} button in the server description. The status information includes:
@list/thin{
    @item ping time
    @item which game and map is currently running
    @item outline of the current map
    @item list of mods loaded on the server
    @item list of connected players
    @item server version
}

@parag{Joining a game.} Join an open multiplayer game by clicking @ui{Join}
either in the server list or in the server information popup. Any missing mods
are downloaded automatically after you click the button.

@parag{Player name and color.} When a game is running (after joining a
multiplayer game or also in single-player), go to the game's @ui{Options} menu
and select @ui{Player Setup}. In this menu you can change your multiplayer
name, player color, and (in Hexen) player class. Note that this is the game's
own menu and not part of Doomsday's UI.

@parag{Connecting to a non-public server.} To connect to a server that is not
announced to the master server, select @ui{Connect to Server...} in the
Multiplayer tab's actions menu (@ui{...} under the tab title), and enter the
server's IP address or domain name.

@parag{Failure to connect?} Connectivity problems can also be due to your
firewall or @link{network address translation
(NAT)}{https://en.wikipedia.org/wiki/Network_address_translation}. Doomsday uses
TCP network connections for multiplayer games. If you host a game and are behind
a firewall or using NAT, you must make sure that other computers are able to
open TCP connections to your computer. This entails opening the appropriate
incoming TCP ports on your firewall and/or configuring the NAT so that the
correct ports are routed to your computer.

Additionally, UDP ports 13209-13224 are used for detecting servers running on
the local network; if you are experiencing problems with autodetecting local
servers, check that your firewall isn't blocking these UDP ports on either end.

A server opens one TCP port for listening to incoming connections. The port must
be open for incoming TCP traffic in the firewall. The port number is configured
with the console variable @var{net-ip-port}. By default, a server uses TCP port
13209.

Clients do not require any firewall configuration for incoming connections. A
client only needs to be able to reach the server via the server's TCP port.

You can see status information about the network subsystem with the console
command:

@code{net info}

@parag{Hosting a game.} Use @ifdef{UNIX}{ @strong{doomsday-shell} or
@strong{doomsday-shell-text} } @else{ @strong{Doomsday Shell} } to host a
multiplayer game of your own. The @wikiterm{Shell}{Shell} allows you to start,
stop, and control Doomsday multiplayer servers. This includes both your own
local servers and remote servers on the internet.

@file{doomsday-server} runs in a background process and has no UI of its own.
The Shell provides a couple of basic game options that you can change via the
GUI. For example, you can choose between Deatchmatch and Co-op mode, change the
current map, and enable or disable monsters. The full set of @wikiterm{console
variables} can be modified via the Console tab (text-mode command line
interface).

If your server is not public (i.e., announced to the master server), a client
can connect to it manually using the IP address or domain name.

For more information about the Shell, see @wikilink{Shell Help in the
wiki}{Shell_Help}.
