LibRedex on Linux

Discussion in 'Hosting' started by Legodev, Jun 8, 2018.

  1. Legodev

    Legodev Developer Staff Member

    Joined:
    Jul 18, 2016
    Messages:
    378
    Likes Received:
    129
    Use LibRedex
    To use LibRedex the easyest solution is to use Debian Stretch and the LinuxAlt Version. To get LibRedex working you need to install some 32Bit dependencies. You can do this using:
    PHP:
    apt-get install dos2unix libssl1.1:i386 libuuid1:i386 libmariadbclient18:i386 lib32z1
    You can check if all dependencies got satified by executing:
    PHP:
    ldd libredex.so
    The result should look like:
    PHP:
            linux-gate.so.1 (0xf7700000)
            
    libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf749e000)
            
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7481000)
            
    libssl.so.1.1 => /usr/lib/i386-linux-gnu/libssl.so.1.1 (0xf7411000)
            
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf740c000)
            
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf73f1000)
            
    libcrypto.so.1.1 => /usr/lib/i386-linux-gnu/libcrypto.so.1.1 (0xf718a000)
            
    libmariadbclient.so.18 => /usr/lib/i386-linux-gnu/libmariadbclient.so.18 (0xf6dbf000)
            
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf6d6a000)
            
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf6bb2000)
            /
    lib/ld-linux.so.2 (0x5656b000)
            
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf6a38000)
            
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf6a1a000)
    Now the only thing left to do is to convert the Pluginlist from the Windows File Ending format to the Unix File Endings using:
    PHP:
    dos2unix @desolationserver/config/pluginlist.cfg
    Now just do the same things as described Bohemia Wiki to setup the ArmA Server and follow the other guides to setup Desolation Redux. AND PLEASE: check that you download the newest version of the server files, 0.1.3.5 is NOT newer then 0.3.2! thx

    Build LibRedex
    You can get the source code of LibRedex over here.

    To build LibRedex for Debian Stretch the easyest way is to follow this guide and setup an 32 Bit Debian Stretch in as an chroot environment using this guide.
    This of course also works for other Linux distributions, just replace Stretch with the Codename of your Ubuntu for example.

    You basically do as root (of course replace username with our username):
    PHP:
    export MY_CHROOT=/opt/chroots/debian_stretch_i386
    echo "proc $MY_CHROOT/proc proc defaults 0 0" >> /etc/fstab
    mount proc $MY_CHROOT
    /proc -t proc
    echo "sysfs $MY_CHROOT/sys sysfs defaults 0 0" >> /etc/fstab
    mount sysfs $MY_CHROOT
    /sys -t sysfs
    echo "/home $MY_CHROOT/home none bind 0 0" >> /etc/fstab
    mount 
    -o bind /home $MY_CHROOT/home
    cp 
    /etc/hosts $MY_CHROOT/etc/hosts
    cp 
    /proc/mounts $MY_CHROOT/etc/mtab
    grep username 
    /etc/passwd >> $MY_CHROOT/etc/passwd
    chroot $MY_CHROOT 
    /bin/bash
    Once you did chroot into this environment install the build dependencies:
    PHP:
    apt-get install build-essential cmake uuid-dev libssl-dev libmariadbclient-dev libmariadbclient-dev-compat libboost-all-dev
    Now you can switch to your user using:
    PHP:
    su username
    and change to the directory where you have downloaded the sources to:
    PHP:
    cd "~/DesolationREDUX/Arma_3_Extensions/Redux Extension"
    And use the script:
    PHP:
    sh build-debian_stretch_i386.sh
    to build the 32Bit Version of LibRedex. The 64Bit Version is not required yet, because there is no 64bit Version of the ArmA 3 Server.

    Do NOT post your questions and problems over here, use the discord! Only post your solutions to keep this thread clean!
     

Share This Page