i hope to teach you how to install and play windows gog games via steam on linux using proton.
download your ethically sourced gog game installer.
open up steam and click add game on the bottom left of the window.
add a non steam game. click browse and navigate to your installer directory.
click the installer and hit open
click add selected program.
right click the installer program you just added and go to properties.
under compatibility, check force, and select your flavor of proton. on nobara we are using proton-ge.
click the installer from the list and hit play.
this will run the gog installer.
before slapping install, go ahead and hit options
you’ll want to change the install directory to something on the linux side of things. you may see C:, but you should navigate to another listed directory that contains your home directory. i like to create a games folder inside my home directory. once satisfied, hit install. it’ll do its thing.
upon completion though, DO NOT HIT LAUNCH. instead make sure you exit.
you will now want to go through the process of adding a non steam game, browsing, and selecting the main exe for the install you just completed.
validate your directory and game exe, then open and add.
again, right click the game in the steam list and enter its properties. enter compatibility and do the same as before. force specific compat, and elect your flavor of proton.
now you can click the game in the list and hit play.
gg it works.
You can now right click and remove the gog install .exe from part one from your steam uncategorized list. then you can go to your directory and remove the installer files should you choose to do so. this process works with fitgirl and dodi as well.
Name your VM. It is up to you as to whether or not you want it to automatically start at boot of your Proxmox server. 100% personal preference. I only elect this option for high priority VMs.
we’re going to load up the virtio drivers package.
click browse
navigate to that virtio-win image we loaded.
vioscsi, w10, amd64
verify vioscsi.inf and next
wee. it sees our disk now. next.
netkvm, w10, amd64
verify netkvm.inf and next
balloon, w10, amd64
verify balloon.inf and next
go time
let windows install
personal use
offline account
limited experience
enter a name, but skip password by just hitting enter. we’ll fix this later.
not now
turn all this shit off
skip
not now.
alright we’re in.
once done, you’re pretty much good to go. make a template or venture forth. you got a damn clean win 10 install. i like to install firefox and snag ublock origin before i create the template.
“bro, talk about obscure. Will document a no nonsense, fully detailed process. Will build both interlude and high five servers and upload them to archive. Will include links and personal reups to both clients. Will include l2dat editor and custom l2.exe” – void
authors note – emulation isn’t always easy. gatekeeping is also a dick move. i’m going to try and give you the tools and information to be successful.
what you need –
Eclipse IDE for Java. It sucks but that’s what is used.
Eclipse – the sole purpose is to clone the project GIT master, and to build the servers. You could go and look for a reputable source to provide the already compiled… but you also risk malware and what not.
XAMMP – simply put, you don’t technically. You could just as well go and install / manage MYSQL by yourself. You could use any SQL DB I believe. MariaDB should work just as well standalone. What XAMMP does is streamline the whole fuckery for newbies.
Liberica JDK 24 – you need JDK 24, this project was built around JDK 24. I don’t know if you specifically need Liberica. You should try to go with OpenJDK or straight up Oracle JDK 24. YMMV. Just grab this one.
assumptions
this how to assumes you are running this the server off your primary machine. i will add a note towards the end if you are doing all the bits on a VM or server, and you need to point your client in that direction (networking).
windows search environment, and enter the Edit the system environment variables menu
Click Environment Variables
Verify that JAVA_HOME is set to the Liberica JDK 24 directory.
Install XAMMP
Basic install. Default everything. Don’t start control panel at the end.
At this point you are ready to unpack Eclipse. This part sort of sucks.
Unzip it, then open eclipse.exe
– Click on the top menu item “Window”. – Select “Show View”. – Click on “Other…”. – From the folder “Git” select “Git Repositories”.
Checking out the project. – From the “Git Repositories” window click “Clone a Git repository”. – Type at URI: https://gitlab.com/MobiusDevelopment/L2J_Mobius.git – Click “Next >” button. Click “Next >” button. – Type at Directory: C:\eclipse\workspace\L2J_Mobius – Click the “Finish” button. – Wait for cloning to complete. – From the “Git Repositories” window double click “L2J_Mobius [master]”. – Double click “Working Tree”. – Right click on any project. – Click “Import Projects…”. – Click the “Finish” button.
*If you have a “JRE System Library [JavaSE-24]’ in project” warnings. Add JDK 24 from menu Window -> Preferences -> Java -> Installed JREs.
5. Compile the project. – From the “Package Explorer” expand the project tree to see “build.xml”. – Right click “build.xml”. – Select “Run as..”. – Click on “1 Ant Build”. – Wait for the “BUILD SUCCESSFUL” console message. – Go to C:\eclipse\workspace\L2J_Mobius\build folder to get your L2J_Mobius.zip file.
Install MySQL service
Go to your XAMMP folder. Run xampp-control as administrator. Click on the “X” button next to MySQL to install the service. Click “Yes”. Use the “Start” button to start the service.
It says stop in the image above where it used to say start. Just pay attention. Don’t stop it after its been started.
Unpack your build. Once complete, your working directory should look like this –
Now, we install the database
Go to “db_installer” folder. Open “DatabaseInstaller.vbs”
Test Connection should yield success.
Install Database. This takes a bit.
Go to “login” folder, then to the “config” folder.
Edit LoginServer.cfg
Change this line to an asterisk *
Save and exit.
Go up to the “login” folder Run “LoginServer.vbs”.
Go to “game” folder. Run “GameServer.vbs”.
Inside the “login” folder, run AccountManager.vbs
Account Manager
Set up your own credentials as you see fit.
Inside of the “login” folder exists the GameServerRegister.vbs file
Game Server Register
This application allows you to choose your server of broadcast. By default it is set to 2, Sieghardt. This is flavor text basically.
Client Setup
Unpack your L2 Interlude Client
Rename the original L2.exe to L2.bin
Unpack the custom L2.exe.
Edit your client connection IP with L2ClientDat.bat
Unpack L2ClientDat_20250501.zip
Run L2ClientDat.bat
Choose your Client version, click open and navigate to the system folder.
C:\L2 Interlude\system or something of the sorts.
Inside that directory, pick l2.ini and hit file select.
You want to scroll to the section at the top where the ServerAddr value is. Either make this 127.0.0.1 if you’re running the server on your local machine, or whatever your LAN server address is.
Save DAT and exit.
Final Step –
Run L2.exe, hit yes if asked.
Log in with the credentials you created. If you get the terms and conditions, you’re doing good. Click accept and you should see your server, up, light traffic, and low ping. Anything outside of that is bad and you’ll have to retrace your steps.
Last post I was yapping about emulation on a daily driver PC. What did I mean by that?
Well you remember back in the day when we used to have consoles? Wouldn’t it be dope to have all those consoles again? What if they all existed in the same machine? You smoking what I’m growing? Don’t daily drive this bird. Have it be a dedicated machine just for this purpose. But before we get there, we need to think about front ends, loading and unloading ROMs, maybe a little bit of content scraping? Eh? Videos, screenshots, manuals and the such?
Retroarch doesn’t solve that completely, but it sure gets you on your way.
This tutorial will be for Windows, with a Linux one later on. Mac lol.
Extract it into its working directory and run the .exe
Sick. Now that it’s running we can do stuff.
Retroarch is built around Cores. Think of these as in house emulators. You need a Core for each system you’re trying to emulate. Some Cores can do more than one system.
In Main Menu, navigate to Online Updater
Then Core Downloader
That’ll update a list of all the in-house Cores available. For this tutorial we’ll set up Snes9X. Go down the list and elect the one shown highlighted below. All the Cores are different and they all do things the same, or different, or better, or worse. That’s up to you to dig into.
Once it’s installed, you’ll have a cute ampersand next to it.
That’s it. The core is installed. Now reference those ethically sourced ROMs and drop one in a directory somewhere
I’m making a sub-directory called /roms in the main retroarch directory
Inside said directory, I’ll create one for the system I’m emulating. Keep things organized and such.
In Retroarch, from the Main Menu select Import Content
Scan a directory
Then navigate to your newly created SNES directory, or whatever your chose. Once inside it, elect <Scan This Directory>
It’ll take as long as it takes depending on the amount of files.
Back out all the way to the main menu. You can now select Playlists. At the bottom, you should see an automatically generated one for the system game type detected.
Once inside, you can click the game and have a good time.
It looks hella boring though, and we could spruce it up a bit more. Back on the Main Menu, go to the Online Updater
From there elect Playlist Thumbnails Updater
And then the console you wish to update content for. In our case, SNES.
Once complete, navigate back to your playlist. It should have a little more soul.
Now, you’re more than welcome to stop here, use Retroarch for all your gaming needs. It’s more than capable of adding overlays, shaders, running fullscreen, doing hotkeys for exiting and whatnot. But in another tutorial, I’ll introduce you to the world of emulation front-ends.
Things to do now in Retroarch – review hotkeys, controls, bindings, shaders, and overlays. Most of this you can figure out on your own. But if you have any questions, feel free to ask.
check out jimmys video here for an explanation. it is technically the ps1. but also so was this –
whatever. anyways on to how to do the thing.
for desktop use
if you’re going to be emulating on a daily driver pc and you’ll be launching and managing your interactions with mouse and keyboard, it couldn’t be easier.
choose an emulator
duckstation is by far one of the best psx emulators there is.
download and extract it –
enter the extracted directory and create a folder called bios
you’re gonna dump the bios files in the bios folder used by duckstation. fully extract them to just .bin files
now open up duckstation exe and edit the bios settings
change the path to whatever your bios path is
when you click on auto-detect you should see shit pop up. leave this on auto-detect. you gucci now.
loading roms
ethically source your roms lol. https://vimm.net/ does a great job archiving european games. cdromance is dead. i don’t have any lol.
for this tutorial i have created a /roms directory inside my duckstation directory
you can go to settings > game list and add said directory should you choose do to do
it’ll scan and populate the main screen.
that’s it. feel free to explore graphics settings, fast boot vs slow boot, shaders and shit on your own.
tips
convert your roms to chd.
on windows, go grab the archive for namDHC_v113.zip here . extract that into the same directory as the roms you want to convert. in my case i have two files
run namDHC.exe and add the .cue into the list, then create chd. this app can also do batch jobs. once complete, rejoice in the compression and archival to a single file. you can now delete the .bin and .cue files.