Skip to content

First minecraft episodes #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Aug 27, 2015
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Added first draft of first episode
  • Loading branch information
bauepete committed Aug 23, 2015
commit 1a0d2a862bc27214f06dd59d5903cf1a08f2c349
111 changes: 111 additions & 0 deletions trainingsanleitungen/minecraft-plugins/01_installationen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
layout: sushi
title: Installationen
description: In dieser Übung wirst du die zum Plugin-Programmieren und -Testen nötige Software installieren.
---

# Installationen
Um später die Funktionalität eines Minecraft-Servers erweitern zu können (z. B. neue Commands zulassen, bei bestimmten Ereignissen neue Aktionen ausführen etc.), wollen wir zuerst einen Server auf unserem eigenen Computer installieren.

Damit dein Computer ein Minecraft-Server wird, musst du eine bestimmte Software installieren, nämlich den "Minecraft-Server". Das klingt jetzt ein wenig seltsam. Das kommt daher, dass wir Informatiker das Wort "Server" manchmal für einen ganzen Computer benutzen (z. B. "Der Web-Server ist heute wieder mal superschnell"). Aber manchmal verwenden wir das Wort "Server" auch nur für ein Programm, die Server-Software, die einen Computer zu einem Server macht.

Also, um deinen Computer zu einem Minecraft-Server zu machen, musst du eine Server-Software, den "Minecraft-Server" installieren, alles klar?

## Download Java
Minecraft ist ein Java-Programm. Um diese laufen lassen zu können, musst du die Java Virtual Machine (JVM) auf deinem Computer installiert haben. Damit sich das ganze auszahlt ist auch noch Netbeans (das Programm, mit dem wir dann Java Programmieren werden) ein Java-Programm.

### Unter Windows
1. Zuerst wollen wir schaun, ob vielleicht Java schon installiert ist. Dazu …

2. Wenn Java noch nicht installiert ist, dann überprüfen wir als nächstes, ob du ein 32 oder 46 Bit Windows installiert hast. Dazu drückst du im Start-Screen die Taste mit den Windows-Logo und gleichzeitig das 'X'. Im Administrator-Menü links unten klickst du dann auf den Punkt System. ![Step1](01_installationen/CheckWinArchitectureStep1.jpg) Im darauffolgenden Fenster kannst du dann ablesen, welche Windows-Architektur du hast. ![Step2](01_installationen/CheckWinArchitectureStep2.png)

3. Nun öffen wir im Browser die Adresse <http://www.oracle.com/technetwork/java/javase/downloads/index.html> und klicken auf Java Download. Jetzt macht es sich bezahlt, wenn du dir gemerkt hast, welche Windows-Architektur du installiert hast, weil du dich hier entscheiden musst: ![SelectOs](01_installationen/SelectOs.png) Auja, und den Radio-Button mit dem du das License Agreement akzeptierst, darfst du auch nicht vergessen, sonst wirds nix mit dem Download.

4. Wenn das exe auf deinem Computer heruntergeladen ist, startest du es und folgst den Installationsanweisungen. Wenn dir etwas komisch vorkommt, frag einen deiner Mentoren.

### Unter MacOS
1. Wir öffnen das Terminal und tippen mal `ls -l /Library/Java/JavaVirtualMachines/` rein, wenn da so etwas wie

```total 0
drwxr-xr-x+ 3 root wheel 102 Jul 22 2013 jdk1.7.0_25.jdk
drwxr-xr-x 3 root wheel 102 Feb 19 09:35 jdk1.8.0_31.jdk
```

rauskommt, dann hast du das jdk bereits installiert und kannst gleich bei Punkt x weitermachen.

2. Nun öffen wir im Browser die Adresse <http://www.oracle.com/technetwork/java/javase/downloads/index.html> und klicken auf Java Download. Jetzt macht es sich bezahlt, wenn du dir gemerkt hast, welche Windows-Architektur du installiert hast, weil du dich hier entscheiden musst: ![SelectOs](01_installationen/SelectOs.png)
Auja, und den Radio-Button mit dem du das License Agreement akzeptierst, darfst du auch nicht vergessen, sonst wirds nix mit dem Download.

3. Nun machst du einen Doppelklick auf das dmg in deinem Download-Folder, startest den Installer und folgst den Anweisungen. Wenn dir etwas komisch vorkommt, frag einen deiner Mentoren.


### Großeltern-Imponier-Wissen
* Die Architektur eines Betriebssystems
* Java ist eine Programmiersprache, die auf allen verschiedenen Betriebssystemen (Windows, MacOS, Linux etc.) läuft. Damit das gut funktioniert, benötigt es die JVM (Java Virtual Machine)
* JDK ist das **J**ava **D**evelopment **K**it. Das ist die Basis-Software, die man braucht, damit man Java entwickeln kann.

## Download NetBeans
Damit wir unsere Plugins in Java bequem entwickeln können, werden wir NetBeans als IDE verwenden. Wenn du diese noch nicht installiert hast, werden wir das hier machen. Glücklicherweise läuft das unter Windows und MacOS und auch Linux sehr ähnlich ab:

1. Du gehst zur Website <https://netbeans.org/downloads/index.html>. Dort kannst du dir aussuchen, in welcher "Ausbaustufe" du NetBeans haben möchtest. Wenn du genug Speicher auf deiner Festplatte oder SSD hast, würde ich die Variante "All" empfehlen. Damit kannst du NetBeans auch als IDE für Web-Entwicklung und C/C++-Entwicklung verwenden. Mit einem Klick auf den Button Download lädst du das gewünschte Bundle auf deinen Computer.
2. Abschließend müssen wir wieder das exe starten (Windows) oder das dmg öffnen und den Installer starten (Mac) und den Anweisungen im Programm folgen.
3. Abschließend kannst du dann NetBeans mal starten. Das müsste dann folgendermaßen aussehen:

