piqueserver v0.1.1.post1 Release Notes

Release Date: 2017-12-28 // over 6 years ago
  • ๐Ÿ”„ Changes

    ๐Ÿ‘ Python3 Support!

    โœ… Piqueserver now has full Python3 support and has been tested on a small scale. This is a big milestone on our path of making piqueserver a modern AoS server. Once we are comfortable with dropping Python2 support, this enables us to use the large number of features added since Python2.

    โœ… While the base server and included scripts have been tested, some third-party scripts might be broken by this, and we will gladly help you with porting them over. Nonetheless, we will be maintaining Python2 support for at least another one or two versions to help the transition.

    ๐Ÿ‘ Python3 support is also a big step since it means we now have...

    ๐Ÿ Windows Support

    ๐Ÿง With Python3 support comes Windows support. Since we now have a developer that actually uses Windows, we can certify that piqueserver does in fact work on Windows with Python3. There are still some quirks, like an unintuitive folder name, but it should work just fine. Since most of us are on Linux or OS X, we are reliant on your support to find problems with piqueserver on Windows, so please do test it and report back!

    โœ… Default Scripts Have All Been Tested

    โœ… All scripts included with piqueserver have been reviewed and tested to ensure they can work out of the box with both Python 2 and Python 3 without any obvious bugs. If you do find any bugs we have missed, please report them!

    ๐Ÿ‘ Some scripts are no longer supported:

    • fbpatch.py: is now included inside piqueserver's code
    • ๐Ÿšš query.py: added support for an query protocol that we believe no uses, so it was removed
    • nosharp.py: is no longer necessary since piqueserver allows players to be kicked by id even if their names begin with a # (tip: id always take precedence in player-related commands)
    • platform.py: was too big to maintain (2k lines of code) and might be replaced with a simpler platform2.py version in piqueserver-extras in the future
    • ๐Ÿ’… commandhelp.py: help for commands is already included in piqueserver, although it needs some polishing.
    • stats.py: the server used here is not available anymore

    ๐Ÿšš All of the unsupported scripts have been moved to the piqueserver-extras repository, inside the unsupported-scripts folder.

    Gamemodes now have their own folder

    ๐Ÿ”ง This requires some changes to existing configurations:

    1. create a game_modes dir in your config directory ๐Ÿšš 2. move the game mode scripts you use from the scripts dir into the game_modes dir

    โšก๏ธ If you were using the full module specification eg. (piqueserver.scripts.push), you'll need to update to (piqueserver.game_modes.push).

    Manhole Server

    ๐Ÿ›  A long-broken and rarely-used PySnip feature has been fixed. The Manhole SSH server can now be enabled again to allow SSH access to the python console of the server. In addition, syntax highlighting has been added.

    ip_getter

    IP getter (a.k.a. ip_getter) is the service that piqueserver uses to discover your public IP address when the server runs behind NAT routers. Previously, it was hardcoded, but now you can set it with the ip_getter setting in your config file. Additionally, it was tamed to not spit undecipherable errors at you when something goes wrong and provide a helpful error message instead.

    Commands

    ๐Ÿ”’ Comands such as /lock can now use team names as a parameter instead of only accepting blue, green or spectator. For convenience, the 1, 2, and spec aliases will also be available.

    Now /godsilent will let you know if you have quit godmode instead of misleadingly always tell that "You have entered god mode". Furthermore, now when /godsilent is used to silently turn someone else in godmode, the receiving player will be informed of it.

    Also:

    • /version now returns the correct version
    • /client doesn't requires a target player anymore
    • /fog now accepts hex color codes (e.g. #efefef or #00ff00)

    Other Small Things

    • ๐Ÿ“š Some documentation was added in the code to aid developers
    • Name colisions are no longer treated differently for "Deuce" players
    • The server aos:// link is now displayed in statusserver (e.g. https://piqueserver.walladge.net/ has a link to aos://764867901:32887)
    • ๐Ÿง pyenet now has wheels for linux, vastly improving the installation time on the platform
    • The random.txt map now works in Python 3
    • ๐Ÿ Console input has been fixed (although not on Windows yet)
    • โš  piqueserver now prints a warning in the console if being ran with an unsupported version of Python (e.g. 2.6)
    • ๐Ÿ›  Various small fixes and improvements

    Instalation from PyPi

    Python 2.7 or 3.4+ and pip are required.

    โœ… To install the latest version using pip3 (or pip2 for Python2) :

    $ pip3 install --upgrade piqueserver # Installs latest piqueserver from PyPi
    

    ๐Ÿณ Installation with Docker

    ๐Ÿ‘€ Please see our wiki page about Docker.

    Installation from the source code

    Python 2.7 or 3.4+, pip and virtualenv are required.

    ๐Ÿ— To build:

    $ virtualenv -p python3 venv &&. ./venv/bin/activate # Activate virtualenv session(venv) $ pip install -r requirements.txt # Install requirements(venv) $ python setup.py install # Build and install piqueserver(venv) $ deactivate # Deactivate virtualenv session
    

    (replace -p python3 with -p python2 if you intend to run piqueserver in Python 2)

    โš™ Running

    ๐Ÿ”ง You can specify the location of the configuration directory using the -d option. This allows you to have multiple configurations for different instances of piqueserver.

    0๏ธโƒฃ The default location is ~/.config/piqueserver/.

    To run:

    $ piqueserver # OR$ piqueserver -d YOUR\_CONFIGS\_FOLDER\_LOCATION