Jump to content
mixxit

Guide: Hosting a DayZ 1.7.2.6 Server on Linux

Recommended Posts

This guide is for hosting a DayZ server on Linux with Debian Wheezy and wine 1.5, this should work on ubuntu and other similar flavours of linux or even other versions of linux so long as you make use of your own appropriate package managers and similar versions of prerequisites such as wine and winetricks

This guide assumes you know how to run your linux server and make use of editting tools such as vim or nano, installation tools such as apt and also the basics of mysql

This will make use of the Bliss server provided by Ayan4m1

This server was created on a dedicated server host provided in france and should work on most providers who give you full access to your server, no monitor or keyboard required due to making use of vncserver

What you will need:

* Access to SSH with root privileges

* A server with at least 2gb of ram

* Access to control your firewall to open the necessary server ports

To begin this process, login to SSH with an account with sudo privileges or as root

Step 1 - Install mysql server and perl


sudo apt-get intall mysql-server
sudo apt-get install perl

Step 2 - Create a new user with the SSH command:


sudo adduser dayz

Step 3 - Login to your mysql server with


mysql -u root -p

Run the following commands as provided on the ayanm4m1 guide (https://github.com/a...-private-server):


create database dayz;
create user 'dayz'@'localhost' identified by 'CHANGEME';
grant all privileges on dayz.* to 'dayz'@'localhost';
quit;

Step 4 - Install wine


sudo apt-get install wine winetricks

Step 5 - Install vncserver


sudo apt-get install vncserver

Step 6 - Install a lightweight window manager such as fluxbox


sudo apt-get install fluxbox

Step 7 - Login in to SSH with your newly created dayz account

Step 8 - Start vncserver


vncserver

Step 9 - Login to your vnc server with tightvnc client or any other flavour of vnc client (http://www.tightvnc....setup-32bit.msi)

Step 10 - Open XTerm or a similar terminal console (if you don't have this, try apt-get install xterm)

Step 11 - Install directx9


winetricks directx9

Step 12 - Install Microsoft visual c++ runtimes 2008, 2010 and dotnet 4


winetricks vcrun2008
winetricks vcrun2010
winetricks dotnet4

Step 13 - Copy your arma2 / arma2oa installation to your server over FTP or similar and create them in this folder structure

\arma\arma2

\arma\arma2oa

Step 14 - Download the latest version of Bliss to your PC and extract it and upload to your arma\blissinstall folder

Latest version can be found here: https://github.com/a.../zipball/master

Step 15 - Install the perl pre-requisites required by the perl scripts


./setup_perl.sh

Step 16 - Run the repack script provided by Bliss in your blissinstall folder


perl repack.pl

Step 17 - Again in your blissinstall folder populate your database with the command below (changing the password to the one set above when you created your databases in mysql)


perl db_migrate.pl --password CHANGEME

Step 18 - Copy all the files from your deploy folder into the arma2oa folder

Step 19 - Edit the bliss.ini files in arma2oa folder to match your database settings created above

Step 20 - Edit the config settings for your server in the Bliss\config.cfg file (or BlissLingor\config.cfg depending on which server you are going to run)

Step 21 - Change directory to your arma2oa folder in the xterm window you have open in VNC and start the server


wineconsole cmd
start_server

Other Notes

You may have to provide the wine windows path for battleye using -bepath=z:\home\dayz\arma\arma2oa\Bliss\battleye by editting the start_server batch file

If you have trouble with the server the first place to check is the arma2oaserver.rpt file in your Bliss or Bliss Lingor folder

You may be able to install steam in wine to download arma2oa but i didnt have much luck over vnc

Don't forget to open your firewall ports for arma such as udp/tcp ports 2302,2303,2304 etc

You already have dotnet4 installed if you followed the above guide so this will work with DayZ AntiCheat, loading the app with the usual:


wineconsole cmd
dayzanticheat_win32

Asking for help

I won't be available to help any further on this so please no private messages, I just wanted to provide a guide with all the steps I did to get the server running on linux debian squeeze this weekend

Edited by mixxit
  • Like 3

Share this post


Link to post
Share on other sites

Thanks,

Personnaly I managed to install ArmA2 + Arma2OA by steam thanks to PlayOnLinux.

Share this post


Link to post
Share on other sites

Thanks,

Personnaly I managed to install ArmA2 + Arma2OA by steam thanks to PlayOnLinux.

I had some issues with steam when selecting different games in the library but if you can get steam going that's great! Fortunately I had a VM on the box that I was running arma2oaserver on so I had already had it locally

Share this post


Link to post
Share on other sites

FYI on this guide for all who may be attempting it.

I'm pretty positive that the DayZ Bliss Private Server distro has changed dramatically enough that the above tutorial will no longer work. Just thought I'd try to save you some time.

Here are the problems I encountered when attempting to follow the guide.

  • You'll notice in the readme on the DayZ-Private Server project github repo that installation requires Strawberry Perl, which is a Windows-only version of Perl. There may be a way install that inside of Wine, and then run it in order to execute the neccessary .pl scripts, but I'd wager that will be difficult and buggy, if possible at all, and I'm not going to try it. If anyone knows a workaround for this, I'd be happy to read about it.
  • There is no file called "repack.pl" in the current distro for DayZ Bliss Private Server. Therefore, that step (which I believe is critical) cannot be executed.
  • My hunch is that "repack.pl" was renamed/reworked into the existing "build.pl" file. However, if you attempt to run it you'll get the following error: "Can't locate File/Slurp.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at build.pl line 7. BEGIN failed--compilation aborted at build.pl line 7."
  • The above, as some Googling seemed to imply, is because normal Perl for Linux is not the same as Strawberry Perl, as is indicated as required.

I wasn't able to get any further than that step, and as the author of this post has indicated he will not provide additional support or information, I'd warn that the above guide is basically completely bunk and inoperable. If anyone else has found a suitable guide with accurate instructions to install a DayZ private server instance under Wine in Debian Linux I'd be interested in reading it, so please send along a link as a reply to this post. I will be searching for the same, or attempting to experiment myself until I can find a reasonable method for doing this.

On a sidenote, I'm completely stunned that there is no Linux server support offered by the DayZ devs themselves! You mean to tell me that ALL of the currently operational DayZ servers out there are *gasp* Windows servers!?!? What is this, 1996? Who the heck would design a game to only support Windows servers!? Let's hope they add native Linux server support to the official standalone, as that's just ridiculous. Linux servers are vastly superior technology-wise and far more common. There's just no conceivable reason I can imagine that you would design server software for Windows exclusively, unless, as a developer, you just don't have a technological clue! Shame, shame, Rocket et. al.

Edited by mumausserver
  • Like 2

Share this post


Link to post
Share on other sites

I ran the scripts under my local linux version of perl

It didn't require slurp at the time but you could try installing it via cpan

perl -MCPAN -e shell

install File::Slurp

Share this post


Link to post
Share on other sites

I think that the above worked, but now I get "Can't locate Digest/SHA1.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at build.pl line 14.

BEGIN failed--compilation aborted at build.pl line 14."

Any ideas?

Share this post


Link to post
Share on other sites

Just a couple more tips I forgot to mention previously.

  • You will have to read the new instructions on the distro GitHub, as they have changed somewhat from this post, as is. You'll have to use some Linux savvy to translate between these instructions and the current instructions.
  • I had to run "bash setup_perl.sh" rather than just "./setup_perl.sh" I believe this is because it's a fat32 file or something like that.
  • I had to manually FTP my "..\Steam\steamapps\common\Arma 2 Operation Arrowhead\Expansion\beta" directory up to my Linux server, as for some reason that didn't get copied into the tarball I created of my Arma2/Arma2OA directories from Windows.
  • Even after all that, I got stalled on another error inside of the wineconsole: "err:module:import_dll Library X3DAudio1_6.dll (which is needed by L"Z:\\home\\dayz\\arma\\arma2oa\\Expansion\\beta\\arma2oaserver.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\dayz\\arma\\arma2oa\\Expansion\\beta\\arma2oaserver.exe" failed, status c0000135". I may have to attempt to reinstall DirectX or something like that, as X3dAudio1_6.dll would, seemingly, be a DirectX library.
  • Also, forgot to mention that following the original instructions, running "winetricks dotnet4" simply resulted in the display of the help information of the "winetricks" command itself.
  • When running "winetricks directx9" I got the following warning: "You probably shouldn't be using this. d3dx9 or, better, d3dx9_36 usually suffice." This may be related to the above X3dAudio1_6.dll" file being missing. Attempting to experiment currently.

Edit: Got one step further. To solve the "X3DAudio1_6.dll" file problem I ran "winetricks xact". No idea what that does, but it was in a support topic for another game with a similar error, and it worked for me. Now on to the next error, haha.

"fixme:heap:HeapSetInformation (nil) 1 (nil) 0 p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory Application tried to create a window, but no driver could be loaded.Make sure that your X server is running and that $DISPLAY is set correctly."

Edited by mumausserver

Share this post


Link to post
Share on other sites

Looks like that last bug is where I'll be left high and dry (the "fixme:heap" bug above). It may be because I'm attempting to run this off of a true server (It's a kind of medium-range data-center-style server in my actual apartment that I typically use for my Minecraft server) that doesn't have a graphics card. Might be stuck. Any other ideas?

EDIT: Looks like "gnome-keyring" is an application for storing passwords, etc., similar to the Mac keyring feature. Would this possibly be related to typing a CD key somewhere? I do have a legit CD key, but am I'm a supposed to, for example, type it into some file somewhere or something like that? Or is this perhaps just an issue with the scripting of the batch file?

Edited by mumausserver

Share this post


Link to post
Share on other sites

Actually, now that the linux arma2 dedicated has been updated to latest patches, one would not even need Wine to run a dayz server?

I have not looked into it, but it should work. BTW, I am using the ancient Antirocket build, which only needs MYSQL and vcredist_x86 (might actually require wine for that).

http://forums.bistudio.com/showthread.php?141135-ARMA-2-Operation-Arrowhead-Linux-Server-beta-1-62-97755

Share this post


Link to post
Share on other sites

I had kind of thought something along those lines, but was uncertain if it would work. Would it simply be a matter of following these normal Arma2 server instructions for Linux, uploading the @dayz folder to the normal place, and then running the server commands as applicable? I'm not sure how the servers interact with MySQL, which is why I thought it may be necessary to run under Wine. Is all the MySQL configuration stuff OS independent?

Share this post


Link to post
Share on other sites

Oh yea, I totally forgot about the dll files that communicate to the database. Someone who knows more about those dll files could shed some light on this...

Share this post


Link to post
Share on other sites

I had a feeling that was the case. Let's hope some experts chime in, as I think I'm stuck there. It feels like I'm so close, and at least the thought of the pure Linux solution gave me some hope for a second, haha. Tune in Tokyo....

Edited by mumausserver

Share this post


Link to post
Share on other sites

the xaudio problem, it should work fine with the winetricks directx command i listed in the guide - might be a different version of directx now though - you could try this if that's the case

winetricks d3dx9_36

Edited by mixxit

Share this post


Link to post
Share on other sites

In the original guide it says to run "winetricks dotnet4" when in fact, i believe, it should be "dotnet40" (big difference). However, it then takes me through some strange dialog that opens a sort of text editor (might even be Lynx). Each turn of the corner is just that much more difficult, lol. Why do so many posts on this topic say that "lots of people" have DayZ servers running in Wine with no problems, lol. This is just a normal Ubuntu Server 64-bit installation, nothing unusual about it or not more or less "out of the box" haha.

Share this post


Link to post
Share on other sites

Hey!

 

I managed to get almost everything running. I can connect to the lobby, but if i hit the join button, the Server crashes with a Error:

 

wine:Unhandled exception 0xc0000409 at address 0x15787a5f (thread 009), starting debugger

 

The a "Programm Error" windows appears. If i hit "Show details, it crashes".

 

 

The last log in the logfile, says "Starting HIVE!". Also the message has to do something with .Net Framework 4. 

 

I was able to fix 3 Bugs that happend at the exact same moment as this one here. One was, that I had Wine running in 64 Bit Mode. Another was, that i wasn't able to connect to the database and the 3rd was. that "Database.dll", "tbb.dll" and "tbbmalloc.dll" where missing...

 

I hope I can fix this issue, because I invested hours of work thatI get this stuff running...

 

Thanks,

Rene8888

 

Edit:

 

IT WORKS!

 

I tried some different "Database.dll", "tbb.dll", "tbbmalloc.dll" form https://github.com/Stapo/Lite-DayZ-Private-Server. Now everything works!

Edited by Rene8888

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×