Since the time that this guide was first written, versions of Wine higher than 4.6 have been released, and they do not work with JoblessMS. As far as I know, using Wine 4.6 (or perhaps “stable” Wine 4.0.x, although I haven’t tried it) is your best bet.
In order to conveniently use old versions of Wine like this that aren’t provided by your package manager, I recommend using Lutris (Lutris is Linux only, so if you aren’t on Linux you may use other options like e.g. PlayOnMac). If using a Wine front-end like Lutris/PlayOnMac/PlayOnLinux/&c., you can follow steps 1 through 6 normally, but steps 7 and 8 will look different since you will be using the front-end instead.
Wine stands for Wine Is Not an Emulator. It’s a free-software compatibility layer for Windows NT programs that allows you to run them on Unix-like operating systems like GNU/Linux, macOS, &c.
-
Make sure you’ve installed Wine via your package manager, and make sure that it’s the latest version you can get (and a staging version at that, if possible). On Ubuntu, for example, there is an official PPA maintained by the fine folks at WineHQ that you can use. On Arch Linux, you can do
sudo pacman -S wine-staging
. I’m not sure exactly how installation works on macOS but you can probably do it through homebrew, and this page has some details. Also make sure that you install the Wine Mono package offered, if there is one (e.g. on Arch Linux,sudo pacman -S wine-mono
). -
Create a wineprefix for JoblessMS (I’ll be using
~/.jlms
as the wineprefix directory, but you can use any directory that you want to create), like so (all commands in this guide will assume that your shell is bash, but obviously most of this will look similar even if you use a different shell):export WINEPREFIX=~/.jlms export WINEARCH=win32 winecfg
-
The above commands will create the prefix and also start up winecfg. If in the process of creating the prefix you get asked if you want to install Mono and/or Gecko, say yes. In winecfg, ensure that the operating system is set to “Windows 7”. Then you can close winecfg.
-
Set up the required client stuff that you downloaded from here (get the Windows/“Full” client, not the macOS client), putting the extracted contents somewhere in
$WINEPREFIX/drive_c
, e.g.$WINEPREFIX/drive_c/JoblessMS
. Also make sure that you put theJoblessWindowed.exe
client in there as well so that you can start the game in windowed mode. Assuming that you downloaded both required files (JoblessMS\ Client.rar
andJoblessWindowed.exe
) into your~/Downloads
directory, and assuming that you have a command for extracting “RAR” archives which we’ll call$UNRAR_COMMAND
:cd ~/Downloads $UNRAR_COMMAND JoblessMS\ Client.rar mv JoblessMS\ Client/ $WINEPREFIX/drive_c/JoblessMS/ mv JoblessWindowed.exe $WINEPREFIX/drive_c/JoblessMS/
-
You now need to get copies of
ws2_32.dll
andws2help.dll
, which can be downloaded from these two links, respectively: https://www.mediafire.com/file/bvt20olayvfbgw7/ws2_32.dll and https://www.mediafire.com/file/7c9tee7fhvebopc/ws2help.dll. -
Copy the two
ws2*.dll
s you’ve downloaded into your wineprefix’ssystem32
directory (viz.cp ws2*.dll $WINEPREFIX/drive_c/windows/system32/
). -
cd
into the directory that you have the game installed, and run the client binary with Wine:cd $WINEPREFIX/drive_c/JoblessMS wine JoblessWindowed.exe
-
[Optional] You may want to alias a command that will launch the game for you with the appropriate environment variables so that it’s easier to launch. I have something looking like this in my
~/.bashrc
that will launch the game and completely detach it from the terminal whenever I use the commandjl
:alias jl="cd ~/.jlms/drive_c/JoblessMS && WINEPREFIX=~/.jlms WINEDEBUG=-all wine JoblessWindowed.exe &>/dev/null & disown"
The JoblessMS client isn’t modified as some Maplestory private server
clients are to allow multiclienting. You can, however, easily get around this
by doing steps 2, 3, and 6 with a new wineprefix (e.g.
export WINEPREFIX=~/.jlms2
) and then launching the game from within your
already existing installation, the only thing different being the value of the
WINEPREFIX
environment variable.
This is just a quirk of running Maplestory through Wine. The workaround that I use is binding my basic attack key to a non-compositional key, like X.
I can’t hear any sound coming from the game, and/or when the game is running, all other audio from other applications doesn’t work
I’ve never had this problem with any other Maplestory client other than the JoblessMS one. I’m not sure which library is the culprit of this bug (FAudio?), but having more up-to-date libraries will fix this bug. If you are on an LTS distribution (or what have you) such that you do have this bug, there are two possible solutions:
- Lutris (not sure about other front-ends) has options to “Disable Lutris Runtime” and to “Prefer system libraries”; by default, these two options are off, and Lutris will effectively inject up-to-date versions of the relevant libraries into that particular game when it launches. This will fix the bug, so simply keeping these options off (again, they are off by default anyways) should do the trick.
- The “workaround” that I used to use is to make sure that I’m playing music before I launch the game so that I don’t accidentally mute my entire desktop session and get forced to restart the client. This means living with no game sound whatsoever.