OpenSpades
Official website — Download — Community — Trello board
What is it?
OpenSpades is a compatible client of Ace of Spades 0.75.
- Can connect to a vanilla/pyspades/pysnip server.
- Uses OpenGL/AL for better experience.
- Open source, and cross platform.
How to Build/Install?
Before you start: In case you're having issues to build OpenSpades, it may be because this README file is outdated, if so:
- See the Building Guide, which may be up to date
- Or open an issue if the problem persists
On Linux
Snap package
On snap enabled systems, the latest pre-built stable release of OpenSpades can be installed with:
sudo snap install openspades
Once installed, you'll be able to launch OpenSpades from inside the desktop menu or from your terminal with the openspades
Flatpak package
On flatpak enabled systems, OpenSpades can be installed with:
flatpak install flathub jp.yvt.OpenSpades
Once installed, you'll be able to launch OpenSpades from inside the desktop menu or from your terminal with flatpak run jp.yvt.OpenSpades
Building and installing from source
GCC 4.9 / Clang 3.2 or later is recommended because OpenSpades relies on C++11 features heavily.
-
Install dependencies:
On Debian-derived distributions:
sudo apt-get install pkg-config libglew-dev libcurl3-openssl-dev libsdl2-dev \ libsdl2-image-dev libalut-dev xdg-utils libfreetype6-dev libopus-dev \ libopusfile-dev cmake imagemagick
(because of a bug in some distributions, you might also have to install more packages by
sudo apt-get install libjpeg-dev libxinerama-dev libxft-dev
)On Fedora or other RHEL-derived distributions:
sudo dnf install pkgconf-pkg-config glew-devel openssl-devel libcurl-devel SDL2-devel SDL2_image-devel \ freealut-devel xdg-utils freetype-devel opus-devel opusfile-devel \ libjpeg-devel libXinerama-devel libXft-devel cmake ImageMagick
On other distributions: Install corresponding packages from your repository (or compile from source).
-
Clone OpenSpades repository:
git clone https://github.com/yvt/openspades.git && cd openspades
-
Create directory
openspades.mk
in cloned/downloaded openspades repo and compile:mkdir openspades.mk cd openspades.mk cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo && make
-
Install OpenSpades (optional but recommended):
sudo make install
note: If you have a previous installation of OpenSpades, you have to uninstall it manually by
sudo rm -rf /usr/local/share/games/openspades
before installing a new one. -
Launch:
openspades
(if installed) orcd $REPO_DIRECTORY/openspades.mk; bin/OpenSpades
and enjoy
On Windows (with Visual Studio)
- Get the required software if you haven't already:
- CMake 2.8+
- PowerShell 5.0
- Integrated with Windows 10.
- Older versions are not tested, but might work
- Visual Studio 2017 or later
- VS2015 is also supported, but VS2017 is more recommended
- VS2013 is no longer supported, but might work
- Grab the source code:
- Stable version: https://github.com/yvt/openspades/releases
- Latest development version (0.1.x): https://github.com/yvt/openspades/archive/master.zip
- Checkout the source
- All examples will assume
E:/Projects/openspades
, update paths in the examples to reflect yours - Make sure to update all git submodules, e.g., by
git clone ... --recurse-submodules
). Note that the GitHub website's ZIP download currently does not support submodules.
-
Build libraries using vcpkg:
cd E:/Projects/openspades vcpkg/bootstrap-vcpkg.bat vcpkg/vcpkg install @vcpkg_x86-windows.txt
-
Run CMake:
- Source:
E:/Projects/openspades
- Binaries:
E:/Projects/openspades/OpenSpades.msvc
- Generator:
- For VS2019:
Visual Studio 16 (2019)
- For VS2017:
Visual Studio 15 (2017)
- For VS2015:
Visual Studio 14 (2015)
- For VS2019:
- Platform:
Win32
- Toolchain file:
E:/Projects/openspades/vcpkg/scripts/buildsystems/vcpkg.cmake
- Add a new string entry
VCPKG_TARGET_TRIPLET=x86-windows-static
- Open
E:/Projects/openspades/OpenSpades.msvc/OpenSpades.sln
in Visual Studio. - Build the solution.
- The recommended build configuration is
MinSizeRel
orRelease
if you're not an developer - The default build output directory is
E:/projects/OpenSpades/OpenSpades.msvc/bin/BUILD_TYPE/
- To get audio working, download a Windows release of OpenSpades, extract it, and copy the following dlls to the build output directory:
- For OpenAL audio:
openal32.dll
- For YSR audio:
YSRSpades.dll
,libgcc_s_dw2-1.dll
,libstdc++-6.dll
,pthreadGC2.dll
- Download the Non-free pak, extract it, and copy
Nonfree/pak000-Nonfree.pak
to theResources
folder inside your build output directory, which is probablyE:/Projects/openspades/openspades.msvc/bin/BUILD_TYPE/Resources
. You can also copy the paks contained inOfficial Mods/
folder of OpenSpades 0.0.12b to add more fonts and improve localization support of your build.
On macOS (with Ninja)
-
Get the latest version of Xcode and the OpenSpades source code. Install the following prerequisites:
- Xcode's command-line tools. Install them by
xcode-select --install
andsudo xcodebuild -license
. - CMake.
- Install
pkg-config
by one of the following methods:- Homebrew:
brew install pkg-config
- Nix: add
$(nix-build '<nixpkgs>' -A pkg-config-unwrapped --no-out-link)/bin
toPATH
.
- Homebrew:
- Xcode's command-line tools. Install them by
-
vcpkg/bootstrap-vcpkg.sh
-
vcpkg/vcpkg install @vcpkg_x86_64-darwin.txt
-
Create directory
openspades.mk
in the cloned/downloaded openspades repo and compile:mkdir openspades.mk cd openspades.mk cmake -G Ninja .. -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_OSX_ARCHITECTURES=x86_64 -D CMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -D VCPKG_TARGET_TRIPLET=x64-osx ninja
-
Launch:
open bin/OpenSpades.app
(Universal builds aren't supported yet.)
Network usage during building
OpenSpades' build process automatically downloads prebuilt game assets and libraries as needed. Specifically:
pak000-Nonfree.pak
andfont-uniform.pak
from https://github.com/yvt/openspades-paks. Can be disabled by passing-D OPENSPADES_NONFREE_RESOURCES=NO
to CMake.- The prebuilt binaries of YSRSpades (audio engine) from https://github.com/yvt/openspades-media. Can be disabled by passing
-D OPENSPADES_YSR=NO
to CMake.
In addition, vcpkg (sort of package manager only used for Windows and macOS builds) collects and sends telemetry data to Microsoft. You can opt out of this behavior by passing -disableMetrics
option when running vcpkg/bootstrap-vcpkg.sh
command.
Troubleshooting
For troubleshooting and common problems see TROUBLESHOOTING.
Licensing
Please see the file named LICENSE.