[Conquest] Conquest 9.0.1d (devel) released

Jon Trulson jon at radscan.com
Fri Apr 19 16:33:37 MDT 2019


Hi,

Conquest 9.0.1d, a development release, is, well, released. :)

This will become a 9.0.2 or 9.1 stable release in the future.

Most of the changes are under the hood, so to speak, but a few bug fixes
are also present in this release.  Also, SDL2 is now required to build
sound for the client instead of SDL1.2, and a change to the location of
the conquest state directory (/var) has changed to be more in-line with
the FHS (/var/lib).

If you run a server, read below before installing your new code base -
you will need to manually move /opt/var/conquest to
/opt/var/lib/conquest (assuming a default prefix of /opt) before a "make
install", if you want to preserve your current universe and logfiles.

Below is a portion of the docs/HISTORY.txt file for this release:

9.0.1a-9.0.1d, 12/10/2018-4/19/2019 (devel, pre-release)

  - In previous versions of Conquest, a hardcoded semaphore key was
    used to allocate semaphores.  Semaphores are used to coordinate
    accesses to the common block by the various processes used to run
    a game.

    This becomes a problem when you run multiple servers -- it would
    still work, but then servers might engage in lock contention among
    other unrelated servers.  Now we generate a random key and store
    it in the system conquest.conf file when it is initialized.

    This way each game gets it's own semaphore, and games can no
    longer interfere with each other's access to their respective
    common blocks.

  - Use and require SDL2 rather than 1.2.  To build conquest, you will
    need to install libsdl2-dev and libsdl2-mixer-dev if you want
    sound.

  - fix a couple of problems with paging when viewing the planet list

  - Fix issues with the conqinit utility.  It's documentation and
    operation had not kept up with many of the changes made in 9.0.

  - Fix bug with hud alert statuses where a potential negative array
    index could be used

  - change the conquest state directory from /var/conquest/ to
    /var/lib/conquest/, in closer keeping with the FHS.  For those
    running a server, you should move your existing state directory to
    the new location before installing it.

        # first, shut down all conquest servers, then, assuming you
        # are using the default /opt prefix:
        sudo mkdir -p -m 755 /opt/var/lib
        sudo chown root:root /opt/var/lib
        sudo mv /opt/var/conquest /opt/var/lib/conquest

    Then build and install this, or later versions of Conquest.

  - move the FMT format library into a separate subdir (src/fmt/).

  - many changes to underlying code, more modularizing, more
    use of C++ containers and other non-visible changes.

  - more work on the meta server, stringification, c++ containers, and
    other fixes designed to improve stability and security

  - move the FMT format library into a separate subdirectory

  - fixup a couple of places where memset was being used on non-POD
    structures (structures containing containers like std::string and
    std::vector)

  - remove lex/yacc generated files on a 'make clean'

  - add checks for some supported compiler options to configure.ac


Enjoy!


-- 
Jon Trulson

  "The Party told you to reject the evidence of your eyes and ears.
   It was their final, most essential command."

   -- 1984


More information about the Conquest mailing list