Building
Currently, the complete game client can only be built for Windows, using Visual Studio.
By default these steps will compile a client targeting your machine architecture. It is possible to build a 64-bit game client, but only the 32-bit (x86) client is officially supported.
Library Dependencies
Plasma requires a number of third-party libraries as dependencies. All required libraries are available through the vcpkg package manager and can be downloaded as part of the build process, or can be built using their individual build instructions.
Expand to view the complete list of libraries
Plasma currently requires the following third-party libraries:
- Python 3.8 or higher
- libOgg and libVorbis
- OpenSSL
- OpenAL Soft
- Expat
- FreeType
- libjpeg-turbo
- libpng
- zlib
- libcurl
- string_theory
- Standalone ASIO
The following libraries are optional:
- CairoSVG (for building resource.dat)
- Pillow (for building resource.dat)
- epoxy (for experimental OpenGL support)
- fontconfig (for Linux font support)
- Qt (for the GUI tools)
- VPX and WebM (for video)
- Opus (for video and voice chat)
- Speex (for legacy voice chat)
- Autodesk 3ds Max 7 (non-free SDK; for 3ds Max plugin)
Building on Windows
Compiling on Windows requires Visual Studio. We recommend Visual Studio 2022 Community Edition, which is available as a free download. Install the “Desktop development with C++” workload.
-
Launch Visual Studio, and pick Clone a repository on the startup screen.
-
Enter the following URL as the repository location:
https://github.com/H-uru/Plasma.git
Specify the folder path on your machine where you'd like the code to be cloned, and then click Clone.
Note: Some dependencies may fail to build if the path to the code contains spaces.
-
When Visual Studio finishes cloning the repository, double click on Folder View in the Solution Explorer panel.
-
Compile the project by using Build > Install Plasma. All required dependencies will automatically be downloaded from vcpkg as part of the build process.
Building a 32-bit client on a 64-bit system
-
Wait for Visual Studio to finish preparing the workspace.
Look for a line that says “CMake generation finished” in the Output window. -
Open the CMake Settings (Project > CMake Settings for Plasma).
-
Click the green + button to add a new configuration.
-
Select “x86-Release” from the popup window.
-
Save the CMake settings, using Ctrl+S or the Save button in the toolbar.
-
In the dropdown menu in the toolbar, select the new “x86-Release” configuration.
-
Compile the project by using Build > Install Plasma.
-
-
The client will be built and installed into a subfolder of where you cloned the repo.
- 32-bit Debug:
- out\install\x86-Debug\client
- 32-bit Release:
- out\install\x86-Release\client
- 64-bit Debug:
- out\install\x64-Debug\client
- 64-bit Release:
- out\install\x64-Release\client
The client output folder will be referred to as your “MOUL-OS” folder in the instructions on Running Plasma.
Building on macOS & Linux
Linux and macOS are not officially supported targets, and the game client does not compile. However, several of the tools can be built and run.
You will need to ensure all the required dependencies are available. On macOS, a Homebrew bundle file is included in the repository, which can be installed by running brew bundle
. You can also use vcpkg on these platforms for automatically managing dependencies.
-
Clone the repository from GitHub, including all submodules, using a git client. On the command line, this can be done by executing the following:
git clone --recurse-submodules https://github.com/H-uru/Plasma.git
-
In the folder where you cloned the repository, run CMake to create a build folder:
cmake --builddir build -S .
If you want to use vcpkg to automatically build dependencies, enable the USE_VCPKG option:
cmake -D USE_VCPKG=ON --builddir build -S .
-
Compile the project with the following command:
cmake --builddir build --config RelWithDebInfo
-
Install the resulting tools with the following command:
cmake --install build --config RelWithDebInfo
-
The tools will be built and installed into the build/install/tools subfolder of where you cloned the repo.