DEADSOFTWARE

man: more manuals for god of manuals!
authorTerminalHash <lyashuk.voxx@gmail.com>
Wed, 8 Mar 2023 12:45:30 +0000 (15:45 +0300)
committerTerminalHash <lyashuk.voxx@gmail.com>
Wed, 8 Mar 2023 12:45:30 +0000 (15:45 +0300)
man/HOWTO
man/en/d2df.1.txt [new file with mode: 0644]
man/en/d2df.2.txt [new file with mode: 0644]
man/en/d2df.3.txt [new file with mode: 0644]
man/ru/d2df.1.txt [new file with mode: 0644]
man/ru/d2df.2.txt [new file with mode: 0644]
man/ru/d2df.3.txt [new file with mode: 0644]

index 807530fb62fbb3d00cc67100e5bafba0550633d4..46f93ab8e684e8c781a86a07785414c71fe78817 100644 (file)
--- a/man/HOWTO
+++ b/man/HOWTO
@@ -1,4 +1,24 @@
 If you want to convert this txt to man, you need a k8ttman (see https://repo.or.cz/k8ttman.git).
 Build them, copy txt file to program directory and run:
 
-  ./ttman d2df.txt d2df.1
+  ./ttman d2df.1.txt d2df.1
+  ./ttman d2df.2.txt d2df.2
+  ./ttman d2df.3.txt d2df.3
+
+For the manual to be detectable by man/man-db, it must be packed into a .gz archive. We do this with the command:
+
+  gzip -c d2df.1 > d2df.1.gz
+  gzip -c d2df.2 > d2df.2.gz
+  gzip -c d2df.3 > d2df.3.gz
+
+Then put them in directories based on the number in the name:
+
+  d2df.1 = /usr/share/man/man1
+  d2df.2 = /usr/share/man/man2
+  d2df.3 = /usr/share/man/man3
+
+For russian version, you must use txt from directory "ru" to convert/compression and put them to:
+
+  d2df.1 = /usr/share/man/ru/man1
+  d2df.2 = /usr/share/man/ru/man2
+  d2df.3 = /usr/share/man/ru/man3
diff --git a/man/en/d2df.1.txt b/man/en/d2df.1.txt
new file mode 100644 (file)
index 0000000..d4a12b4
--- /dev/null
@@ -0,0 +1,90 @@
+@title Doom2DF 1 08.03.2023 1 1
+
+@h1 NAME
+Doom2DF - main game binary.@br
+Doom2DF_H - dedicated server binary.
+
+@h1 SYNOPSIS
+Doom2DF [*ARGUMENTS*]... [*OPTION*]...@br
+Doom2DF_H [*ARGUMENTS*]... [*OPTION*]...
+
+
+@h1 DESCRIPTION
+Doom 2D Forever is Doom-themed platformer game with network multiplayer support. This is the modern port of 1996 Doom 2D game by Prikol Software.@br
+Note: documentation is not finished yet.
+
+
+@h2 ARGUMENTS
+-map WADFILE:\\MAPnn
+       Run the game with the map from the specified wad for the current game session.@br
+       All maps in the Doom 2D Forever must be packed to a .wad (incompatible with doom wads) or .dfz (renamed zip) archive.@br
+       These wads can have a lot of maps inside, usually named as MAPnn.
+
+-gm NAME [`DM`|`TDM`|`CTF`|`COOP`]
+       Use a specific gamemode for the current game session. Default is DM.
+
+-port PORTNUMBER [`25667`]
+       Use a specific port for the server. Default is 25667.
+
+-exec FILENAME.txt
+       You can also set a custom config for the game session. Good for maplists, etc.
+
+-connect IP:PORT
+       Connect to server, when game loads.
+
+-lims nnn
+       Set the goal limit for current game session.
+
+-lives nnn
+       Set the number of lives for the Survival mode.
+
+-limt nnnn
+       Set the time limit for current game session.
+
+
+@h1 OPTIONS
+--log-file FILENAME.log
+       Set custom name for the log file.
+
+
+@h1 EXAMPLES
+Run the dedicated server in DeathMatch mode, with custom maplist and custom log file.
+
+       @pre
+       $ Doom2DF_H -map PrikolSoft.wad:\\MAP01 -gm DM -port 25667 -exec maplist_dm.txt --log-file dfserver_dm.log
+       @endpre
+
+
+@h1 DIRECTORIES
+By default, the game checks the entire disc for game files. (The editor can't search for files everywhere.) To follow a hierarchy, files can be located:
+
+~/.doom2df
+    in your home directory.
+
+/usr/share/doom2df
+    or in default directory.
+
+@h1 URLS
+Our site:@br
+https://doom2d.org
+
+Our forum:@br
+https://doom2d.org/forum/index.php
+
+Our IRC:@br
+irc.wenet.ru:6677 #doom2d
+
+Our Telegram:@br
+https://t.me/doom2d_channel - Channel@br
+https://t.me/doom2d - Chat
+
+Our Discord:@br
+https://discord.gg/sGpJwMy
+
+@h1 SEE ALSO
+
+*d2df*(2), *d2df*(3)
+
+@h1 AUTHOR
+
+Written by Dmitry Lyashuk <lyashuk.voxx\@gmail.com>, Doom 2D: Forever Developers.
diff --git a/man/en/d2df.2.txt b/man/en/d2df.2.txt
new file mode 100644 (file)
index 0000000..2b4ea9a
--- /dev/null
@@ -0,0 +1,272 @@
+@title Doom2DF 2 08.03.2023 2 2
+
+@h1 NAME
+Doom 2D Forever console commands.
+
+
+@h1 CONTENTS
+
+1. System commands
+
+2. Binds
+
+3. Console commands
+
+4. Debug commands
+
+5. Game commands
+
+6. Cheats
+
+
+@h1 1. System commands
+
+quit, exit
+    Exit from game.
+r_reset
+    Reload render.
+r_maxfps <number>
+    Limiting the number of frames per second
+g_language Russian/English
+    Change game language.
+
+
+@h1 2. Binds
+
+bind <key> <command>
+    Bind a key behind a command.
+bindrep <key> <command>
+    (?)
+bindunrep <key> <command>
+    (?)
+bindlist
+    Show a bind list.
+unbind <key>
+    Remove the bind from the key.
+unbindall
+    Remove binds from all keys (not recommended).
+togglemenu
+    Show or hide the main menu/game menu.
+toggleconsole
+    Show or hide the console.
+togglechat
+    Show or hide the chat.
+toggleteamchat
+    Show or hide the team chat.
+
+@h2 For device with touchscreen
+showkeyboard
+    Show virtual keyboard.
+hidekeyboard
+    Hide virtual keyboard.
+
+
+@h1 3. Console commands
+clear
+    Clear console window.
+clearhistory
+    Clear commands history.
+showhistory
+    Show commands history
+commands
+    Show command list.
+time
+    Show current time.
+date
+    Show current date.
+echo ""
+    Output the typed characters to the console.
+dump
+    Take a dump.
+exec <name>
+    Execute custom cfg.
+writeconfig <name>
+    Write to cfg.
+alias <name> "<commands>"
+    Set a sequence of commands to be executed after a certain name.
+call
+    Execute alias.
+ver, version
+    Show game version.
+
+
+@h1 4. Debug commands
+
+d_window
+    Show window resolution.
+d_sounds 1/0
+    Sound debugging.
+d_frames 1/0
+    Show item, entities hitboxes.
+d_winmsg 1/0
+    (?)
+d_monoff 1/0
+    Switch the work of the AI monsters.
+d_botoff 3/2/1/0
+    Switch the work of the AI bots.
+d_health 1/0
+    Toggle the display of XP in numerical form.
+d_player 1/0
+    Toggle the display of player coordinates.
+d_joy 1/0
+    (?)
+d_mem 1/0
+    Toggle the heap status display.
+
+@h2 Monsters
+d_monster <ID or name> <behaviour>
+    Spawn a monster with a specific behavior. If no behavior is specified, the default behavior is set (normal).
+
+ID:
+    1 - Pinky
+    2 - Imp
+    3 - Zombie
+    4 - Shotgun Guy
+    5 - Cyberdemon
+    6 - Chaingunner
+    7 - Baron of Hell
+    8 - Hell Knight
+    9 - Cacodemon
+    10 - Lost Soul
+    11 - Pain Elemental
+    12 - Spider Mastermind
+    13 - Arachnotron
+    14 - Mancubus
+    15 - Revenant
+    16 - Arch-vile
+    17 - Fish
+    18 - Barrrel
+    19 - Robot
+    20 - Prikolist
+
+Behavior:
+    0 - killer
+    1 - maniac
+    2 - insane
+    3 - cannibal, attacks both the player and monsters
+    4 - good, player friendly, hostile to monsters
+
+@h1 5. Game commands
+
+pause
+    Pause the game.
+endgame
+    End game (sends to the main menu).
+restart
+    Restart map.
+addbot, bot_add
+    Add bot to game session.
+bot_addlist <name>
+    Add bot to game session from list. If no name is specified, adds a random bot.
+bot_addred
+    Add bot to red team.
+bot_addblue
+    Add bot to blue team.
+bot_removeall
+    Remove all bots from game session.
+chat <text>
+    Send text to chat.
+teamchat <text>
+    Send text to team chat
+announce, an <text>
+    Display the text in the middle of the screen.
+game <wad> <mapnn> <players>
+    Run the game on a certain map with a certain number of players (one to two).
+host <ip> <port> <wad> <mapnn> <players>
+    To get the game at a certain address, with a certain port on some map with some number of players.
+map <wad> <mapnn>
+    Change map immediately.
+nextmap <wad> <mapnn>
+    Announce the next map.
+endmap
+    Finish the round.
+goodbye
+    Finish the megawad/campaing map.
+suicide
+    Suicide.
+spectate
+    Spectating the game.
+ready
+    Declare readiness during Survival and derivative modes.
+kick <nick>
+    Kick a player with a certain nickname.
+kick_id <id>
+    Kick a player with a certain id.
+kick_pid <pid>
+    Kick a player with a certain pid.
+ban <nick>
+    Ban a player with a certain nickname.
+ban_id <id>
+    Ban a player with a certain id.
+ban_pid <pid>
+    Ban a player with a certain pid.
+permban <nick>
+    Ban a player permanently with a certain nickname.
+permban_id <id>
+    Ban a player permanently with a certain id.
+permban_pid <pid>
+    Ban a player permanently with a certain pid.
+permban_ip <ip>
+    Ban a player permanently by ip.
+unban <nick or id or pid or ip>
+    Unban a player.
+connect <ip или host> <порт> <пароль>
+    Connect to the server.
+disconnect
+    Disconnect from the server.
+reconnect
+    Reconnect to the server where you were last on.
+say <text>
+    Write in chat on behalf of the server.
+tell <nick> <text>
+    Write to the player on behalf of the server.
+centerprint <time> <text>
+    Display an inscription in the middle of the screen for a certain time (in seconds). If from the player, then only for himself, if the server - for everyone.
+overtime
+    Announce extra time.
+rcon_password <пароль>
+    Password for rcon.
+rcon <команда>
+    Perform the action on the server.
+callvote, vote <command or parameter>
+    Vote to execute a command or change a parameter.
+clientlist
+    Output the list of connected clients.
+event <name> <command or parameter>
+    Use a command or change a parameter for a certain event. When empty, display a list of actions performed on certain events.
+
+
+@h1 6. Cheats
+Enter once to turn on and once to turn off.
+
+god
+    Godmode.
+notarget
+    Monsters stop paying attention to you.
+give
+    Give out a certain item (including the exit).
+open
+    Open all doors.
+fly
+    Give the player an infinity jetpack.
+noclip
+    Disabling collisions at walls + flight.
+speedy
+    Increased movement speed.
+jumpy
+    Increasing the height of jump.
+noreload
+    Disabling the reload (cooldown between shots).
+aimline
+    Show where the player is aiming.
+automap
+    Show full map.
+
+
+@h1 SEE ALSO
+
+*d2df*(3)
+
+@h1 AUTHOR
+
+Written by Dmitry Lyashuk <lyashuk.voxx\@gmail.com>, Doom 2D: Forever Developers.
diff --git a/man/en/d2df.3.txt b/man/en/d2df.3.txt
new file mode 100644 (file)
index 0000000..76c72cc
--- /dev/null
@@ -0,0 +1,268 @@
+@title Doom2DF 3 08.03.2023 3 3
+
+@h1 NAME
+Custom configuration manual for a Doom 2D Forever dedicated server.
+
+
+@h1 CONTENTS
+
+1. Server setitngs
+
+2. Game parameters
+
+3. Events
+
+4. Aliases
+
+@h1 1. Server settings
+The dedicated server uses its own configuration file, which is set up only with a text editor. It is not enough to simply change something in the main game and then copy it from its .cfg file into the server file - In the menu "My Game" not all settings for the server are displayed, and some variables from there you can not change. In this paragraph, we consider the most necessary parameters that must be prescribed.
+
+
+@h2 Main options
+sv_name "<name>"
+       Server name.
+
+sv_passwd "<password>"
+       Lock server with password.
+
+sv_port PORTNUMBER
+       The port number to be used by the server, by default it is recommended 25667. Overwritten by the parameter -port.
+
+sv_public 1/0
+       Whether to show the server in the list or not, by default it is shown.
+
+sv_maxplrs <number>
+       Maximum number of slots for players. Recommended 14-16.
+
+sv_intertime <number>
+       After how many seconds the server will start the next round. For non-cooperative servers it is recommended to set -1 (this will set the timer for 15 seconds).
+
+
+@h2 Administration option
+sv_rcon 1/0
+       Enable rcon access to manage the server.
+
+sv_rcon_password
+       Password for rcon, specify without spaces and quotes.
+
+@h2 Ban options
+sv_autoban_threshold <number>
+       After how many attempts to harm the server player should be banned (0 = off), the default 5.
+sv_autoban_permanent 1/0
+       Set the permanence of the ban (0 = ban for a while), the default is 1.
+sv_autoban_warn 1/0
+       Warn the client about penalty triggers, default is 0.
+sv_auth_timeout <number>
+       The number of milliseconds it takes for the client to complete authentication to the server (0 = infinite) is by default 30.
+sv_packet_timeout <number>
+       The number of milliseconds the client has to idle before kicking (0 = infinite) is 60 by default.
+
+@h2 Optional options
+sv_forwardports 1/0
+       Does the server have to pierce the ports itself through miniupnpc.
+sv_reliable_interval <number>
+       Delay between objects position sending at reliable channel. Must be greater than sv_update_interval.
+sv_update_interval <number>
+       Delay between objects position sending at unreliable channel.
+sv_master_interval <number>
+       After how many seconds the server has to remind the master server.
+
+
+@h2 Technical options
+net_master_list <host>
+       To which master server address the data will be sent. You can specify more than one, for example mpms.doom2d.org:25665,deadsoftware.ru:25665
+rdl_ignore_enabled 1/0
+       Enable or disable hash checking.
+rdl_ignore_names <resource wad names>
+       The names of the resource files (from the wads folder without an extension) that should not be checked by the server for consistency.
+rdl_hashdb_save_enabled 1/0
+       Saving hashes in the database on disk.
+
+@h1 2. Game parameters
+Game parameters are not required to be specified in the maplist, and serve rather to override the configuration file settings, so as not to change the values in it unnecessarily. To turn on you must set 1, to turn off - 0.
+
+g_gamemode dm/tdm/ctf/coop
+       What mode will be set on the server.
+
+@h2 Bots
+g_max_bots <number>
+       The maximum number of bots that can be spawned.
+g_bot_vsmonsters 1/0
+       Should bots fight monsters.
+g_bot_vsplayers 1/0
+       Should bots fight players
+
+
+@h2 Limits
+g_scorelimit <number>
+       How many points are needed to end the round (0 = infinite).
+g_timelimit <number>
+       The time limit after which the round ends (0 = infinite).
+g_maxlives <number>
+       Number of player lives, enables Survival, LMS, TLMS gamemodes.
+
+
+@h2 Time settings
+g_item_respawn_time <number>
+       How much time (in seconds) should appear items, the default is 60.
+g_warmup_time <number>
+       Warmup time for Survival mode and its derivatives, in seconds.
+
+
+@h2 Items spawn
+g_spawn_invul 1/0
+       Enable or disable the invulnerability sphere spawn.
+g_weaponstay 1/0
+       Whether to leave the weapon after a player picks it up.
+
+
+@h2 Permissions
+g_allow_dropflag 1/0
+       Enable or disable flag dropping in CTF mode.
+g_throw_flag 1/0
+       How to throw the flag, 1 - with acceleration, 0 - under the player.
+g_allow_exit 1/0
+       Enable or disable the ability to exit. For the cooperative to work properly, you must set 1.
+g_allow_monsters 1/0
+       Allow or disallow monsters to spawn.
+
+
+@h2 Stats
+g_save_stats 1/0
+       Whether to save the statistics of the round, the default is 0. It is saved as a csv-table.
+g_screenshot_stats 1/0
+       Whether to save a screenshot of the table at the end of the round, the default is 0.
+
+
+@h2 Friendly-Fire options
+g_friendlyfire 1/0
+       Turn friendly-fire on or off.
+g_friendly_hit_trace 1/0
+       Enable or disable the passage of hitscan (bullet) through their teammates.
+g_friendly_hit_projectile 1/0
+       Enable or disable the passage of projectiles (missiles, BFG or plasma balls) through your teammates.
+g_friendly_absorb_damage 1/0
+       Enable or disable the absorption of some damage when bullets or projectiles pass through teammates.
+Note: the values of the numbers change for the cooperative (1 - off, 0 - on).
+
+@h1 3. Events
+To control certain events on the server, there is a command event, through which you can relatively flexibly configure the behavior of the server in certain situations. The need to use the event command is directly related to proper server startup and map lists.@br
+The command supports the following types of events:
+
+onmapstart
+       Execute the given commands at the start of the next map.
+onmapend
+       Execute the given commands at the end of the map.
+oninter
+       Perform assigned commands at the end of the round (when the points table appears).
+onwadend
+       Execute the given commands at the end of the megawad/campaing (after passing the last level).
+
+Note: parameters may not work as expected, so it is recommended to use the examples below to ensure that aliases work.
+
+@h1 4. Aliases
+After defining all the parameters, it is necessary to configure the aliases. Through them set lists of maps, switching multiple parameters simultaneously, the implementation of multiple modes on the server with the correct settings for each, etc. If you plan to keep the server on a regular basis, then it is imperative that you set a list of maps on the server. This paragraph will specify working examples that you can use in your configuration file for the server.
+
+Change gamemode to DM with its inherent settings, notify the players about it, as well as set the map directly:
+
+       @pre
+       alias dm "g_gamemode dm;g_warmup_time 16;g_maxlives 0;g_dm_keys 1;g_timelimit 900;g_scorelimit 0;sv_intertime -1;centerprint 100 GAMEMODE: DM;nextmap PrikolSoft.wad MAP01;event onmapend call cmap02;bot_removeall"
+       @endpre
+
+Change gamemode to coop (with the ability to pass bullets through players)::
+
+       @pre
+       alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 0;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
+       @endpre
+
+Change gamemode to coop (classic):
+
+       @pre
+       alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 1;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
+       @endpre
+
+Change gamemode to survival:
+
+       @pre
+       alias survival "g_gamemode coop;g_warmup_time 60;g_maxlives 1;g_dm_keys 1;g_timelimit 0;g_scorelimit 0;g_friendly_hit_trace 0;g_weaponstay 1;g_friendlyfire 0;sv_intertime 30;centerprint 100 GAMEMODE: Survival;call coop01;bot_removeall"
+       @endpre
+
+By the same example, you can set and batch switching of parameters during the game, just list in the alias needed to change the parameters.
+
+Set a list of maps that will be used on the server (it must be looped!):
+
+       @pre
+       alias cmap01 "event onmapstart nextmap PrikolSoft.wad MAP01;       event onmapend call cmap02"
+       alias cmap02 "event onmapstart nextmap SurMP.wad MAP01;       event onmapend call cmap03"
+       alias cmap03 "event onmapstart nextmap PrikolSoft.wad MAP01;     event onmapend call cmap01"
+       @endpre
+
+Set up some list of megawads (it must be looped!):
+
+       @pre
+       # Set wads
+       alias wad01 "nextmap megawads/doom2d.wad MAP01"
+       alias wad02 "nextmap megawads/doom2d2.wad MAP01"
+       alias wad03 "nextmap megawads/VETERAN.wad MAP01"
+       alias wad04 "nextmap megawads/Bloodworks.wad MAP01"
+
+       # Set aliases for right calling megawads
+       alias coop01 "call wad01; event onwadend call coop02"
+       alias coop02 "call wad02; event onwadend call coop03"
+       alias coop03 "call wad03; event onwadend call coop04"
+       alias coop04 "call wad04; event onwadend call coop01"
+       @endpre
+
+All aliases are invoked through commands:
+
+callvote call <alias>
+       For players
+rcon call <alias>
+       For administrator with rcon.
+
+@h1 RECOMENDATIONS
+At the moment, the use of custom configuration for servers, although preferable, also requires some additional commands to start the server correctly.
+
+@h2 General
+Between the aliases and the server configuration, set the following:
+
+       @pre
+       event oninter ""
+       event onmapend call cmap01
+       @endpre
+
+Otherwise the server will not use the map list. In place of cmap01 you can specify what you used to name the aliases with maps.
+
+@h2 Standart server (with DM or team gamemodes)
+At the very end of the configuration, write for example:
+
+       @pre
+       map PrikolSoft.wad MAP01
+       @endpre
+
+Then we start it with the command:
+
+       @pre
+       $ Doom2DF_H -map PrikolSoft.wad:\\MAP01 -gm DM -port 25667 -exec maplist_dm.txt --log-file dfserver_dm.log
+       @endpre
+       
+So the server starts up and switches the map after a while after the start, applying all the necessary parameters and running the map call alias we set at the beginning.
+
+@h2 Coop server
+For a cooperative server, you can't prescribe any map calls at the end, otherwise it will be broken and you'll have to manually switch the map on the server.
+
+The following command must be used to start it:
+
+       @pre
+       $ Doom2DF_H -map doom2d.wad:\\MAP01 -gm COOP -port 25667 -exec coop_list.txt --log-file dfserver_coop.log
+       @endpre
+
+The map you can put what you want from the beginning of the server. This will ensure that the megawads are switched correctly. Also, do not use when testing the cooperative server command endmap - it will switch you to any map in the folder, but not the next megawad map!
+
+@h1 SEE ALSO
+
+*d2df*(2)
+
+@h1 AUTHOR
+
+Written by Dmitry Lyashuk <lyashuk.voxx\@gmail.com>, Doom 2D: Forever Developers.
diff --git a/man/ru/d2df.1.txt b/man/ru/d2df.1.txt
new file mode 100644 (file)
index 0000000..89a906b
--- /dev/null
@@ -0,0 +1,90 @@
+@title Doom2DF 1 08.03.2023 1 1
+
+@h1 ИМЯ
+Doom2DF - основной файл Doom 2D Forever.@br
+Doom2DF_H - файл для выделенного сервера.
+
+@h1 СИНОПСИС
+Doom2DF [*АРГУМЕНТЫ*]... [*ОПЦИИ*]...@br
+Doom2DF_H [*АРГУМЕНТЫ*]... [*ОПЦИИ*]...
+
+
+@h1 ОПИСАНИЕ
+Doom 2D Forever это платформер на основе классического Doom с поддержкой сетевой игры. Это современный порт выпущенной в 1996-м году игы Doom 2D от Prikol Software.@br
+Примечание: документация для игры ещё не окончена и может содержать неактуальную информацию.
+
+
+@h2 АРГУМЕНТЫ
+-map WADFILE:\\MAPnn
+       Указать файл вада и номер карты для текущей игровой сессии.@br
+       Все карты для Doom 2D Forever должны быть запакованы в .wad (несовместимы с вадами для Doom) или .dfz переименованный zip) архив.@br
+       Большинство карт в вадах/зипах имеют наименование MAPnn, где nn - нумерация от 01, но бывают исключения, которые можно посмотреть в самой игре через пункт выбора карты в "Своя игра".
+
+-gm NAME [`DM`|`TDM`|`CTF`|`COOP`]
+       Указать режим игры для текущей игровой сессии. Без указания запустится в режиме DM.
+
+-port PORTNUMBER [`25667`]
+       Указать используемый порт при запуске сервера. Стандартный это 25667.
+
+-exec FILENAME.txt
+       Указать стороннюю конфигурацию для текущей игровой сессии. Неплохая идея использовать их в качестве маплиста.
+
+-connect IP:PORT
+       Незамедлительно подключиться к серверу при запуске игры.
+
+-lims nnn
+       Указать лимит очков (если это DM/TDM/CTF и производные) для текущей игровой сессии.
+
+-lives nnn
+       Указать лимит жизней для запуска режима Survival/LMS/TLMS.
+
+-limt nnnn
+       Указать лимит времени для текущей игровой сессии.
+
+
+@h1 ОПЦИИ
+--log-file FILENAME.log
+       Записывать лог с другим наименованием.
+
+
+@h1 ПРИМЕРЫ
+Команда запуска выделенного сервера в режиме DeatMatch, с кастомным маплистом и логом.
+
+       @pre
+       $ Doom2DF_H -map PrikolSoft.wad:\\MAP01 -gm DM -port 25667 -exec maplist_dm.txt --log-file dfserver_dm.log
+       @endpre
+
+
+@h1 DIRECTORIES
+По-умолчанию, игра проверяет целиком весь ваш диск на предмет наличия ресурсов (на данный момент этого не умеет редактор), но так же имеет и жёстко заданные директории поиска:
+
+~/.doom2df
+    В вашей домашней директории.
+
+/usr/share/doom2df
+    или в системной директории.
+
+@h1 ССЫЛКИ
+Наш сайт:@br
+https://doom2d.org
+
+Наш форум:@br
+https://doom2d.org/forum/index.php
+
+Наш IRC чат:@br
+irc.wenet.ru:6677 #doom2d
+
+Telegram:@br
+https://t.me/doom2d_channel - Канал@br
+https://t.me/doom2d - Чат
+
+Наш Discord-сервер:@br
+https://discord.gg/sGpJwMy
+
+@h1 ТАК ЖЕ ПОСМОТРИТЕ
+
+*d2df*(2), *d2df*(3)
+
+@h1 АВТОР
+
+Написан Дмитрием Ляшуком <lyashuk.voxx\@gmail.com>, разработчиками Doom 2D: Forever.
diff --git a/man/ru/d2df.2.txt b/man/ru/d2df.2.txt
new file mode 100644 (file)
index 0000000..ce4bdd2
--- /dev/null
@@ -0,0 +1,272 @@
+@title Doom2DF 2 08.03.2023 2 2
+
+@h1 ИМЯ
+Консольные команды Doom 2D Forever.
+
+
+@h1 СОДЕРЖАНИЕ
+
+1. Системные команды
+
+2. Бинды
+
+3. Консольные команды
+
+4. Дебаг-команды
+
+5. Игровые команды
+
+6. Читы
+
+
+@h1 1. Системные команды
+
+quit, exit
+    Выйти из игры.
+r_reset
+    Перезапустить графический рендер.
+r_maxfps <число>
+    Ограничение количества кадров в секунду
+g_language Russian/English
+    Установить язык игры.
+
+
+@h1 2. Бинды
+
+bind <клавиша> <команда>
+    Забиндить определённую клавишу за определённой командой.
+bindrep <клавиша> <команда>
+    (?)
+bindunrep <клавиша> <команда>
+    (?)
+bindlist
+    Список биндов.
+unbind <клавиша>
+    Снять бинд с клавиши.
+unbindall
+    Снять бинды со всех клавиш (не рекомендуется использовать).
+togglemenu
+    Показать или скрыть главное меню/игровое меню.
+toggleconsole
+    Показать или скрыть консоль.
+togglechat
+    Показать или скрыть чат.
+toggleteamchat
+    Показать или скрыть командный чат.
+
+@h2 Для устройств с сенсорным экраном
+showkeyboard
+    Показать системную клавиатуру.
+hidekeyboard
+    Скрыть системную клавиатуру.
+
+
+@h1 3. Консольные команды
+clear
+    Очистить консольное окно.
+clearhistory
+    Очистить историю использованных команд.
+showhistory
+    Показать историю использованных команд.
+commands
+    Вывести список команд.
+time
+    Показать текущее время.
+date
+    Показать текущую дату.
+echo ""
+    Вывести в консоли напечатанные символы.
+dump
+    Снять дамп.
+exec <имя>
+    Запустить кастомный конфиг.
+writeconfig <имя>
+    Записать в конфиг.
+alias <имя> "<команды>"
+    Установить за определённым именем последовательность выполняемых команд.
+call
+    Вызвать установленный алиас.
+ver, version
+    Показать версию
+
+
+@h1 4. Дебаг-команды
+
+d_window
+    Вывести разрешение окна.
+d_sounds 1/0
+    Отладка звуков.
+d_frames 1/0
+    Показать хитбоксы предметов, энтити.
+d_winmsg 1/0
+    (?)
+d_monoff 1/0
+    Переключить работу ИИ монстров.
+d_botoff 3/2/1/0
+    Переключить работу ИИ ботов.
+d_health 1/0
+    Переключить отображение ХП в числовом виде.
+d_player 1/0
+    Переключить отображение координат игрока.
+d_joy 1/0
+    (?)
+d_mem 1/0
+    Переключить отображение состояния heap.
+
+@h2 Монстры
+d_monster <ID или имя> <поведение>
+    Вызвать определённого монстра с определённым поведением. Если поведение не задано, то устанавливается поведение по-умолчанию (normal).
+
+ID:
+    1 - Пинки
+    2 - Имп
+    3 - Зомби
+    4 - Зомби с дробовиком
+    5 - Кибердемон
+    6 - Пулемётчик
+    7 - Розовый козёл (Барон Ада)
+    8 - Коричневый козёл (Рыцарь Ада)
+    9 - Какодемон
+    10 - Череп
+    11 - Авиабаза (Элементаль боли)
+    12 - Большой механический паук (Мастермайнд)
+    13 - Маленький механический паук (Арахнотрон)
+    14 - Толстяк (Манкубус)
+    15 - Ревенант
+    16 - Арчвайл
+    17 - Пиранья
+    18 - Бочка
+    19 - Робот
+    20 - Приколист
+
+Поведение:
+    0 - killer
+    1 - maniac
+    2 - insane
+    3 - cannibal, нападает как на игрока, так и на монстров
+    4 - good, дружелюбен к игроку, враждебен к монстрам
+
+@h1 5. Игровые команды
+
+pause
+    Поставить игру на паузу.
+endgame
+    Закончить игру (отправляет в главное меню).
+restart
+    Перезапустить карту.
+addbot, bot_add
+    Добавить бота.
+bot_addlist <имя>
+    Добавить бота из списка. Если имя не указано, добавляет рандомного бота.
+bot_addred
+    Добавить бота за красную команду.
+bot_addblue
+    Добавить бота за синюю команду.
+bot_removeall
+    Убрать всех ботов.
+chat <текст>
+    Отправить текст в чат.
+teamchat <текст>
+    Отправить текст в командный чат.
+announce, an <текст>
+    Вывести текст посередине экрана.
+game <wad> <mapnn> <колво игроков>
+    Запустить игру на определённой карте с определённым количеством игроков (от одного до двух).
+host <ip> <port> <wad> <mapnn> <колво игроков>
+    Захостить игру по определённому адресу, с определённым портом на какой-то карте с каким-то количеством игроков.
+map <wad> <mapnn>
+    Выставить немедленно определённую карту.
+nextmap <wad> <mapnn>
+    Объявить следующей картой такую-то карту.
+endmap
+    Закончить раунд.
+goodbye
+    Закончить карту мегавада/компании.
+suicide
+    Самоубиться.
+spectate
+    Наблюдать.
+ready
+    Объявить готовность во время режима Survival и производных.
+kick <ник>
+    Кикнуть игрока с определённым ником.
+kick_id <id>
+    Кикнуть игрока с определённым id.
+kick_pid <pid>
+    Кикнуть игрока с определённым pid.
+ban <ник>
+    Забанить игрока с определённым ником.
+ban_id <id>
+    Забанить игрока с определённым id.
+ban_pid <pid>
+    Забанить игрока с определённым pid.
+permban <ник>
+    Перманентно забанить игрока с определённым ником.
+permban_id <id>
+    Перманентно забанить игрока с определённым id.
+permban_pid <pid>
+    Перманентно забанить игрока с определённым pid.
+permban_ip <ip>
+    Перманентно забанить игрока по ip.
+unban <ник или id или pid или ip>
+    Разбанить игрока.
+connect <ip или host> <порт> <пароль>
+    Подключиться к серверу.
+disconnect
+    Отключиться от сервера.
+reconnect
+    Переподключиться к серверу, на котором был в последний раз.
+say <текст>
+    Написать в чат от имени сервера.
+tell <ник> <текст>
+    Написать игроку от имени сервера.
+centerprint <время> <текст>
+    Вывести посреди экрана надпись на определённое время (в секундах). Если от игрока, то только для себя, если от сервера - то всем.
+overtime
+    Объявить дополнительное время.
+rcon_password <пароль>
+    Ввести пароль от rcon.
+rcon <команда>
+    Выполнить действие на сервере.
+callvote, vote <команда или параметр>
+    Проголосовать за исполнение команды или изменение параметра.
+clientlist
+    Вывести список подключённых клиентов.
+event <эвент> <команда или параметр>
+    Испольнить при определённом эвенте какую-нибудь команду или поменять параметр. Когда пусто, вывести список выполняемых действий при определённых эвентах.
+
+
+@h1 6. Читы
+Ввести один раз для включения, второй - для выключения.
+
+god
+    Режим бога.
+notarget
+    Монстры перестают обращать на вас внимание.
+give
+    Выдать определённый предмет (в том числе и выход).
+open
+    Открыть все двери.
+fly
+    Выдать игроку бесконечный джетпак.
+noclip
+    Отключение коллизий у стен + полёт.
+speedy
+    Увеличение скорости передвижения.
+jumpy
+    Увеличение высоты прыжка.
+noreload
+    Отключение перезарядки (кулдауна между выстрелами).
+aimline
+    Показать, куда прицеливается игрок.
+automap
+    Показать полную карту.
+
+
+@h1 СМОТРИТЕ ТАК ЖЕ
+
+*d2df*(3)
+
+@h1 АВТОР
+
+Написан Дмитрием Ляшуком <lyashuk.voxx\@gmail.com>, разработчиками Doom 2D: Forever.
diff --git a/man/ru/d2df.3.txt b/man/ru/d2df.3.txt
new file mode 100644 (file)
index 0000000..7f8ab24
--- /dev/null
@@ -0,0 +1,268 @@
+@title Doom2DF 3 08.03.2023 3 3
+
+@h1 ИМЯ
+Мануал по кастомной конфигурации для выделенного сервера Doom 2D Forever.
+
+
+@h1 СОДЕРЖАНИЕ
+
+1. Настройка сервера
+
+2. Игровые параметры
+
+3. События
+
+4. Алиасы
+
+@h1 1. Настройка сервера
+Выделенный сервер использует свой конфигурационный файл, который настраивается исключительно через текстовый редактор. Несмотря на это, недостаточно просто менять что-либо в основной игре и потом копировать это из её .cfg файла в файл сервера - в меню "Своя игра" отображаются не все настройки для сервера и некоторые переменные оттуда не изменишь. В данном пункте мы рассматриваем самые необходимые параметры, которые обязательно должны быть прописаны.
+
+
+@h2 Основные параметры
+sv_name "<ваше имя>"
+       Название сервера. В имени лучше использовать латиницу.
+
+sv_passwd "<ваш пароль>"
+       Пароль, который необходимо будет ввести перед входом на сервер.
+
+sv_port PORTNUMBER
+       Номер порта, что будет использоваться сервером, по-умолчанию рекомендуется 25667. Перезаписывается параметром -port.
+
+sv_public 1/0
+       Показывать ли сервер в списке или нет, по-умолчанию показывается.
+
+sv_maxplrs <число>
+       Максимальное число слотов для игроков. Рекомендуемое 14-16.
+
+sv_intertime <число>
+       Через сколько секунд сервер начнёт следующий раунд. Для некооперативных серверов рекомендуется выставить -1 (это установит таймер на 15 секунд).
+
+
+@h2 Администратирование
+sv_rcon 1/0
+       Включить rcon-доступ для управления сервера.
+
+sv_rcon_password
+       Пароль от rcon, указывать без пробелов и кавычек.
+
+@h2 Параметры бана
+sv_autoban_threshold <число>
+       Через сколько попыток навредить серверу игрока должно забанить (0 = выключить), по-умолчанию 5.
+sv_autoban_permanent 1/0
+       Установить перманентность бана (0 = банить на время), по-умолчанию 1.
+sv_autoban_warn 1/0
+       Предупреждать клиента о триггерах пенальти, по-умолчанию 0.
+sv_auth_timeout <число>
+       Количество миллисекунд, за которое клиент обязан закончить аутентификацию на сервере (0 = бесконечно), по-умолчанию 30.
+sv_packet_timeout <число>
+       Количество миллисекунд, которое должен простоять клиент перед киком (0 = бесконечно), по-умолчанию 60.
+
+@h2 Необязательные параметры
+sv_forwardports 1/0
+       Должен ли сервер пробивать порты самостоятельно через miniupnpc.
+sv_reliable_interval <число>
+       Задержка между пакетами с позицией объектов, посылается по reliable-каналу. Должен быть больше sv_update_interval.
+sv_update_interval <число>
+       Задержка между пакетами с позицией объектов, посылается по unreliable-каналу.
+sv_master_interval <число>
+       Через сколько секунд сервер должен напомнить о себе мастер-серверу.
+
+
+@h2 Технические параметры
+net_master_list <адрес>
+       На какой адрес мастер-сервера будут посылаться данные. Можно указывать несколько, например, mpms.doom2d.org:25665,deadsoftware.ru:25665
+rdl_ignore_enabled 1/0
+       Включить или выключить проверку хэша.
+rdl_ignore_names <имена ресурсников>
+       Имена ресурс-файлов (из папки wads без расширения), которые не должны проверяться сервером на соответствие.
+rdl_hashdb_save_enabled 1/0
+       Сохранение хэшей в базе данных на диске.
+
+@h1 2. Игровые параметры
+Игровые параметры необязательны к указанию в маплисте и служат скорее для переопределения настроек конфигурационного файла, чтобы не менять лишний раз значения в нём. Для включения необходимо выставить 1, для выключения - 0, если не указано обратное!
+
+g_gamemode dm/tdm/ctf/coop
+       Какой режим будет установлен на сервере.
+
+@h2 Боты
+g_max_bots <число>
+       Максимальное количество ботов, что можно вызвать.
+g_bot_vsmonsters 1/0
+       Должны ли боты сражаться с монстрами.
+g_bot_vsplayers 1/0
+       Должны ли боты сражаться с игроками
+
+
+@h2 Настройки лимитов
+g_scorelimit <число>
+       Сколько очков необходимо для окончания раунда (0 = бесконечно).
+g_timelimit <число>
+       Лимит времени, после которого раунд заканчивается (0 = бесконечно).
+g_maxlives <число>
+       Число жизней игрока, включает режимы Survival, LMS, TLMS.
+
+
+@h2 Время
+g_item_respawn_time <число>
+       Через какое время (в секундах) должны появляться предметы, по-умолчанию 60.
+g_warmup_time <число>
+       Таймер предподготовки для режима Survival и его производных, в секундах.
+
+
+@h2 Спаун предметов
+g_spawn_invul 1/0
+       Включить или выключить спаун сферы неуязвимости.
+g_weaponstay 1/0
+       Оставлять ли оружие после подбора игроком.
+
+
+@h2 Разрешения
+g_allow_dropflag 1/0
+       Разрешить или запретить выбрасывание флага в режиме CTF.
+g_throw_flag 1/0
+       Как выбрасывать флаг, 1 - с ускорением, 0 - под игроком.
+g_allow_exit 1/0
+       Включить или выключить возможность выхода. Для правильной работы кооператива необходимо выставить 1.
+g_allow_monsters 1/0
+       Разрешить или запретить спаун монстров.
+
+
+@h2 Статистика
+g_save_stats 1/0
+       Сохранять ли статистику раунда, по-умолчанию 0. Сохраняется в виде csv-таблицы.
+g_screenshot_stats 1/0
+       Сохранять ли скриншот таблицы в конце раунда, по-умолчанию 0.
+
+
+@h2 Настройки "Огня по своим"
+g_friendlyfire 1/0
+       Включить или выключить огонь по своим.
+g_friendly_hit_trace 1/0
+       Включить или выключить прохождение хитскана (пули) через своих сокомандников.
+g_friendly_hit_projectile 1/0
+       Включить или выключить прохождение прожекттайлов (ракеты, снаряды БФГ или плазмы) через своих сокомандников.
+g_friendly_absorb_damage 1/0
+       Включить или выключить поглощение части урона при прохождении пуль или снарядов через сокомандников.
+Примечание: для кооператива меняются значения цифр (1 - выключить, 0 - включить).
+
+@h1 3. События
+Для контролирования определённых событий на сервере существует команда event, через которую можно относительно гибко настраивать поведение сервера в определённых ситуациях. Необходимость использования команды event напрямую связана с правильным запуском сервера и списками карт.@br
+Сама команда поддерживает следующие типы событий:
+
+onmapstart
+       Выполнять заданные команды при старте следующей карты.
+onmapend
+       Выполнять заданные команды в конце карты.
+oninter
+       Выполнять заданые команды в конце раунда (когда появляется таблица очков).
+onwadend
+       Выполнять заданные команды в конце мегавада/компании (после прохождения последнего уровня).
+
+Примечание: параметры могут работать не так, как ожидается, поэтому рекомендуется использовать примеры ниже для гарантированной работы алиасов.
+
+@h1 4. Алиасы
+После определения всех параметров, необходимо настроить уже непосредственно алиасы. Через них задаются списки карт, переключение нескольких параметров одновременно, реализация нескольких режимов на сервере с правильными для каждого настройками и так далее. Если вы планируете держать сервер на постоянной основе, то вам крайне необходимо задавать список карт, который будет крутиться на сервере. В данном пункте будут указаны рабочие примеры, которые можно будет использовать в своём конфигурационном файле для сервера.
+
+Меняем игровой режим на DM с присущими ему настройками, уведомляем об этом игроков, а так же задаём карту напрямую:
+
+       @pre
+       alias dm "g_gamemode dm;g_warmup_time 16;g_maxlives 0;g_dm_keys 1;g_timelimit 900;g_scorelimit 0;sv_intertime -1;centerprint 100 GAMEMODE: DM;nextmap PrikolSoft.wad MAP01;event onmapend call cmap02;bot_removeall"
+       @endpre
+
+Устанавливаем режим кооператива (с возможностью прохождения пуль сквозь игроков):
+
+       @pre
+       alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 0;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
+       @endpre
+
+Устанавливаем режим кооператива (классический):
+
+       @pre
+       alias coop "g_gamemode coop;g_maxlives 0;g_dm_keys 0;g_timelimit 0;g_scorelimit 0;sv_intertime 30;g_friendly_hit_trace 1;centerprint 100 GAMEMODE: Cooperative;call coop01;bot_removeall"
+       @endpre
+
+Устанавливаем режим выживания:
+
+       @pre
+       alias survival "g_gamemode coop;g_warmup_time 60;g_maxlives 1;g_dm_keys 1;g_timelimit 0;g_scorelimit 0;g_friendly_hit_trace 0;g_weaponstay 1;g_friendlyfire 0;sv_intertime 30;centerprint 100 GAMEMODE: Survival;call coop01;bot_removeall"
+       @endpre
+
+По такому же примеру можно устанавливать и пакетное переключение параметров во время игры, просто перечисляем в алиасе необходимые к изменению параметры.
+
+Устанавливаем некий список карт, который будет использоваться на сервере (он обязательно должен быть зациклен!):
+
+       @pre
+       alias cmap01 "event onmapstart nextmap PrikolSoft.wad MAP01;       event onmapend call cmap02"
+       alias cmap02 "event onmapstart nextmap SurMP.wad MAP01;       event onmapend call cmap03"
+       alias cmap03 "event onmapstart nextmap PrikolSoft.wad MAP01;     event onmapend call cmap01"
+       @endpre
+
+Устанавливаем некий список мегавадов (он обязательно должен быть зациклен!)
+
+       @pre
+       # Задаём мегавады
+       alias wad01 "nextmap megawads/doom2d.wad MAP01"
+       alias wad02 "nextmap megawads/doom2d2.wad MAP01"
+       alias wad03 "nextmap megawads/VETERAN.wad MAP01"
+       alias wad04 "nextmap megawads/Bloodworks.wad MAP01"
+
+       # Для правильного переключения, выставляем отдельные алиасы
+       alias coop01 "call wad01; event onwadend call coop02"
+       alias coop02 "call wad02; event onwadend call coop03"
+       alias coop03 "call wad03; event onwadend call coop04"
+       alias coop04 "call wad04; event onwadend call coop01"
+       @endpre
+
+Все алиасы вызываются через команды:
+
+callvote call <алиас>
+       Для игроков
+rcon call <алиас>
+       Для администратора через rcon.
+
+@h1 РЕКОМЕНДАЦИИ
+На данный момент использование кастомной конфигурации для серверов пусть и предпочтительно, но так же требует некоторых дополнительных команд для правильного запуска сервера.
+
+@h2 Общий момент
+Между алиасами и конфигурацией сервера выставьте следующее:
+
+       @pre
+       event oninter ""
+       event onmapend call cmap01
+       @endpre
+
+В противном случае сервер не будет использовать список карт. На месте cmap01 можно указать то, что использовали вы для названия алиасов с картами.
+
+@h2 Стандартный сервер (с режимом DM или командными режимами на старте)
+Допустим, вы собираетесь запускать дм-сервер. В самый конец конфигурации пропишите, например:
+
+       @pre
+       map PrikolSoft.wad MAP01
+       @endpre
+
+Затем запускаем при помощи команды:
+
+       @pre
+       $ Doom2DF_H -map PrikolSoft.wad:\\MAP01 -gm DM -port 25667 -exec maplist_dm.txt --log-file dfserver_dm.log
+       @endpre
+
+Так сервер запускается и через некоторое время переключает карту после старта, применяя все необходимые параметры и запуская нами установленный в начале алиас вызова карты.
+
+@h2 Кооперативный сервер
+Для кооперативного сервера нельзя прописывать в конце никаких вызовов карт, иначе оно будет сломано и вам придётся вручную переключать карту на сервере. Вызов алиаса в начале необходимо устанавливать соответствующий.
+
+Для запуска необходимо использовать следующую команду:
+
+       @pre
+       $ Doom2DF_H -map doom2d.wad:\\MAP01 -gm COOP -port 25667 -exec coop_list.txt --log-file dfserver_coop.log
+       @endpre
+
+Карту можете подставить какую вы хотите с самого начала сервера. Это обеспечит правильное переключение мегавадов. Так же не стоит использовать при тестировании кооперативного сервера команду endmap - она переключит вас на любую карту из папки, но не на следующую карту вада!
+
+@h1 СМОТРИТЕ ТАК ЖЕ
+
+*d2df*(2)
+
+@h1 АВТОР
+
+Написан Дмитрием Ляшуком <lyashuk.voxx\@gmail.com>, разработчиками Doom 2D: Forever.