Piqueserver 0.1.0 RC1 Released!

After half a year of progress, we are happy to announce the first release candidate of Piqueserver 0.1.0!

We have marked this as a release candidate due to the lack of people available for testing so far. If you want to help us, please try piqueserver and report any bugs!

You can find the release information on Github at: Release Piqueserver v0.1.0 RC · piqueserver/piqueserver · GitHub

Here is the Summary:

Configuration Enhancements
You can now use the piqueserver --copy-config option to copy the default config to your configuration directory.

Scripts can now be loaded from the PYTHONPATH. This enables the installing and updating scripts with a single command, directly from pypi or github. No more abandoned scripts and lost patches! The goal is to make this even simpler next time.

Built-in Version Detection

Piqueserver now supports built-in version detection. It does not currently support enhanced version detection though.

Players can access version detection via the

/client <username>

command.

Scripters can access version detection via the

connection.client_info

dictionary.

Support for OpenSpades Popup Messages

OpenSpades supports new popup messages. These can be sent via the following functions:


connection.send_chat_notice(message)
connection.send_chat_warning(message)
connection.send_chat_error(message)
connection.send_chat_status(message)

protocol.broadcast_chat_notice(message, team=None)
protocol.broadcast_chat_warning(message, team=None)
protocol.broadcast_chat_error(message, team=None)
protocol.broadcast_chat_status(message, team=None)

Command System Rewrite
The commands system has been rewritten from scratch.
This is mainly a thing visible to script authors, but we managed to sneak in a few new features too:

  • commands will now return a helpful error message when used incorrectly. No more “Invalid Command”.
  • commands taking player names will now refuse to work if multiple players match. No more accidental kicks of the wrong person.
  • commands now accept “yes”, “no”, “on”, “off” in addition to “0” and “1”

The new command interface can be used like this:


from piqueserver import commands

@commands.command()
def do_thing1(connection):
    do_thing1()

@commands.command("name", "alias", "another_alias", "even_more", "wew", "stop")
def do_thing2(connection):
    do_thing2()

Other Small Things

  • 4-8x increase in map download speed
  • merge several scripts into the base server (dynfog, bugfix.py, etc.)
  • native support for bots
  • merge changes from github.com/infogulch/pyspades
  • update dependencies
    • now uses pyenet pypi package
    • now uses ipaddr pypi package
  • various small fixes and improvements
  • Lots and lots of internal changes that will make things easier in the future
  • Progress on python3 compatibility

Hyper-awesome! Thank you for your dedication to this game. It makes me so happy seeing this!

Awesome! Good job everyone on preparing this release, we’ve come long way from original pyspades/pysnip. I might be biased, but at the current point of time running piqueserver future proofs you way more than sticking to old installations :wink:

More exciting changes are coming too, be prepared for some custom OpenSpades support!

The number 1 AoS server hosting software.

looks good

awesome, good job :slight_smile: