Relocated certain sections of README.md into a new CONTRIBUTING.md

This commit is contained in:
Ziggy
2023-07-25 20:39:31 +02:00
parent 41362e6dbf
commit 070f7ea4bf
2 changed files with 62 additions and 34 deletions

51
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,51 @@
# Contributing
Thanks for considering taking the time to contribute to Holocore! :heart:
## Setting up a development environment
Ready to help bring back an awesome MMORPG with your programming skills?
This section will guide you through setting up a development environment for Holocore.
### Docker
The project uses [Docker](https://www.docker.com) to make it easy to run a MongoDB instance.
You can download Docker [here](https://www.docker.com/get-started).
### IDE
We recommend using [IntelliJ IDEA](https://www.jetbrains.com/idea/download) as your IDE. It's free and has great support for Gradle projects.
It will also automatically use the project's code style settings, automatically manage license headers.
This greatly reduces the amount of friction when contributing.
### Java Development Kit
Assuming you are using IntelliJ IDEA, you can easily install the correct JDK version by opening the project in IntelliJ IDEA and clicking on the "Install JDK" link in the top right corner.
If you already have a JDK installed, but perhaps not the correct version, follow [this guide](https://www.jetbrains.com/help/idea/sdk.html#define-sdk) to download a JDK.
### Git submodules
The project uses [git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
Clone them by running: `git submodule update --init`.
You may have to manually update the submodules in the future, if become outdated: `git submodule update`.
### MongoDB
A MongoDB instance can be bootstrapped by running `docker-compose up -d`.
This will run and initialize a MongoDB instance with a default game server user.
* Username: user
* Password: pass
This will also run a web UI, which can be accessed in the browser at: http://localhost:8081
You can stop both with: `docker-compose down`.
### Running Holocore
In IntelliJ idea, run the **Start server (development)** run configuration.
**NOTE**: A MongoDB instance must be running for the server to start.
### Running automated tests
In IntelliJ idea, run the **Tests** run configuration.

View File

@@ -3,48 +3,25 @@
![License](https://img.shields.io/badge/license-GPLv3-blue.svg?longCache=true&style=flat)
[![Discord chat](https://img.shields.io/discord/373548910225915905?logo=discord)](https://discord.gg/BWhBx4F)
# Introduction #
This is a Star Wars Galaxies server emulator, targeted at the Combat Upgrade (CU)
# Holocore
Holocore is a Star Wars Galaxies server emulator, targeted at the [Combat Upgrade (CU)](https://swg.fandom.com/wiki/Combat_Upgrade_Changes)
era of the game.
# Vision
## Vision
* Providing an experience that's reasonably close to the original, out of the box
* Easily expandable with new functionality
* Good amount of configuration options for in-game features
* Efficient use of system resources and solid performance
* Efficient use of system resources
# Setting up a development environment #
Ready to help bring back an awesome MMORPG with your programming skills?
## Contributing
If you're interested in contributing to the project, please see our [contributing guide](CONTRIBUTING.md).
## Java Development Kit ##
In order to compile the source code, you need a JDK installation on your machine. The `JAVA_HOME` environment variable
should point to the directory of the JDK! It should be version **18** as minimum. You can see your installed Java version
by running `java -version`.
## Running your own server
Warning: Holocore is still in early development, and not yet ready for public use. Breaking changes may occur at any time.
## Submodules ##
The project uses submodules. Get them by running: git submodule update --init
If you're interested in running your own Holocore server anyway, you can use the provided Docker image.
## MongoDB ##
A MongoDB instance can be bootstrapped by running `docker-compose up -d`.
We regularly push new images to [GitHub Packages](https://github.com/ProjectSWGCore/Holocore/pkgs/container/Holocore%2Fholocore).
This will run and initialize a MongoDB instance with a default game server user.
* Username: user
* Password: pass
This will also run a web UI, which can be accessed in the browser at: http://localhost:8081
You can stop both with: `docker-compose down`.
## Running Holocore ##
Compile and run Holocores main code using Gradle: `./gradlew runDevelopment`
## Running automated tests ##
Compile and run Holocores automated tests using Gradle: `./gradlew test --info`
# Running your own server #
If you're interested in running your own server, you should use the provided
Docker image.
## Help needed ? ##
## Help needed ?
If you have questions or stuck, please use the channels on Discord [![Discord chat](https://img.shields.io/discord/373548910225915905?logo=discord)](https://discord.gg/BWhBx4F)