Daikatana

Daikatana

Not enough ratings
Basics of setting up a Daikatana server
By Dekonega and 2 collaborators
This guide describes how to configure a functional dedicated server for the Daikatana. Please note that this is not a universal guide to opening up ports in routers, configuring NAT to redirect outside traffic into specific IP and ports inside your LAN, or how to configure Windows Firewall to allow inbound and outbound traffic. Seek information about e.g. opening ports in router from the router manufacturer's documentation from their website. Microsoft's support will help you with configuring the Windows Firewall to allow traffic from required ports into your computer and away from your computer.

This guide targets people running Microsoft Windows so for example paths and command-line commands are Windows specific. However the information in this guide mostly works for the GNU/Linux users as well as for the OS X and FreeBSD users. In future there might be also instructions on how to run Daikatana as a service on UNIX-like systems.
   
Award
Favorite
Favorited
Unfavorite
Creating a server configuration file
First thing you should do is to create your own server configuration file. Open the "data" folder which is located inside your Daikatana folder. By default Steam users will find that folder from:

C:\Program Files (x86)\Steam\SteamApps\common\Daikatana\data\

Next step is to create a new empty text file that ends with the file extension .cfg. For example myserver.cfg which I'll be using in this guide as an example. Open it with your favourite text editor like Vim or Notepad.

Daikatana community has also created few predefined server configuration files you can use and customise for your needs if you want quickly start your own server. You can download them from here[www.daikatananews.net].

The configuration files that are included with the package will need to be customised before they can be used. For example .cfg-files have to be placed inside the data folder, and then the shortcuts which come with the package need to be pointed to location of your Daikatana installation.
Writing contents of the server configuration file
There's lots of stuff you can write into the server configuration file. These are just some of the basic CVARs you can set values for. If you don't set value for a CVAR Daikatana will use predefined default value for that CVAR. Daikatana follows the basic Quake 2 configuration file format.

Command
Example
Type
Description
//
//This is a Comment
String
Write a comment into the server configuration file.
hostname
set hostname "My Server"
String
Set public server name that appears in any game browser (e.g. QTracker) listing.
public
set public "1"
Boolean
Enabling public will make your server visible in public server listing on master server allowing people to join even if they don't know your IP address. If you set this to 0 people can still join to your server if they know your IP, but the server will not be visible in game browsers (e.g. QTracker).
motd
set motd "Message of the Day"
String
Message people will see every time they connect to a server.
maxclients
set maxclients "8"
integer
Define maximum number of players that can join to the server. It's not recommended that this value is higher than 32 players.
timelimit
set timelimit "30"
Integer
Define how many minutes it takes before server switches to next map automatically if the defined frag limit is not met or defined.
dm_use_skill_system
set dm_use_skill_system "1"
Boolean
Enable or disable the skill point system for the players on deathmatch server.
dm_weapons_stay
set dm_weapons_stay "1"
Boolean
When dm_weapon_stay is disabled weapons, when picked up, will disappear and after a short period of time spawn.
dm_fast_switch
set dm_fast_switch "1"
Boolean
Skips weapon switching animations and allows players to switch between weapons instantly during a multi-player match.
dm_falling_damage
set dm_falling_damage "1"
Boolean
You can choose whenever or not players take damage when they fall from a high place and hit the ground.
dm_same_map
set dm_same_map "0"
Boolean
This instructs server to ignore the map rotation and run only one map indefinitely.
dm_force_respawn
set dm_force_respawn "1"
Boolean
Do you want to force players to respawn instantly after they've been fragged? If this switch is disabled players have to push fire once before they will respawn.
dm_spawn_farthest
set dm_spawn_farthest "1"
Boolean
If this is enabled the game will try to respawn players as far from other players as possible.
dm_weap_noallow
set dm_weap_noallow "46"
Integer
Control which weapons will not appear in the maps. See "Weapon Control" chapter of this guide for more information.
rcon_password
set rcon_password "CorrectHorseBatteryStaple"
String
This is used to define the password that allows controlling the server from the client-side console while connected to the server.
maps_dm
set maps_dm "e1dm1a e1dm2a e3dm1 e4dm1"
String
Define the server map rotation queue. See "Available Maps" chapter of this guide for more information.
map
set map "e1dm2a"
String
Controls which map will be loaded first when your server starts. This should be very last command in your myserver.cfg. For the available maps see the "Available Maps" chapter of this guide.
sv_idlekick
set sv_idlekick "300"
Integer
This setting controls how many seconds pass before server will kick an idle player. Default setting is 300 seconds (5 minutes). Set this to 0 if you don't want server to ever kick anyone for idling on a server.
Example server configuration file
If you've been following the guide you should now have your own myserver.cfg configuration file that resembles something like this:

