Skip to content

Latest commit

 

History

History
69 lines (47 loc) · 2.36 KB

README.md

File metadata and controls

69 lines (47 loc) · 2.36 KB

Minecraft Arduino

Eine Einführung in das Projekt kann hier gefunden werden.

Anforderungen

  • Java 8+
  • Maven
  • Minecraft 1.13.1
  • Spigot Minecraft Server 1.13.1-R0.1-SNAPSHOT-b1893
  • Arduino angeschlossen und konfiguriert

Setup

Damit das Projekt gestartet werden kann muss folgendes getan werden:

  1. Projekt bauen.
    cd Projekt
    mvn package
  2. Danach die JAR Datei *-jar-with-dependencies (im Ordner target) in den Plugins Ordner vom Spigot Server verschieben.
  3. Den Code von Arduino/code.ino auf den Arduino kopieren (via Arduino IDE) - wenn noch nicht getan.
  4. Den Spigot Server starten
    cd MC_SERVER_DIR
    java -jar spigot-1.13.1-R0.1-SNAPSHOT-b1893.jar

Hinweis für Linux Nutzer

Damit die Anwendung vernünftig unter Linux läuft und die USB Schnittstellen erkennen kann ist es notwendig folgende Parameter beim Start des Servers mitzugeben:

-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM1

Hier gilt es /dev/ttyACM1 mit dem jeweils richtigen Port zu ersetzten. Diesen kann man beispielsweise in der Arduino IDE auslesen.

Eine kompletter Befehl um den Server dann zu starten sieht wie folgt aus:

java -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM1 -jar spigot-1.13.1-R0.1-SNAPSHOT-b1893.jar

Hinweis für Fedora

Aus Sicherheitsgründen ist es unter Fedora nicht möglich den Server ohne Adminberichtigung zu starten. Grund dafür ist die RXTX Bibliothek welche versucht eine Lock-Datei im "alten" Stil zu erzeugen was nicht mehr funktioniert (siehe Issue).

Folgende Möglichkeiten ergeben sich jetzt:

  1. Server als Admin starten (via sudo)

  2. Das Verzeichnis /var/lock manipulieren

    sudo chown root:lock /var/lock
    sudo chmod g+w /var/lock

Beispiel für Arduino -> Minecraft

Der Arduino sendet einen Befehl mit einem Linebreak, z. B. könnte der Arduino den Wert knopf1\n senden.

In der Konfigurationsdatei muss am Ende die Zeile arduino_[arduino_wert]: [mein_befehl] eingefügt werden. Wenn der Spieler Player1 gekickt werden soll, sobald der Arduino den Wert knopf1\n sendet, muss Folgendes eingefügt werden:

arduino_knopf1: kick Player1

Die Beispieldateien findest Du im Ordner /beispiel_knopf1