Skip to content

Conquest 9.1 stable release

Latest
Compare
Choose a tag to compare
@jtrulson jtrulson released this 19 Jun 18:52
· 22 commits to master since this release
9.1
  • 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 on the same
    machine -- 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. Now you should get the correct propmpts with the correct
    behavior when reaching the end of 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 as
    usual.

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

  • Make some fixes to Makefile.am so that Conquest can be built out
    of tree. Also, remove yacc/lex generated files on a 'make
    clean'.

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

    Also, fixed a problem where sporadic DNS failures might cause a
    'ghost' copy of a server entry to occasionally appear and
    disappear in the server list.

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

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

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