go-mcsc

command module
v0.0.0-...-31a7ca1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2024 License: AGPL-3.0 Imports: 7 Imported by: 0

README

Go Coverage

Go Minecraft Server Controller (GoMCSC)

GoMCSC is an HTTP and WebSocket server that essentially wraps around a Minecraft server process and controls it by writing and reading pipes to the Minecraft server's standard input, standard output, and standard error streams.

Currently, this server controller can download any version of Minecraft Java Edition's server jar and run it. This controller can also start and stop the server as well as pass commands to the Minecraft server console.

The goal of GoMCSC is to be remotely controllable by a control plane of sorts via a REST API and be able to stream the Minecraft server console input and output using WebSockets. Eventually, this server controller should also be usable as a general server controller that can be controlled via a graphical web dashboard.

Code Generation

To generate code from the openapi.yml OpenAPI 3.0 spec, run this in your terminal

go get # installs the correct oapi-codegen version
oapi-codegen -config oapi-codegen.yml openapi.yml

TODO

  • Write OpenAPI spec for the server controller's REST API
  • Implement REST API endpoints
  • Implement WebSocket streaming of the standard input, output, and error streams for the Minecraft server console
  • Implement API key authentication
  • Add support for Bedrock Minecraft Servers
  • Add support for mods
  • Add support for modded versions of Java Minecraft (Neoforge, Spigot, etc.)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL