/piqueserver

An Ace of Spades 0.75 server based on PySnip.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

piqueserver Build Status Build status Coverage Status

An Ace of Spades 0.75 server based on PySnip.

👉 Chat with us!

All of these are bridged together!

🎉 Features

  • Many administrator features
  • A lot of epic commands
  • A remote console (using SSH)
  • Map rotation
  • Map metadata (name, version, author, and map configuration)
  • Map extensions (water damage, etc.)
  • A map generator
  • An IRC client for managing your server
  • A JSON query webserver
  • A status server with map overview
  • Server/map scripts
  • Airstrikes
  • Melee attacks with the pickaxe
  • New gamemodes (deathmatch / runningman)
  • Rollback feature (rolling back to the original map)
  • Spectator mode
  • Dirt grenades
  • Platforms with buttons
  • Ban subscribe service
  • A ton of other features

🚀 Installation

Requirements

Piqueserver requires python 3.6 and above

We currently provide builds for:
  • Linux x86_64
  • Windows x86 and x86_64

If your system is not one of the above, you will also need a recent C++ Compiler.

pip (stable version)

pip3 install piqueserver

Optional features:

  • ssh: enable ssh manhole server support
  • from: enable the from command to geolocate players by ip

To install with optional features with pip:

pip3 install piqueserver[ssh,from]

git (bleeding edge)

git clone https://github.com/piqueserver/piqueserver
cd piqueserver
python3 -m venv venv
source venv/bin/activate

# note: requirements.txt includes all optional deps too
pip install -r requirements.txt

python setup.py install

# now `piqueserver` will be available on the $PATH when venv active

Arch Linux

The AUR package (git master) is currently broken. When it gets repaired (you can help!), you'll be able to install manually or with your favourite AUR helper:

pacaur -S piqueserver-git

🚀 Running

Then copy the default configuration as a base to work off

piqueserver --copy-config

A-a-and lift off!

piqueserver

Custom config location

If you wish to use a different location to ~/.config/piqueserver/ for config files, specify a directory with the -d flag:

piqueserver --copy-config -d custom_dir
piqueserver -d custom_dir

💬 FAQ

What's the purpose?

The purpose of this repo is to be a continuation of PySnip.

What if PySnip development returns?

Then they would merge our changes and development would be continued there, I guess. The important thing is to keep AoS servers alive.

Why should I use piqueserver instead of PySnip/PySpades?

  • Multi config installation
  • Docker support
  • Bug fixes
  • Improvements
  • Better anti-hacking
  • New scripts

What about 0.76 support

Working with multiple versions is a pain. 0.76 will be suported in the future only.

Is that everything?

Please see also the Online Documentation for more information (readthedocs.io has replaced our wiki).

😊 Contribute

Don't be shy and submit us a PR or an issue! Help is always appreciated

🔧 Development

Use python3 and pip to setup the development environment:

$ python3 -m venv venv && source venv/bin/activate
(venv) $ pip install -r requirements.txt
(venv) $ pip install -r dev-requirements.txt # includes dev tools
(venv) $ python setup.py develop             # install in-place
(venv) $ deactivate # Deactivate virtualenv

Brought to you with ❤️ by the piqueserver team.