Piqueserver

Latest version: v1.2.0

Safety actively analyzes 630094 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.1.2

Not secure
Changes
This is a bug-fix release, so don't expect any grand new features.

Arena Gamemode
* Players are now restocked on round start, which enables you to spam the hell out of your weapons during the caged period without losing any ammo when the round truly starts
* Respawn time during the cage period will be set to 0, which allows you to switch weapons/teams without risking not being able to spawn when the round begins

Dead Players Are Now Dead (when joining a server)
AoS 0.75 protocol has no way of informing the client a player is dead on server join, leading to some very confusing situations on arena.

As a workaround, we tell any newly connected clients that all players that should show up as dead just committed suicide ¯\\\_(ツ)\_/¯

Web Documentation
As part of our effort to make script writing easier, we have set up automatically generated documentation for piqueserver. You can find this documentation [on readthedocs](https://piqueserver.readthedocs.io/en/latest/). We don't currently have a main page yet, so you will need to click on "module index" to get to the list of pages.

We'll be incrementally improving this over time.

Other Small Things
- Strip ascii control codes from player names
- Show nicer errors when adding an invalid map to the config
- Try sending client version handshake as soon as possible instead of only after map load (which is useful for client feature detection)
- Fixed bug where using `/god` in the console would cause an error
- Fxed bug where using `/client` without target would cause an error
- Fixed error when handling error creating new config directory on python2
- `aimbot2.py` now outputs proper CSVs
- --copy-config now works properly again

Python 2
Python 2 is [reaching](https://pythonclock.org/) its end of life, so we will drop support for it right after the next release. If you haven't already, switch your piqueserver to Python 3 as soon as possible.

If you need any assistance in porting to py3, or for anything else really, you can always [talk with us](https://github.com/piqueserver/piqueserver#point_right-chat-with-us) and we'll help.

Installation from PyPi
Python 2.7 or 3.4+ and `pip` are required.

To install the latest version using `pip3` (or `pip2` for Python2) :

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


Installation with Docker
Please see our [wiki page](https://github.com/piqueserver/piqueserver/wiki/Docker) about Docker.


Installation from the source code
Python 2.7 or 3.4+, `pip` and `virtualenv` are required.

To build:

bash
$ 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.

The default location is `~/.config/piqueserver/`.

To run:

bash
$ piqueserver OR
$ piqueserver -d YOUR_CONFIGS_FOLDER_LOCATION

0.1.1.post1

Not secure
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`](https://github.com/piqueserver/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`](https://github.com/piqueserver/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) :

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


Installation with Docker

Please see our [wiki page](https://github.com/piqueserver/piqueserver/wiki/Docker) about Docker.



Installation from the source code

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

To build:

bash
$ 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.

The default location is `~/.config/piqueserver/`.

To run:

bash
$ piqueserver OR
$ piqueserver -d YOUR_CONFIGS_FOLDER_LOCATION

0.1.0rc.1

Changes

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:

python
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:
python
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

Some users have managed to get piqueserver running under windows, but due to lack of testers and demand, we currently only have official support for Mac OS X (Darwin) and GNU/Linux. If you are a Window user please feel free to help us change this!

Instalation from PyPi

Python 2.7 and `pip` are required.

To install the latest version using `pip`:

bash
$ pip install piqueserver Installs latest piqueserver from PyPi


Installation from the source code

Python 2.7, `pip` and `virtualenv` are required.

To build:

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


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.

The default location is `.config/piqueserver`.

To run:

bash
$ piqueserver OR
$ piqueserver -d YOUR_CONFIGS_FOLDER_LOCATION


Docker support

Please see our [wiki page](https://github.com/piqueserver/piqueserver/wiki/Docker) about Docker.

0.0.1

Not secure
Installation from the source code

Python 2.7, `pip` and `virtualenv` are required.

To build:

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


Known issues

If you installed piqueserver from `pip`, the default configuration files were not downloaded with it.

If that's your case, please download the `configs.zip` file attached below and extract its contents where you want you configuration folder to be created.

Otherwise, you can find the default configuration files in your source directory, inside the `configs` folder.

Running

You can specify the location of the configuration directory using the `-d` option. This allows you to have multiple configurations for diferent instances of piqueserver.

To run:

bash
$ piqueserver -d ./piqueserver/configs OR
$ piqueserver -d YOUR_CONFIGS_FOLDER_LOCATION


Docker support

Please see our [wiki page](https://github.com/piqueserver/piqueserver/wiki/Docker) about Docker.

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.