Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lucascompython/terracraft

Minecraft <-> Terraria chat bridge
https://github.com/lucascompython/terracraft

Last synced: about 1 month ago
JSON representation

Minecraft <-> Terraria chat bridge

Awesome Lists containing this project

README

        

# Minecraft <-> Terraria chat bridge

On the Minecraft side of things, this it's [PaperMC](https://papermc.io/) Plugin.
On the Terraria side of things, this it's [TShock](https://github.com/Pryaxis/TShock) plugin.
Works using a gRPC bi-directional stream.

## Demo

https://github.com/lucascompython/terracraft/assets/77930083/d7a78d70-0910-4479-8c04-46ee99b23285

## Security

For security reasons, the Minecraft server and the Terraria server must share a token of 32 bytes.
This token will be used to encrypt and decrypt the messages sent between the games.
This token can be generated with the `gen_token.ps1` or `gen_token.sh` scripts.

```bash
./gen_token.ps1
# OR
./gen_token.sh
```

Malicious users that don't have the token will not be able to send messages.

## How to run

### Minecraft

+ Run the server once to generate the `plugins` folder.
+ Drop the `TerraCraft.jar` into the `plugins` folder.
+ Start once again the server to generate the `plugins/TerraCraft` folder.
+ Copy the token to the `plugins/TerraCraft/config.yml` file.

### Terraria

+ Drop all the .dll files into the `ServerPlugins` folder.
+ Start the server to generate the `/tshock/terracraft_config.json` file.
+ Copy the token to the `terracraft_config.json` file.

## How to build

### Minecraft

```bash
cd minecraft/TerraCraft
./gradlew proguard
```

### Terraria

```bash
cd terraria/TerraCraft
./build.ps1
# OR
./build.sh
```