Linux Client

The Tibia 11 Linux client is the official game client provided by CipSoft GmbH in order to play the game on that platform. It aims to be distribution agnostic and is provided as a downloadable archive from the official website. Previous to this version it was possible to connect to the game with the Tibia 10 Linux Client, but that piece of software has since been deprecated by CipSoft GmbH. One should however note that while Tibia 11 Linux client is the official game client for that platform, it is not officially supported by CipSoft GmbH. That means they do not provide technical assistance for this client and thus technical issues and questions should be directed at the community.
As of , Linux client is similar to Windows and Mac OS clients in every aspect, as it now also has a Launcher. Thus manual client updates are no longer required and update procedure is the same on all platforms.
== Installation and launch ==
Linux client does not require any particular installation other than download of the archive from the official website. That archive then needs to extracted using a tool of your choice. The archive contains a client launcher which will take upon itself the actual download of the client and any subsequent updates.
tar xfz tibia.x64.tar.gz
That will produce an extracted folder named: tibia.x64 which will contain another folder named Tibia with the actual launcher and client files.
tibia.x64/Tibia
Finally in order to start the launcher, one needs to navigate into that folder and start the start-tibia-launcher.sh script.
cd tibia.x64/Tibia && ./start-tibia-launcher.sh
With the introduction of the Launcher, binary files from the archive can still be placed anywhere on the user's system, however the user data storage now resides in /home/<user's username>/.local/share/CipSoft GmbH/Tibia and is no longer in the same directory as the client files.
== User Settings ==
Tibia 11 Linux Client follow the same internal structure as both the Windows and Mac OS X clients, that means that:
* Client options are stored in ~/.local/share/CipSoft GmbH/Tibia/packages/Tibia/conf/clientoptions.json file.
* Minimap files are stored in ~/.local/share/CipSoft GmbH/Tibia/packages/Tibia/minimap.
* Character data is stored in per-character folders in ~/.local/share/CipSoft GmbH/Tibia/packages/Tibia/characterdata/.
=== Caveats ===
Most of the data can be safely migrated from one client to another. However it shall be noted that copy-pasting clientoptions.json entirely is not recommended, due to variations in platform specific configuration. Instead one should only transfer only specific portions of it.
== Application Entry ==
Desktop entries for applications, or .desktop files, are generally a combination of meta information resources and a shortcut of an application. These files usually reside in /usr/share/applications/ or /usr/local/share/applications/ for applications installed system-wide, or $HOME/.local/share/applications/ for user-specific applications. User entries take precedence over system entries.
However, due to the way Tibia client is installed, it does not register a desktop shortcut nor a menu entry. In fact, the client does not provide a .desktop file required for that, at all. Thankfully creating one manually is rather easy.
=== File format ===
To add a proper Tibia shortcut to your applications menu or desktop, create a textfile inside the Tibia directory called: com.tibia.client.desktop (it has to be this filename to prevent icon issues on Wayland session) and paste the following content into it (adjusting the necessary paths to suit your system).
[Desktop Entry]
# Type fo the desktop entry
Type=Application
# Version of the specification the .desktop file conforms to.
Version=1.0
# Name of the Application
Name=Tibia
GenericName=Tibia
# Application icon, only PNG and SVG formats are accepted
Icon=/path/to/client/directory/tibia.png
# Program to execute, possibly with arguments
Exec=/path/to/client/directory/Tibia
# If entry is of type Application, the working directory to run the program in.
Path=/path/to/client/directory/
# Whether the program runs in a terminal window.
Terminal=false
# Categories in which the entry should be shown in a menu
Categories=Game
# Optional: If true, the application prefers to be run on a more powerful discrete GPU if available.
# Use this if you have two graphics cards and you would like for Tibia to use the descrete one (NVIDIA, AMD) instead of integrated (Intel).
# PrefersNonDefaultGPU=true
=== Client Icon ===
By default Tibia client archive contains a tibia.ico file. However, ICO is a container format and is not accepted as a valid icon format to use for Icon entry of a .desktop file. Hence it needs to be converted first. The easiest way to do that is to use the convert tool that is provided by the imagemagick package. Once installed, one can run the following command to convert the icon file.
cd /path/to/client/directory/
convert tibia.ico tibia.png
Several images named tibia-X.png will be produced. Rename the biggest one to tibia.png and remove the rest. Check the Icon entry in your .desktop and make sure that file path matches the path of the tibia.png file and you are all set.
=== Installation of the Desktop Entry ===
==== Verification ====
As some keys have become deprecated over time, you may want to validate your desktop entries using desktop-file-validate which is part of the desktop-file-utils package which is installed by default on many distributions. To validate, run:
desktop-file-validate /path/to/client/directory/com.tibia.client.desktop
This will give you very verbose and useful warnings and error messages.
==== Installation ====
Use desktop-file-install to install desktop file into target directory.
desktop-file-install --dir=$HOME/.local/share/applications /path/to/client/directory/com.tibia.client.desktop
==== Update database of desktop entries ====
Usually, desktop entry changes are automatically picked up by desktop environments.
If this is not the case, and you want to forcefully update the desktop entries defined in $HOME/.local/share/applications, run the following command:
update-desktop-database $HOME/.local/share/applications
Once that is complete, a Tibia entry should appear in your applications menu.
== Known issues and workarounds ==
=== Wayland session not supported on Gnome ===
While trying to launch Tibia on a fresh install of Debian or other Linux distributions, you may have issues with xcb packages not being found. A quick-fix that installs everything you need to run Tibia is done using the following: 
 sudo apt install libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-cursor0 libxcb-xinerama0 libxcb-cursor-dev
 