set hostname "My Daikatana Server Config" set public 1 set motd "Welcome to Daikatana" set deathmatch 1 set p_spamcount 10000000 set p_spamresetticks 3 set p_spamticks 2 set p_spamkick 0 set skill 1 set maxclients 20 set fraglimit 30 set timelimit 15 set dm_fast_switch 1 set dm_footsteps 1 set dm_shotshells 1 set dm_levellimit 0 set dm_instagib 0 set dm_weapons_stay 1 set dm_item_respawn 1 set dm_spawn_farthest 1 set dm_allow_exiting 1 set dm_same_map 0 set dm_force_respawn 0 set dm_falling_damage 0 set dm_allow_powerups 1 set dm_allow_health 1 set dm_allow_armor 1 set dm_weap_noallow 0 set dm_unlimited_ammo 0 set p_gravity 750 // rcon_password "ChangeThis" set maps_dm "e1dm1a e2dm4 e3dm1 e4dm1 e1dm2a e2dm1 e3dm4 e1dm3 e3dm5" map e1dm1a
Required ports and port redirection
By default Daikatana uses ports 27992 (both TCP and UDP traffic) and 27982 (UDP traffic only). While you can use any port you want with the Daikatana you have to remember that no matter what port you pick you'll also have to port that's 10 numbers lower than the port you picked.

For example if you open e.g. port 27999 for TCP and UDP traffic you also have to open port 27989 for UDP traffic. When launching server you can use +set port [integer] (e.g. +set port 27999) as a launch parameter to define the port server will use.
Launching a dedicated server
To launch a dedicated server you use the following parameters:

Parameter
Description
-dedicated
Will start the game in dedicated server mode instead of the graphical client. You will see a special command prompt where you can type commands for the server e.g. change map the server is currently running. You'll also be able to monitor what happens on the server.
-public
Will make the publicly visible in master servers. Gamers will be able to join the server through the use of QTracker or other game browsers.
+exec myserver.cfg
Sets the server configuration file that will be executed when server is launched.
+set port 27992
Will set the default port server will listen for connections. For more information about the required ports read "Required ports and port redirection" chapter of this guide.

Open up a Command Prompt (cmd.exe). Then go to the Daikatana's folder with e.g. (Windows users)

cd "C:\Program Files (x86)\Steam\SteamApps\common\Daikatana\"

daikatana.exe -dedicated -public +exec myserver.cfg +set port 27992

If you've installed the community patch 1.3 you could also launch pure dedicated server which has been stripped of the client code.

dk_ded.exe -dedicated -public +exec myserver.cfg +set port 27992

