Civcraft.GitHub.io

Civcraft Organization Page

Civcraft Developers Guide

This page is a work in progress. It will guide you through setting up a development environment, building plugins, and submitting changes to Civcraft.

  1. Download and install the Java SE Development Kit 7 (JDK). Alternatively use OpenJDK 7.
  2. Make sure your JAVA_HOME environment variable points to your JDK install location.
  3. Download and install Maven.
  4. Download and install RabbitMQ.
  5. Download and install MariaDB (MyDB). Alternatively use MySql.
  6. Verify MyDB is setup to use the MIXED binlog_format.
  7. Create a database in MyDB.
  8. Use Spigot's BuildTools to compile your own Spigot server jar. Civcraft is running on 1.10. Check out http://www.spigotmc.org/wiki/buildtools.
  9. Download whatever Civcraft plugins you need off of our Jenkins server. It's almost guaranteed that you will need to install CivModCore and NameLayer at some point, as they are dependencies for a number of the plugins.
  10. Make an account on GitHub, fork the plugin repository you want to work on, and git clone the source locally for your work. All of our plugins have their official source repositories under https://github.com/Civcraft.
  11. We also make use of Combat-Tag (src), WorldBorder (src), and NoCheatPlus (src).
  12. Copy the plugin JARs into your MineCraft server's plugins directory.
  13. Make your changes, commit them locally, compile code via mvn package, copy the JARs into your server's plugins directory, and test.
  14. git push your local change up into your GitHub repository.
  15. Create a Push request to merge the changes from your repository into the main Civcraft repository.