![NetBeans Startup Page](01_installationen/NetBeansStartupPage.png)

Gratuliere, damit haben wir bereits den Großteil unserer Vorbereitungsarbeiten geschafft.

### Großeltern-Imponier-Wissen
* Eine IDE ist eine Integrierte Entwicklungsumgebung (**I**ntegrated **D**evelopment **E**nvironment). Damit kann man sehr bequem Programme entwickeln. Bekannte Exemplare dieser Gattung sind Visual Studio, Netbeans, Eclipse, XCode, IntelliJ usw.

## Download Server-Software
Es gibt eine Reihe von verschiedenen Servern, die wir installieren können. Die Originalfirma (Mojang) einen an. Der hat aber den Nachteil, dass er keine Plugin-Schnittstelle zur Verfügung stellt. Die bekannteste Server-Software mit der man auch Plugins erstellen kann, ist Bukkit. Gehe auf die Coderdojo Website und lade die Datei ``craftbukkit.jar`` auf deinen Computer.

Dieses ``craftbukkit.jar`` ist unsere Server-Software, die wir jetzt starten müssen. Damit wir das in gewohnter Weise mit einem Doppelklick machen können, müssen wir noch eine kleine Vorkehrung treffen. Diese unterscheidet sich wieder leicht zwischen Windows und MacOS:

### Windows
Erstelle als erstes einen neuen Ordner mit Namen ``bukkitServer`` und bewege ``craftbukkit.jar`` da hinein. Dann starte deinen Lieblings-Texteditor (bitte nicht Word, sonder Notepad oder besser Notepad++) und tippe folgende Zeilen ab:

title run-minecraft
java -Xms1024M -Xmx2048M -jar minecraft_server.jar nogui
pause

Dann speicherst du die Datei unter dem Namen ``Start.bat`` ab.
### MacOS
Erstelle als erstes einen neuen Ordner mit Namen ``bukkitServer`` und bewege ``craftbukkit.jar`` da hinein. Dann starte deinen Lieblings-Texteditor (bitte nicht Word oder Pages, sonder TextEdit oder besser Atom oder TextWrangler) und tippe folgende Zeilen ab:

#!/bin/bash
cd "$( dirname "$0")"
java -Xmx1024M -jar craftbukkit.jar -o true

Dieses File speicherst du am besten unter dem Namen start.sh.

### Großeltern-Imponier-Wissen:
* Ein Plugin ist ein Stück Software, mit dem man eine bestehende Software erweitert.
* Eine Schnittstelle sind verschiedene Funktionen, die man benutzen kann, um

## Den Server das erste Mal starten
Wenn du diese Datei nun mit einem Doppelklick startest müsste ein Fenster mit dem Cmd-Prompt oder dem Terminal (schwarzes Fenster mit weißem Text unter Windows oder weißes Fenster mit schwarzem Text unter MacOS) erscheinen und nach einer Weile folgende Meldungen darin angezeigt werden.

[18:22:27 INFO]: Starting minecraft server version 1.7.10
[18:22:27 INFO]: Loading properties
[18:22:27 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[18:22:27 INFO]: Stopping server
[18:22:27 INFO]: Stopping server

Damit sind wir schon fast am Ziel. Wie du oben siehst, will der Server noch, dass wir das EULA akzeptieren. Freundlicherweise schreibt er auch, was wir tun sollen, nämlich ``eula.txt`` für weitere Informationen ansehen. Wir nehmen also wieder unseren Lieblings-Editor zur Hand und öffnen dieses ``eula.txt``.

In der letzten Zeile dieses Files steht ``eula=false``. Das müssen wir in ``eula=true`` umschreiben und dann probieren wir es noch mal und starten den Server mit einem Doppelklick. Jetzt müsste er sauber starten. Du merkst das, dass nun im Fenster sehr viel mehr Meldungen angezeigt werden und zum Schluss die Zeile

[18:24:04 INFO]: Done (1.369s)! For help, type "help" or "?"

stehen sollte. Um ganz sicher zu gehen, musst du natürlich jetzt dein Minecraft starten. Dazu wählst du am Startscreen die Option **Multiplayer**. Wenn es schnell gehen soll, klickst du auf den Button **Direct Connect** und gibst als Server-Adresse ``localhost`` ein.

Da wir den Server aber sicherlich öfter brauchen werden, zahlt es sich wahrscheinlich aus, dass du ihn zur Liste deiner Server hinzufügst. Dazu wählst du den Button **Add Server**. Dann kannst du deinem Server einen Namen geben, sodass du ihn schnell wiedererkennst und als Adresse gibst du wieder ``localhost`` an.

So jetzt solltest du dich mit dem Server verbinden können. Wenn du andere Spieler auf deinen Server einladen möchtest und diese Spieler im gleichen lokalen Netz sind wie du, musst du ihnen die IP-Number deines Computers mitteilen. Diese müssen sie dann bei Server-Adresse eingeben. Dann sollten Sie deinem Server beitreten können.


### Großeltern-Imponier-Wissen:
* EULA ist eine Abkürzung und bedeutet **E**nd **U**ser **L**icense **A**greement, also Endbenutzer-Lizenz-Vereinbarung (danke ihr lieben JuristInnen, hüstel).
* IP-Numbers sind Zahlenkombinationen (z. B. ``192.168.0.3``) mit denen Computer in einem Netzwerk eindeutig gekennzeichnet sind. Der eigene Computer ist immer über die IP-Number ``127.0.0.1`` oder eben auch über den Begriff ``localhost`` erreichbar.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.