If you want you can create a new shortcut into the daikatana.exe (or to dk_ded.exe if you've installed community patch 1.3). If you do not define the port then the default port of 27992 will be used. In this guide the port has been set for the sake of an example.

If you want you could also make a Windows batch file like e.g. "launch_server.bat" and copy-paste following to its contents:

@ECHO OFF START dk_ded.exe -dedicated -public +exec myserver.cfg +set port 27992 EXIT
Controlling the dedicated server
In the dedicated server command prompt you have variety of commands you can use to adjust the server while its running.

Command
Example
Description
say
say Hi!
Issues chat messages to players on the server.
status
status
Displays information about the server. It'll show names of players who are currently connected to your server, their player IDs, latencies, IP addresses, and scores. Will also show name of the map they're currently playing in.
kick
kick "0"
Use kick command to kick player from the server. Use status command to find the player's userid you can to kick and then use the command like in the example.
gamemap
gamemap "e1dm1"
Switches the map that server is currently running into something else.
changelevel
changelevel "e1dm1"
Switches the map that server is currently running into something else without reinitializing the DLLs. It's useful when you have changed server's CVARs which require map restart to take an effect but you don't want them to become active when map changes.
Available maps
You'll make a map rotation list using "maps_dm", "maps_ctf, and "maps_deathtag" commands. For example writing following to the server configuration file will rotate thought several fairly popular deathmatch maps:

set maps_dm "e1dm1a e2dm4 e3dm1 e4dm1 e1dm2a e2dm1 e3dm4 e1dm3 e3dm5"

This is a list of most of the available maps that ship with the Daikatana out of the box, and some that come with the patch 1.3. Most of these maps have been intended for 8 to 16 players. There are few smaller ones like e.g. e1dm2a and e1dt1 which suit for small 4 player matches without issues. There are also few maps which are intended for large 32 player matches.

Image
ID
Style
Episode
Name
e1dm1
Deathmatch
E1
Gibbler on the Roof
e1dm1a
Deathmatch
E1
Gibbler (Original)
e1dm2
Deathmatch
E1
Storm Sector 7
e1dm2a
Deathmatch
E1
Storm Sector 7 (Original)

e1m1b
Deathmatch
E1
Marsh Part Deux
e1m3b
Deathmatch
E1
Solitary Beatings
e1dm3
Deathmatch
E1
Medieval Future
q1dm3
Deathmatch
E1
Abandoned Base
e2dm1
Deathmatch
E2
Trials of Olympus
NA
e2dm2
Deathmatch
E2
Decay of Heroes
NA
e2m2a
Deathmatch
E2
Catacomb Carnage
NA
e2dm3
Deathmatch
E2
Acropolis Arena
NA
e2dm4
Deathmatch
E2
Gladiator
NA
e2dm5
Deathmatch
E2
Circe of Death
NA
e2dm6
Deathmatch
E2
Wrath of Ares
NA
e3dm1
Deathmatch
E3
Wizard's Roost
NA
e3dm2
Deathmatch
E3
Shallow Grave
NA
e3m1c
Deathmatch
E3
Plague Poundings
NA
e3dm3
Deathmatch
E3
Forsaken Outpost
NA
e3dm4
Deathmatch
E3
Hellkeep
NA
e3dm5
Deathmatch
E3
Bloodkeep
NA
e4dm1
Deathmatch
E4
The Dojo
NA
e4dm2
Deathmatch
E4
Hard Lesson
NA
e4m5a
Deathmatch
E4
Hideout
NA
slicedm1
Deathmatch
E4
Slice N' Dice
e1ctf1
Capture the Flag
E1
CTF Gibbler
NA
e2ctf1
Capture the Flag
E2
Intolerance
NA
e2ctf2
Capture the Flag
E2
Olympus CTF
NA
e3ctf1
Capture the Flag
E3
The Place
NA
e3ctf2
Capture the Flag
E3
The Outlands
NA
e4ctf1
Capture the Flag
E4
Mirror Image
e1dt1
Deathtag
E1
Hellish Havens
Weapon control
You can disable weapons you don't want to be used in Daikatana. This is done through dm_weap_noallow [integer] command. The integer values for the weapons are listed here based on the information originally provided by DI-smover.

You add the sum of weapons you don't want to include into the match. For example if you don't want that people will use Shockwave, Eye of Zeus, Nharre's Nightmare, and Metamasers in the multi-player matches on your server you'd do following calculation:

32 + 2048 + 131072 + 8388608 = 8521760

And then add set dm_weap_noallow "8521760" into your server configuration file. If you want you can disable all the weapons except e.g. rocket launcher in E1 maps. If you don't allow any of the weapons for E2, E3, and E4 then players will only have Daikatana as their weapon in the multi-player maps that have been placed into those episodes.

Episode
Weapon
Integer Value
Episode 1
Ion Blaster
2
Episode 1
C4 Launcher
4
Episode 1
Shotcycler
8
Episode 1
Sidewinder
16
Episode 1
Shockwave
32
Episode 2
Discus
64
Episode 2
Venomous
128
Episode 2
Flare
256
Episode 2
Hammer of Hades
512
Episode 2
Poseidon's Triden
1024
Episode 2
Eye of Zeus
2048
Episode 3
Bolter
8192
Episode 3
Staff of Travos
16384
Episode 3
Ballista
32768
Episode 3
Wisp
65536
Episode 3
Nharre's Nightmare
131072
Episode 4
Glock 2020
262144
Episode 4
Slugger
524288
Episode 4
Kineticore
1048576
Episode 4
Ripgun
2097152
Episode 4
Novabeam
4194304
Episode 4
Metamaser
8388608
9 Comments
OldDog 19 Apr, 2021 @ 12:43pm 
Hey, you should add this to your server cfg if you want people to see it on qtracker
//
setmaster 65.112.87.186
map e1dm1a
//

You can add any other Master server like this

//
setmaster 65.112.87.186 master.gamespy.com master.q2servers.com etc
//
It has to be in the config before the map command otherwise it wont work.
[HCI]Mara'akate  [author] 18 Jun, 2016 @ 11:25am 
BananaJane: sv_idlekick 0. However, the default timeout is 5 minutes, not 30 seconds.
BananaJane 22 Sep, 2015 @ 8:11pm 
Is there a command to stop my own server for kicking me for being idle for 30 seconds?
Dekonega  [author] 10 Sep, 2015 @ 3:08am 
What do you mean by "using DOS"? The game doesn't run in DOS and you definitely don't use DOS to write a config. If you're refering to Windows command prompt then you don't need to use it per se but it would make stuff much easier to do.

If you'd prefer to not write your own server config you could use the in-game "create game" menu to create a listen server instead of dedicated server. That allows you to just tick some boxes and make a game that way.

But even if you did a listen server you need to open ports in your firewall(s) and forward the access to outside network if you're behind NAT. And that's the difficult part for the most people even though it's fairly simple thing to do.
BananaJane 9 Sep, 2015 @ 7:40pm 
Is there any way to do this without using DOS? I don't know how to use it
Lejionator 26 Aug, 2015 @ 11:09am 
Very great!! Thanks, I need this! :)
Daikatan 16 Mar, 2015 @ 3:49am 
You can avoid it's attack by timing jump, right?
DI-MeisterM  [author] 15 Mar, 2015 @ 2:30pm 
Nah the Hammer is fun and you need skill to use it :)
Gonna read the guide tomorrow...
PikaCommando 15 Mar, 2015 @ 2:23pm 
Nice! To everyone who's reading this, please disable the Hammer of Hades from your servers immediately. Seriously, fuck that hammer.