Con JK2MV vamos a poder disfrutar desde GNU+Linux del juego «Jedi Knight II: Jedi Outcast». En este post vamos a intentar indicar las formas en las que puedes instalar tanto el juego como el servidor.
Website: jk2mv.org
Repo Git: github.com/mvdevs/jk2mv
Client side – Instalar desde un paquete deb
# apt install cabextract innoextract wget xfonts-utils
$ wget -q "https://github.com/mvdevs/jk2mv/releases/download/1.4.1/jk2mv-v1.4.1-linux-amd64.deb" -O jk2mv-v1.4.1-linux-amd64.deb
# dpkg -i /tmp/jk2mv-v1.4.1-linux-amd64.deb
$ wget "http://fanta.56k.es/00-Games/00-pc/04-first_person_shooter/2002-Star_Wars_Jedi_Knight_II-Jedi_Outcast/base.tar.gz" -O /tmp/base.tar.gz
$ cd /tmp/ ; tar xfvz base.tar.gz
# mv /tmp/base/* /usr/share/jk2mv/base/
$ jk2mvmp
Client side – Compilar JK2MV desde el código fuente
Otra opción es compilar jk2mv en vez de instalar el paquete deb. Esto puede hacerse así:
# apt install -y git debhelper devscripts libsdl2-dev libgl1-mesa-dev libopenal-dev libjpeg-dev libpng-dev zlib1g-dev libminizip-dev cmake
$ git clone --recursive https://github.com/mvdevs/jk2mv
$ cd jk2mv/
$ cmake .
$ make
# make install
Server side – El lado server de la fuerza
# apt install cabextract innoextract wget
$ wget -q "https://github.com/mvdevs/jk2mv/releases/download/1.4.1/jk2mv-v1.4.1-linux-amd64.deb" -O jk2mv-v1.4.1-linux-amd64.deb
# dpkg -i /tmp/jk2mv-v1.4.1-linux-amd64.deb
$ wget "http://fanta.56k.es/juegos/pc/first_person_shooter/2002-Star_Wars_Jedi_Knight_II-Jedi_Outcast/base.tar.gz" -O /tmp/base.tar.gz
$ cd /tmp/ ; tar xfvz base.tar.gz
# mv /tmp/base/* /usr/share/jk2mv/base/
$ jk2mvded +set fs_game base +set net_port 28070
$ jk2mvded +set fs_game base +set net_port 28070 +exec server.cfg
Si se ejecuta con server.cfg se ha de crear un archivo llamado así con por ejemplo este contenido:
//SAMPLE SERVER CONFIG//
seta sv_hostname "Esto es el nombre del server"
//This is the name of your server. Color codes work on this.
seta g_motd "Enjoy your stay and have fun!"
//This is the message you will see while your game is loading onto the server.
//Master Server Settings//
seta sv_master1 "masterjk2.ravensoft.com"
//This is the JK2 master server. Do not change this as it can result in your server not showing up on the list.
seta sv_master2 "master.ouned.de"
//This is Ouned's master server; the master that is used for when the Ravensoft master is down.
seta mv_serverversion "1.04"
//This defines what version of JK2 your server will run on. The options are 1.02, 1.03 and 1.04.
///////////////////////////////////////////
seta sv_floodprotect "1"
//Prevents people from spamming commands / talking. Not recommended to setting this to 0.
seta sv_allowdownload "0"
//Allows people to download custom files from the server to their game. The in-game downloader is very slow and can be considered "unsafe"
seta sv_maxrate "25000"
//The server's maximum rate for people's connections. 25000 is typically the max.
seta sv_minping "0"
//The minimum ping allowed for a player to be on the server.
seta sv_maxping "0"
//The maximum ping allowed for a player to be on the server. 0 = infinite
seta sv_pure "0"
//Runs the server ignoring whatever custom mods you have.
seta rconpassword ""
//This is your remote server access via in-game. To use, you type in the console /rconpassword <password> and you can adjust server settings or other servercmds. Setting this to blank will result in no rconpassword. Be sure to keep this //safe and private!
seta sv_fps "20"
//The server's FPS. 20 is the default; some people use 30. 1.02 players use 100 on CTF servers / Saber servers.
seta sv_maxclients "32"
//How many server slots. 32 is the maximum.
seta g_maxgameclients "0"
//This sets how many players are allowed to join the game at once. Lets say the max clients is 16 and there's 16 people on the server, but the maxgameclients is set to 4. That means you will have only 4 players allowed in the game and 12 people in spectator who cannot join. Effectively used in team-mode games, not letting people interrupting. Change is effective on map restart.
seta g_password ""
//Password to join the server.
seta g_allowvote "0"
//Allows players to vote in game. Keep in mind you can vote for map change, map restart, gametype change, and even vote to kick other players. Most servers don't allow voting unless it's a TFFA server which is used for people to vote for restart, and usually is not abused by random people.
//HEALTH & SHIELDS//
seta disable_item_shield_lrg_instant "0"
seta disable_item_shield_sm_instant "0"
seta disable_item_medpak_instant "0"
seta disable_item_medpac "0"
seta disable_item_medpak "0"
//These are settings for disabling picking up health and shields. If set to 1, there will be no health / shields.
//////////////////////
//LOGGING//
seta logfile "1"
//Enables the use of logging the server. Setting to 0 will result in no logging.
seta g_log "games.log"
//The log output file.
////////////////////
seta fraglimit "0"
//The kill limit for the server. 0 = no kill limit.
seta timelimit "0"
//The time limit. 0 = no time limit
seta g_gametype "0"
//The game mode.
//0 = Free For All
//1 = Holocron
//2 = Jedi Master
//3 = Duel Mode
//5 = Team Free For All
//7 = Capture the Flag
//8 = Capture the Ysalimari
seta duel_fraglimit "10"
//How many kills required to win duel mode. 0 = endless
seta g_saberlocking "0"
//If set to 1, you can saberlock with people in duels. Most people set to 0.
seta g_saberlockfactor "0"
//How often you want saber locks to occur.
seta g_weapondisable "65531"
//Which weapons you want to use on the server. 65531 = Saber Only. 0 = All weapons.
seta g_duelweapondisable "65531"
//Same thing, but only for Duel Gametype.
seta g_forcepowerdisable "163837"
//Which force powers you want people to use. 163837 = Force Jump, Saber Offense, & Saber Defense only. 0 = All force powers enabled. 262143 = all force powers disabled.
seta g_dismember "100"
//Cvar that allows people to be chopped up into bits :D Although people must set it to 100 in their game for it to work, the server must have it set to 100 as well. 0 = disabled
seta g_maxforcerank "7"
//How many force points you can assign. 7 is not the actual value of force points. 7 is the maximum, however setting to 200 will give you "unlimited" force points.
seta g_forceregentime "0"
//How fast/slow your force will regain. 200 is the default; most people use 0 as it's faster.
seta g_forcerespawn "60"
//How fast it takes to respawn without clicking to respawn. This is measured in seconds. Default is 60 seconds.
seta g_spawninvulnerability "3000"
//How long you will have a bubble for when spawning. This is also measured in seconds, but a little differently. 3000 is default. 3000 = 3 seconds. 1000 = 1 second.
seta g_speed "250"
//Running speed on the server. 250 is default.
seta g_gravity "800"
//Player's gravity. 800 is default.
/////////////////////////
seta mv_httpdownloads "1"
//The auto-downloader for JK2MV. Set this to 1 if you want people to download clientsides / maps via in-game through JK2MV.
set m1 "map ffa_bespin;set nextmap vstr m2"
set m2 "map ffa_deathstar;set nextmap vstr m3"
set m3 "map ffa_ns_streets;set nextmap vstr m4"
set m4 "map ffa_yavin;set nextmap vstr m1"
vstr m1
//This is a map cycle. You can add more to the cycle as well as remove some. If you want to use only 1 map, simply remove them and have just "map ffa_bespin" or whichever map you are going to use.
//map ffa_bespin
addbot kyle s s s "^1Sample Bot"
//How to add bots through server startup. "s s s" means they will be in spectator. If you want them in game, put "5 5 0".
seta vm_game "2"
//Tells the game which library to load. If set to 2, it will load the .qvm file (this is what you want). In any case if you were running a custom mod that ran a .dll or .so, you would set this to 0.
//end
Y eso es todo amigos.
Que la fuerza esté con ustedes y con vuestro espiritu. Podeis ir en paz.
Saludos cordiales.