Undercova 16686a06e4 Added buildouts for all 4 phases of Restuss Event
Added Imperial base east of Restuss
Added Rebel base west of Restuss
2021-03-02 00:18:09 +01:00
2021-03-01 08:50:33 +01:00
2019-02-05 18:56:33 -06:00
2019-12-15 21:08:03 -05:00
2019-09-02 06:58:42 -04:00
2015-05-02 19:26:23 +00:00
2015-08-24 17:27:45 -05:00

Banner

License JDK Discord

Introduction

This is the Star Wars Galaxies server emulator for the Java Virtual Machine. The vision for this software is:

  • Providing an experience that's reasonably close to the original game servers
  • Easily expandable with new functionality
  • Good amount of configuration options for in-game features
  • Highly efficient use of system resources and solid performance

The way we perform code reviews should reflect these points.

You can find detailed information on the wiki.

Setting up a development environment

Ready to help bring back an awesome MMORPG with your programming skills?

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 13 as minimum. You can see your installed Java version by running java -version.

Submodules

The project uses submodules. Get them by running: git submodule update --init

Clientdata

This application reads a lot of information from the original game files. An installation of the game is therefore required. Create a folder called clientdata in the root project directory. Extract the following folders of every sku#_client.toc file to the clientdata folder:

  • abstract
  • appearance
  • creation
  • customization
  • datatables
  • footprint
  • interiorlayout
  • misc
  • object
  • quest
  • snapshot
  • string
  • terrain

Note that every TOC file won't necessarily have all of these folders! If they're present, extract them. A tool such as TRE Explorer is capable of opening the files and extracting their contents.

You should end up with a structure that looks something like this:

holocore/
	clientdata/
		abstract/
		appearance/
		creation/
		customization/
		datatables/
		footprint/
		...
	gradle/
	res/
	serverdata/
	src/
	.gitignore
	.gitmodules
	LICENSE.txt
	...

MongoDB

User information is read from a MongoDB database that can be run on any machine on your network. Default is the machine that Holocore is running on.

  1. Create database: use nge
  2. Create a user for Holocore: db.createUser({user: "holocore", pwd: "pass", roles: []})
  3. Create your game user: db.users.insert({username: "user", password: "pass", accessLevel: "dev", banned: false, characters: []})

Enabling the Character Builder Terminals:

  1. Switch to the nge database: use nge
  2. Enable the character builder: db.config.insertOne({ "package": "support.data.dev", "characterBuilder": true })

Running Holocore

Compile and run Holocores main code using Gradle: ./gradlew run

Running automated tests

Compile and run Holocores unit tests using Gradle: ./gradlew test --info

Description
No description provided
Readme 125 MiB
Languages
Java 88.5%
Kotlin 11.5%