Skip to content
Jonas A. Lind edited this page Sep 9, 2016 · 39 revisions

If you just want to run a pre-built version of the code, see Installation.

Setting up a Development Environment

You will need a system that satisfies the hardware requirements for running OpenRA.

Git Commands

Setting up:

	git config --global user.name $YOU
	git config --global user.email you@example.com

Fork the repo on GitHub then clone it locally and set up your pushurl.

	git clone git://github.com/$YOU/OpenRA.git
	cd OpenRA
	git config remote.origin.pushurl git@github.com:$YOU/OpenRA.git

Now add upstream so you can track it:

	git remote add upstream -f git://github.com/OpenRA/OpenRA.git

Do the same for any other repos you want to track.

Now sync with upstream:

	git fetch --all
	git checkout upstream/bleed

To work on something:

	git checkout -b myfeature
	... hack, add, commit ...

Before publishing your changes it's a good idea to rebase them up to the latest upstream version:

	git fetch --all
	git rebase upstream/bleed

Now test that it still works. If so publish your changes:

	git push origin myfeature

Test your changes

Tip: It is suggested to run in windowed mode, because the debugging experience is much nicer.

Windows

  • Before compiling, run make.cmd in the main OpenRA directory, and then type dependencies at the prompt. This will copy the windows-specific dlls from the thirdparty directory into the game root.

  • Open OpenRA.sln with Visual Studio 2013/2012 (Community/Express). Then Build โ†’ Build Solution (F6). Alternatively, run make all using the PowerShell script.

  • Right click on the OpenRA project (Solution 'OpenRA') in Solution Explorer โ†’ Properties. Change Single startup project into "OpenRA.Game".

  • And finally you can Debug โ†’ Start Without Debugging / Start Debugging. (F5)

  • If you want to actually play with this self-compiled version, run make version from the PowerShell script.

Linux/Mac

In order to build and package OpenRA you will need to install the following dependencies. Most Linux distributions will include packages for these - Mac users should install these manually (or via Homebrew).

Check INSTALL.md for the exact package names on a variety of distros.

From a terminal in the OpenRA source directory:

  • make dependencies will download and copy necessary thirdparty DLLs to the working directory and configure the paths to the system Lua library.

  • Build the source: make all

  • Run the game with: launch-game.sh or mono --debug OpenRA.Game.exe

  • If you want to actually play with this self-compiled version, run make version.

Note: You can also change settings via command-line parameters like Game.Mod=ra.

troubleshooting

  • No package for NuGet: The "NuGet" program is a relatively recent addition to the Linux world, so some older distributions may lack a package for it. In particular, the 14.04 LTS release of Ubuntu does not include it (as of February 2016). To compile OpenRA on those "older" releases, you have to use the mono packages from Xamarin's mono repository instead of the ones provided by your distro. Use the steps below as a guide. Note that if you follow them to the letter, all mono-related packages will be removed from your system without further confirmation. You have been warned!
dpkg -l mono* libmono* | awk '/^ii/{ print $2 }' | sudo xargs apt-get purge -y cli-common libgdiplus
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-complete nuget
mozroots --import --sync

Players ๐ŸŽฒ

Modders โœ๏ธ

Developers ๐Ÿ”ง

Clone this wiki locally