Stronghold 2 Guide

Discussion in 'Guides' started by Daerandin, Jan 18, 2016.

  • by Daerandin, Jan 18, 2016 at 10:39 PM
  • Daerandin

    Daerandin Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,157
    Likes Received:
    259
    Trophy Points:
    83
    Location:
    Northern Norway
    Home page:
    sh2_title01.jpg

    Stronghold 2 is a strategy game where the biggest focus lies with how you build your castle. You need to ensure that all aspects life in your castle is running smoothly. This is the sequel to the original Stronghold game, and the first 3D game in the series. The level of detail to castle life is impressive, and this game remains one of my favorites.

    sh2_title02.jpg

    The guide will explain how to setup Steam in PlayOnLinux so that you can install and play the game in steam.

    This game is available digitally on Steam as part of the Stronghold Collection or the Stronghold Complete Pack

    Tips & Specs


    To learn more about PlayOnLinux and Wine configuration, see the online manual: PlayOnLinux explained

    Arch Linux 64-bit
    PlayOnLinux 4.2.10
    Wine 1.8

    Initial steps

    This game need to be able to open a large number of files at the same time, more than what is normally allowed on a Linux system. So in order to run this game, you will first need to edit a specific file which will permit more open files.

    Open a terminal and type the following command:

    Code:
    sudo nano /etc/security/limits.conf
    You will be prompted for your password, which you must then enter. This will now open a file text file. The exact look of this file may vary a little depending on your distro. My file looks like this:

    Code:
    # /etc/security/limits.conf
    #
    #Each line describes a limit for a user in the form:
    #
    #<domain>        <type>  <item>  <value>
    #
    #Where:
    #<domain> can be:
    #        - a user name
    #        - a group name, with @group syntax
    #        - the wildcard *, for default entry
    #        - the wildcard %, can be also used with %group syntax,
    #                for maxlogin limit
    #
    #<type> can have the two values:
    #        - "soft" for enforcing the soft limits
    #        - "hard" for enforcing hard limits
    #
    #<item> can be one of the following:
    #        - core - limits the core file size (KB)
    #        - data - max data size (KB)
    #        - fsize - maximum filesize (KB)
    #        - memlock - max locked-in-memory address space (KB)
    #        - nofile - max number of open file descriptors
    #        - rss - max resident set size (KB)
    #        - stack - max stack size (KB)
    #        - cpu - max CPU time (MIN)
    #        - nproc - max number of processes
    #        - as - address space limit (KB)
    #        - maxlogins - max number of logins for this user
    #        - maxsyslogins - max number of logins on the system
    #        - priority - the priority to run user process with
    #        - locks - max number of file locks the user can hold
    #        - sigpending - max number of pending signals
    #        - msgqueue - max memory used by POSIX message queues (bytes)
    #        - nice - max nice priority allowed to raise to values: [-20, 19]
    #        - rtprio - max realtime priority
    #
    #<domain>      <type>  <item>        <value>
    #
    
    #*                     soft      core            0
    #*                      hard     rss             10000
    #@student        hard    nproc         20
    #@faculty         soft      nproc         20
    #@faculty         hard    nproc          50
    #ftp                   hard    nproc          0
    #@student        -          maxlogins   4
    
    # End of file
    You will want to add two lines towards the end of the file:

    Code:
    *    soft    nofile    8192
    *    hard    nofile    8192
    Using my own file for example, it should now look like this:

    Code:
    # /etc/security/limits.conf
    #
    #Each line describes a limit for a user in the form:
    #
    #<domain>        <type>  <item>  <value>
    #
    #Where:
    #<domain> can be:
    #        - a user name
    #        - a group name, with @group syntax
    #        - the wildcard *, for default entry
    #        - the wildcard %, can be also used with %group syntax,
    #                for maxlogin limit
    #
    #<type> can have the two values:
    #        - "soft" for enforcing the soft limits
    #        - "hard" for enforcing hard limits
    #
    #<item> can be one of the following:
    #        - core - limits the core file size (KB)
    #        - data - max data size (KB)
    #        - fsize - maximum filesize (KB)
    #        - memlock - max locked-in-memory address space (KB)
    #        - nofile - max number of open file descriptors
    #        - rss - max resident set size (KB)
    #        - stack - max stack size (KB)
    #        - cpu - max CPU time (MIN)
    #        - nproc - max number of processes
    #        - as - address space limit (KB)
    #        - maxlogins - max number of logins for this user
    #        - maxsyslogins - max number of logins on the system
    #        - priority - the priority to run user process with
    #        - locks - max number of file locks the user can hold
    #        - sigpending - max number of pending signals
    #        - msgqueue - max memory used by POSIX message queues (bytes)
    #        - nice - max nice priority allowed to raise to values: [-20, 19]
    #        - rtprio - max realtime priority
    #
    #<domain>      <type>  <item>        <value>
    #
    
    #*                      soft      core            0
    #*                      hard     rss              10000
    #@student        hard     nproc         20
    #@faculty          soft      nproc         20
    #@faculty          hard    nproc          50
    #ftp                    hard    nproc          0
    #@student        -           maxlogins   4
    *                        soft       nofile          8192
    *                        hard     nofile           8192
    
    # End of file
    Save the file and close it. You will need to log out and back in for this to take effect, or simply reboot your computer.

    Setup PlayOnLinux


    Launch PlayOnLinux and select 'Tools' and 'Manage Wine versions'

    In the new window that appears, scroll through the 'Available Wine versions' box to find '1.8' and click on the right pointing arrow to install it, afterwards it will appear on the right side under 'Installed Wine versions'
    If you have a 64-bits system, make sure you have selected the 'Wine versions (x86)' tab above, although it works well on 64-bit as well to my experience, I will just not cover it in this guide

    sh2_01.jpg

    Just close the window. Back at the main PlayOnLinux window, select 'Install'

    Click on 'Install a non-listed program'

    sh2_02.jpg

    Select 'Install a program in a new virtual drive'

    sh2_03.jpg

    Name the virtual drive "stronghold2"

    sh2_04.jpg

    On the next window, select 'Use another version of Wine', 'Configure wine' and 'Install some libraries'

    sh2_05.jpg

    On the wine selection window, select the 1.8 version and click 'Next'. Make sure you select '32-bits window installation' if you are on a 64-bit system, although as mentioned earlier, it should also work using a 64-bit virtual drive if so desired.

    sh2_06.jpg

    When the wine configuration window appear, select the 'Graphics' tab, and click the checkbox for all four options. Make sure that you set the resolution to your desktop resolution. My desktop is at 1920 x 1080, so I set that for the wine virtual desktop resolution. Click OK to continue.

    sh2_07.jpg

    Note: Even though the language is Norwegian in my screenshot, the layout will look the same for you

    When you come to the selection of libraries, select POL_Install_steam

    sh2_08.jpg

    Then click Next

    You have to go through the Steam install process manually. I always prefer to install Steam by using this library in PlayOnLinux since it takes care of the missing font issue in Steam, while also installing the corefonts library so it looks better than just a manual Steam install.

    Just click Next

    sh2_09.jpg

    This install process is pretty straightforward. Click to agree to the EULA, then just click Next through the next few screen, until you can click Install.

    sh2_10.jpg

    When the Steam installation is finished, make sure you uncheck the box for starting Steam, we do not want to start Steam at this point.

    After you have unchecked the box for starting Steam, you can click on Finished

    sh2_11.jpg

    Simply click Next on the following window

    sh2_12.jpg

    When it asks you for the install file to run, click on 'Cancel'

    sh2_13.jpg

    The virtual drive has already been set up by this point and there is no need to run any install file. Now back at the main PlayOnLinux window, click on 'Configure', it does not matter what game shortcut is selected when you click 'Configure' so don't worry about that.

    sh2_14.jpg

    On the left side, find the virtual drive you just set up, it will be listed with the same name you typed in during set-up. Look for 'stronghold2', when you find it make sure to select it. After you have selected it, click on 'Make a new shortcut from this virtual drive'

    sh2_15.jpg

    Check the screenshot above for reference. It is very important that you select the virtual drive you just set up before making further changes.

    Select Steam.exe and click next. You can name the shortcut "Steam - Stronghold 2" then click 'I don't want to make another shortcut' and click next.

    sh2_16.jpg

    Now click on the 'Display' tab on the top. Change 'Video memory size' to reflect your GPU memory, still making sure that the correct virtual drive is selected on the left tab.

    sh2_18.jpg

    At this point you can close the PlayOnLinix configuration window and start Steam from the Shortcut in the main PlayOnLinux window. First Steam will update, then you can log in to Steam

    sh2_19.jpg

    Now just find the game in your game library, and click Install

    sh2_20.jpg

    When you first launch the game, it will want to install GameSpy.

    sh2_21.jpg

    GameSpy has been shut down, but this game still requires it to be installed, so click on Next

    sh2_22.jpg

    Let it install to the default location and click Next

    sh2_23.jpg

    Lastly, make sure that you uncheck all the checkboxes before you click Finish

    This game runs very well. I have not experienced any issues with this game. The only feature that does not work in multiplayer, but that is true for Windows too. The game use GameSpy for multiplayer, and GameSpy has shut down long ago, so only single player modes is available. But apart from that, everything works perfectly in this game.

    Screenshots

    sh2_sc01.jpg
    sh2_sc02.jpg
    sh2_sc03.jpg
    sh2_sc04.jpg
    sh2_sc05.jpg
    sh2_sc06.jpg
    vashin likes this.

Comments

Discussion in 'Guides' started by Daerandin, Jan 18, 2016.

  1. booman
    Nice guide! What is the deal with the file limit? Why does Stronghold 2 need to open many files?

    Nice screenshots too... I've forgotten how good Stronghold 2 looks.
  2. Daerandin
    I have no idea why it requires so many open files, but the game will either fail to launch, or crash shortly after launch unless you increase the limit of open files on your system.

    I am looking into ways to get multiplayer working. There is a client called gameranger. A few people have reported success with gameranger and some games, but a lot of games seem to refuse to work with this on Linux. I will at least give it a try and see if we are lucky with this game.

    This game is still my favorite in the series. Your growing village appear to have a life of its own and I always enjoyed that.
    booman likes this.
  3. booman
    So the many files open when you launch Stronghold 2?
    How the heck did you figure that out?
  4. vashin
    Looks like a good game. I think this will be my next project. Thanks a bunch.

Share This Page