Ultimate Guide: How to Install OpenJDK on Debian 12

Prepare the Linux Machine.

For this Example I will be using Debian 12. You can User physical hardware, setup a VM or use a cloud VPS provider.

Set static of your VM if not done so by default

Allow Root SSH, you can choose your own adventure on this but for my install this is what I am doing.

You can SSH in at this point or depending on your setup do this by hand.

apt update
apt upgrade
apt install sudo
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat-traditional lib32gcc-s1 lib32stdc++6
curl -fsSL https://deb.nodesource.com/setup_21.x | bash - &&\ apt-get install -y nodejs
npm install gamedig -g
npm update -g
npm list -g gamedig
su - jk3server

Once the Linux is prepared we need to acquire the current files.

There are 4 Ways we will cover to get the files.

Purchase Them on GOG or Steam. These files will be updated and patched.

or

Use your own classic disks or download .ISO of the disk. If you use a disk based install you must update to version 1.1 prior to doing any of this. Orgional Update Files can be found here.

https://jkhub.org/files/file/73-jedi-academy-patch-pc/

Go though your installer of choice.

In my case I will cover stream but really any of the above should work just changing the bottom directory.

C:\Program Files (x86)\Steam\steamapps\common\Jedi Academy\GameData

You can do this on Windows, Linux, Mac but you will use an SSH/FTP program to get to your target directory in linux. There are verious other ways you could do this but for this purpose we ill be using WINSCP.

Copy the entire content of the GameData Folder to the users home folder on the linux box.

Using WINSCP I will in this case be using /home/jk3server/JA/GameData

Now you can use wget to pull these files or in my case because I am already setup to do it. Use winscp to pull down and extract them into the Game Date Directory, overwriting all the content

https://github.com/JACoders/OpenJK/releases

https://github.com/JACoders/OpenJK/releases/download/latest/OpenJK-linux-x86_64.tar.gz

https://github.com/JACoders/OpenJK/releases/download/latest/OpenJK-linux-x86_64.tar.gz

./openjkded.x86_64 +set fs_game gamedata +set dedicated 2 +exec server.cfg 

Here is something that is undermentioned & under documented

Inside the GameData folder on all OS is a folder named base. The server.cfg files must be inside the base folder .That is it. You can not manually override it’s location to save your life on any OS.

 

This Error means you have created the server.cfg file in a directory other then base.

couldn’t exec server.cfg

 

https://pastebin.com/kmMnXTiC

Here is an example of it but by all means make it from scratch. It just needs to be there.
Looks at all the documentation, plenty of help getting a config file how you like it. Just Server Admin beware you must have it in that folder. You set your rcon password there, game time, server name ect.

Login as root, or exit back to root or add a SUDO for a chmod

chmod –R 777/home/jk3server/JA
./openjkded.x86_64 +set fs_game gamedata +set dedicated 2 +exec server.cfg 

Now if we have done all this above correctly ^ it will be running but this is a dedicated server guide so lets make it a service.

sudo nano /etc/systemd/system/openjk.service
[Unit]

Description=OpenJK Server

After=network.target

[Service]

User=jk3server

Group=jk3server

ExecStart=/home/jk3server/JA/GameData/openjkded.x86_64 +set fs_game gamedata +set dedicated 2 +exec server.cfg

WorkingDirectory=/home/jk3server/JA/GameData

[Install]

WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable openjk
sudo systemctl status openjk
reboot

That is it. Now each time your Debain 12 server starts it will auto run JK3. Enjoy!

 

Scroll to Top