/MinecraftEarthApi

a recreation of The Minecraft Earth API

Primary LanguageC#OtherNOASSERTION

Project Earth Api

The core API for Project Earth

What does this component do?

The core API handles the bulk of game functionality - pretty much everything that isn't direct AR gameplay is done here.

Building

  • Git this repository
  • Open the sln in your IDE of choice
  • Build & run

Setting up the Project Earth server infrastructure.

Getting all the parts

  • A built copy of the Api, which you can download from Release
  • The ApiData repo, you'll also need the Minecraft Earth resource pack file, renamed to vanilla.zip and placed in the resourcepacks subfolder of the ApiData repo.
  • You can procure the resourcepack from here.

Attention: Only do this if you want play AR game instead setup a server.

  • Our fork of Cloudburst. Builds of this can be found here. This jar can be located elsewhere from the Api things.
  • Run Cloudburst once to generate the file structure.
  • In the plugins folder, you'll need GenoaPlugin, and GenoaAllocatorPlugin. The CI for this can be found here and here. Note: make sure to rename your GenoaAllocatorPlugin.jar to ZGenoaAllocatorPlugin.jar, or you will run into issues with class loading

Setting up

  • on the Api side
  • go to data/config/apiconfig.json, and add the following at the end of file:
"multiplayerAuthKeys": {
        "Your cloudburst server IP here": "the same key you put in key.txt earlier"
 }
  • Also change the "baseServerIP" to your local IPV4. Sample:"baseServerIP": "http://192.168.1.1"
  • On the cloudburst side:
  • within the plugins folder, create a GenoaAllocatorPlugin folder, and in there, make a key.txt file containing a base64 encryption key. An example key is
/g1xCS33QYGC+F2s016WXaQWT8ICnzJvdqcVltNtWljrkCyjd5Ut4tvy2d/IgNga0uniZxv/t0hELdZmvx+cdA==
  • edit the cloudburst.yml file, and change the core api url to the url your Api will be accessible from. Sample:earth-api: "192.168.1.1/1/api"

  • Start up the Api

  • Start up cloudburst. After a short while the Api should mention a server being connected.

  • If you run into issues, retrace your steps, or contact us on discord

  • If everything works, your next challenge is to get Minecraft Earth to talk to your Api. If you're on Android, you can utilize our patcher, The CI for this can be found here. If you're on IOS, the only way to accomplish this without jailbreak is to utilize a DNS, such as bind9. Setup for that goes beyond the scope of this guide.