Below are common error messages: 
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: xcb.
Aborted (core dumped)
This happens because the new Tibia client is not supported on Gnome Wayland, only on KDE Plasma (QT) Wayland session is supported.
==== Fixing "Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome" ====
# Open the terminal and edit gdm3 config file: sudo nano /etc/gdm3/custom.conf
# Disable the Wayland session by uncommenting the "WaylandEnabled=false" line by removing the "#" at the beginning
# Save and close the editor (Ctrl-O and Ctrl-X)
# Restart your computer or restart the gdm service: sudo systemctl restart gdm3
==== Fixing "Could not load the Qt platform plugin "xcb" in "" even though it was found" ====
# Open the terminal and install the missing xcb library 
# sudo apt-get install libxcb-xinerama0
After fixing the above issues, launch the Tibia client. It should start without issues.
=== Displaying the Wayland icon instead of the Tibia icon ===
This happens due to the shell not being able to properly map the Tibia client window with the Tibia desktop entry filename.
To fix this rename your Tibia desktop filename to com.tibia.client.desktop
mv ~/.local/share/applications/tibia.desktop ~/.local/share/applications/com.tibia.client.desktop
=== Error Message: "Error Creating SSL Context" ===
Note: This issue should no longer occur on the most recent Linux Client versions, and thus is left here fore historical purposes only. 
This error appears on distributions that have already migrated to the openssl 1.1.x and above while Tibia 11 Linux Client requires version 1.0.x. Two possibles solutions exist. The obvious one would be to downgrade the openssl library to previous version, however that might prove difficult if the new version is used within the core of distribution as that might render part of the system unusable.
Another workaround consists in installing two versions of the openssl alongside one another (most of the distributions that already moved to that point, provide development or compat packages for that).
To install the development version of openssl 1.0.x run:
 sudo apt install libssl1.0-dev
=== Error Message: "Error while loading shared libraries: libpcre16.so.0" ===
Full error message looks like this:
Error while loading shared libraries: libpcre16.so.0: cannot open shared object file: No such file or directory."
This happens because Tibia 11 Linux Client requires libpcre16.so.0, which might not be installed on some systems, having been replaced by a newer version libpcre.so.3. This issue can be resoled by creating a symbolic link between libpcre.so.3 and libcpre.so.0.
 cd /path/to/libpcre.so.*
 
 ln -s libpcre.so.* lib libpcre.so.0
Note: the path to the correct file depends on the distribution! So you should first check in your package manager for the right path to the library.
=== Terrible font rendering ===
As Tibia 11 Linux Client uses proprietary Microsoft fonts (Verdana among others), these are not always available. And while most distributions have some kind of compat packages (mscorefonts or similar), font rendering within the Tibia 11 client on Linux is still an issue.
Screenshot from 2018-04-29 18-36-06.png|Tibia 11 on Linux font rendering issues.
Screenshot from 2018-04-29 18-37-37.png|Tibia 11 on Linux font rendering issue.
Screenshot from 2018-04-29 18-38-11.png|Tibia 11 on Linux font rendering issues.
No definite work-around is known but there exists two possible solutions that seem to alleviate the issue are listed below. One might be forced to test them one by one or altogether to achieve best results.
==== Microsoft Proprietary Fonts ====
One workaround for terrible font rendering is installing proprietary Microsoft Fonts. Most Linux distribution offer one way or another to do so.
Note: It is also possible to migrate fonts from a Windows System if you have access to one (that is, instead of installing them through a package, one transfers .ttf files directly, and then installs them as normal Linux fonts). On some distributions this produces one of the best returns in terms of graphics.
====Changing the Hintstyle====
Assuming you have installed the Verdana font as described above, you might still notice some alignment issues on the OpenGL renderer (especially for text with a black outline such as any text rendered inside the game window):
This can be remedied by changing your Hintstyle settings. Add a hintstyle section to your font config (located in ~/.config/fontconfig/fonts.conf) and choose hintfull, for example:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font">
 <test name="family" compare="contains">
 <string>Verdana</string>
 </test>
 <edit name="hintstyle" mode="assign">
 <const>hintfull</const>
 </edit>
 </match>
