|This is a tutorial page.|
This tutorial will help you compile your very own CWE client.
If you need an Internal client to connect to MO:ULa, you can use the GoW-provided CWE Testing Build bundle. Simply run the
plclient_moula.vbs script after copying the
sfx files from your Uru Live installation.
You will need the following software as minimum requirements to build Plasma:
- CMake for configuring the project. When you install, make sure you tell the installer to add CMake to the system PATH.
- PhysX 2.6.4. This is available from NVIDIA's PhysX Archives. Please use 2.6.4. Newer versions will not work correctly.
- The June 2010 DirectX SDK
- Microsoft Visual Studio 2013 Express Edition for Windows Desktop. Available as a free download from Microsoft.
In addition to the basic requirements, if you are planning to contribute to Plasma development, you should also familiarize yourself with Git. We recommend reading some of GitHub's excellent articles. There are several options for Git tools, including a command-line git client, the graphical SourceTree from Atlassian, and the GitHub client for Windows.
You should also download the CWE development libraries bundle.
To get a copy of the Plasma code, you should clone it using Git.
For the command-line git tool, start git-bash in the folder where the source should be downloaded, and run
git clone https://github.com/H-uru/Plasma
For SourceTree, use File > New / Clone to clone from URL
This will download the source code to a folder named
Plasma in the aforementioned directory.
Building a Client
In the Plasma source folder, run the
prepare_env.bat script. This will create a new folder called build which contains the required development libraries and the Visual Studio solution
Open the solution in Visual Studio 2013. You can compile the engine by pressing Build -> Build Solution. This will take some time.
Choose "Release" as the build-type from the drop-down menu at the top of the window if you do not need to debug the client.
Instead of running the
prepare_env.bat script, you can use CMake to configure the project yourself:
- Download and extract the development libraries bundle.
- Start CMake.
- Set the Where is the source code option to the location where you cloned the repository.
- Set the Where to build the binaries option to a subfolder of the aforementioned location called build.
- Check the Grouped and Advanced options.
- Press Configure. Select Visual Studio 12 as the generator.
- Set the CMAKE_INSTALL_PREFIX option under Cmake to the cwe-prefix folder that you extracted from the development libraries bundle.
- Press Configure again.
- Press Generate. You will now have a Visual Studio solution file (
.sln) in the folder that you specified to build the binaries in under the name
- Open the solution in Visual Studio. You can compile CyanWorlds.com Engine by pressing Build -> Build Solution. This will take some time.
You now have a fully functional client under
plClient.exe is the actual game client whereas
plUruLauncher.exe is the patcher for your shard and
plCrashHandler.exe is the executable used to handle crashes by outputting to a
Once you have your three executables, you'll need to setup a directory from which you can actually use it:
- Create a folder on your computer (e.g. "Documents\Internal") and copy into this folder all three executables (if you're only going to use the client in "-LocalData" mode, you just need to copy
- Copy from your Uru Live installation the
- Copy the
SDLfolders from the moul-scripts repository (clone it as you did for the client).
- Copy the
server.inifile for the shard you are trying to connect to into your client's folder.
- Obtain and copy the following files into your client's folder (you can copy them from the CWE Testing Build bundle if links aren't provided):
You can now start your client by starting
plUruLauncher.exe, which will connect to the appropriate server and download the latest files; to use only the data files available on your local computer (which is useful if you don't want the server to overwrite your own files when you connect to it), start
plClient.exe instead with the option "-LocalData".
As an additional note, if you have a
TOS.txt file in your client's folder, the client, after having successfully logged in the user, will display the contents of this file.
Building an External Client
The steps required to build such a client are more or less the same as for an Internal client.
Compiling follows the exact same procedure, except that you'll need to change an option in CMake.
- Run CMake and point it to your Plasma build folder.
- Find the option PLASMA_EXTERNAL_RELEASE under PLASMA and check it.
- Press Configure.
- Press Generate to re-create the
Also note that the three files you'll obtain in the end are
The process for setting up your External client is the same as for an Internal client. The only difference is in the execution: you cannot run an External client in "-LocalData" mode, and starting
plClient.exe's equivalent) will force you to use
UruLauncher.exe. The External client will thus always use the latest files as provided by the server.
For your client to be able to connect to your own Shard, you'll need to provide it with a
server.ini file. The options are entered in the following form:
This file will need to contain the following options:
Server.Gate.X: if you followed these instructions, you'll have to use the keys provided by the
keygen newcommand. If you are following the minimal setup guide, you don't need to provide these keys.
Server.Gate.Host: your Shard's IP address or domain name.
Server.DispName(optional): the name of the client displayed to the user.
Server.Status(optional): a URL for the status message of your Shard.
Server.Signup(optional): a URL for a signup page to your Shard, linked to by the appropriately-named button.