</fontconfig>
Now you just need to regenerate your font cache with the command fc-cache -f and then restart Tibia. There might still be horizontal alignment issues, but the vertical alignment should be fixed.
==== Forcing FreeType Interpreter ====
config/fontconfig/fonts.conf<
Another workaround is changing how your linux system renders TrueType fonts in Tibia, that is forcing the TrueType interpreter manually. This requires editing the start-tibia.sh script in tibia-* folder which looks like this:
 #!/bin/bash
 # Adapts library load path to include Qt libraries found in the root folder of the client's binary file.
 # client shouldn't be called directly to prevent needed libraries not being found.
 
 SCRIPT=$(readlink -f "$0")
 PATH=$(dirname "$SCRIPT")
 BIN_PATH="$PATH/bin"
 LD_LIBRARY_PATH="$BIN_PATH" exec "$BIN_PATH/client"% 
And adding the following line: export FREETYPE_PROPERTIES="truetype:interpreter-version=X" right before the final line of the launch script. 
Note: the number X at the end of the export string can be replaced by either 35, 36, 38 or 40 as per the Arch Wiki. One should test out these values and keep the one that gives the most pleasing result.
A more in depth article on how to fix the truetype rendering on Linux can be found here. This issue raised and discussed on Tibia Forums can be found . An in-depth view of the differences between various interpreters can be found here.
====Font substitution====
If both of previous workarounds fail, one might consider font substitution. That is, making it so that whenever a program asks for a specific font, another one is rendered in its place, unbeknownst to the program. This technique is slightly more advanced as it has repercussions on the entire Linux system, not just Tibia. Therefore one should understand what they are doing before attempting it!
1. First step consists in determining the accepted path for user-specific configuration of the fontconfig on the system, as it depends on the Linux distribution, one would have to refer to their distro's documentation. Usually it can also be found in one of the configuration files in /etc/fonts/ (For example, on Solus distribution, the relevant data can be found in /etc/fonts/conf.d/50-user.conf)
The overall file would look similar to:
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
 	<! --
 	 Load per-user customization files where stored on XDG Base Directory
 	 specification compliant places. it should be usually:
 	 $HOME/.config/fontconfig/conf.d
 	 $HOME/.config/fontconfig/fonts.conf
 	-->
 	<include ignore_missing="yes">/etc/fonts/conf.d</include>
 	<include ignore_missing="yes">/etc/fonts/fonts.conf</include>
 
 	<include ignore_missing="yes" prefix="xdg">fontconfig/conf.d</include>
 	<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
 	<! -- the following elements will be removed in the future -->
 	<include ignore_missing="yes" deprecated="yes">~/.fonts.conf.d</include>
 	<include ignore_missing="yes" deprecated="yes">~/.fonts.conf</include>
 </fontconfig>
Thus from the above file, one can see that per-user config files taken into account are:
 ~/.config/fontconfig/conf.d
 ~/.config/fontconfig/fonts.conf
2. The second step is to chose a replacement for the font one wants to substitute (Verdana in case of Tibia). That comes up to personal preference, but popular alternatives can be found all around the Internet ("Free equivalents for standard proprietary fonts - Linux Magazine", "Verdana Alternatives - Practical Typography", "Linux equivalents for Verdana and Arial").
Note: If the chosen font is not installed, one would first need to install it, before proceeding any further.
3. Finally, the third step comes to adding the following configuration values to one of configuration files of fontconfig (from the above example it could either be ~/.config/fontconfig/conf.d or ~/.config/fontconfig/fonts.conf).
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
 <fontconfig>
 <match target="pattern">
 <test qual="any" name="family"><string>Verdana</string></test>
 <edit name="family" mode="assign" binding="same"><string>Droid Sans</string></edit>
 </match>
 </fontconfig>
In this example the replaced font is Verdana and it is replaced by Droid Sans. Furthermore the presence of binding="same" indicates that Verdana should always be substituted by Droid Sans and not any other font.
After saving the configuration file, it is suggested to run: fc-cache -f
to refresh the font cache and finally rebooting.
Once that is done, the Linux system should now use the substituted font instead of Verdana whenever it would run Tibia.
===Dragging items causing fps drops===
This issue is related with the polling rate for the mouse you are using. If you are using a gaming mouse with variable polling rates research how you can change this (normally through your mouse manufacturer's software). Should be set to 125Hz to avoid any issues.
=== Sound output not switching when device is changed while using PulseAudio ===
If you are listening to the game's audio through your speakers and then plug in your headphones (or vice versa), the audio stream does not automatically switch to the new default fallback output device, unlike most other apps. Tibia is using OpenAL Soft as the sound API, which doesn't allow device switching by default. To enable it, create a file ~/.alsoftrc and add the following:
 drivers = alsa,pulse,core,oss
 
 [pulse]
 allow-moves=yes
=== Error: Client will not start ===
Sometimes the client will not start up for no apparent reason. One of the causes for that might be remaining shared memory files from the previous run located in /tmp directory. To solve the issue, one simply needs to remove all directories that are named qipc_* in the temporary directory and restart the Tibia client.
cd /tmp
rm -fr qipc_*
==Useful Links==
*Official Linux FAQ
*Desktop Entry Specification
*Desktop Entry categories
*Desktop Entry Icon Theme Specification
Category:Game Terms
Category:Game Elements