Docker und Amazon Container Service

Ein Wochenende voller WTF ist vorbei. Themen des Wochenendes waren Dicker, AWS und die blaue Wolke (Cloud) .

Zuerst hab ich viel Zeit verbracht mich intensiver mit Docker zu beschäftigen. Zu allererst Docker Registry: Man logt sich mit Hilfe des Befehls „docker login“ ein und kann nun seine Container ins docker hub schieben. Dazu benutzt man den Befehl „docker push myApp“. Und tada das repository wurde auf docker hub angelegt. Jetzt liegen dort als … Was genau.. die lokal gebauten Container. Blöd nur das zum Beispiel mein railo Container der eine Webseite birgt den Source Code von meinem lokalen Windows Platte gezogen hat. Dieser fehlt nun. Also kein Source Code im Container.

Was nun?

Lesen Lesen Lesen Lesen Lesen wtf Lesen Lesen ahhhh :

Automatisches build repository mit github. Fast schon perfekt. also auf github den Source Code des docker container gepushed. Siehe da alle Infos sind im docker hub inklusive der dockerfile. Was fehlt jetzt immer noch der Source Code. 2 Optionen habe ich nun ohne groß zu Überlegen. Entweder den Code mit in das repository … Pfui … Ein eigenes Repository. Besser, also Code pushen docker File anpassen docker pushen. Start build. Sehr gut so geht’s.

Aber nicht das was mir vorschwebte. Am Rande, ich hab es auch bis jetzt noch nicht erreicht. Ich möchte die Container in AWS laufen lassen über den ACS. Mein Quellcode soll nicht in einem public Repro liegen. Dockerfiles auch nicht. Also Setup für ein Closed Projekt.

Ein weiterer Test den ich gemacht habe war das Docker File aus dem automatmischen repository zu ziehen und den Code als Zipfile von aws S3. Zugriff des S3 nur auf aws Ebene. Wtf build fehlgeschlagen… wtf wo findet der build statt? Etwa Auf docker? -.-

Also nächstes Ziel vielleicht ec2 instance fürs docker. s3 als docker register Speicher. Privates repro des Codes auf github mit public key der ec2.

Die nächsten Tage werde ich wohl hier noch am richtigen Entwurf arbeiten. Sobald das passt geht’s an die API. Wer will schon immer klicken.

Trotzdem Erfolge.

Der Spass darf natürlich nicht fehlen. Also habe ich die ACS mit minecraft getestet. Docker gebaut gepushed eingetragen und tada. Erstmal je Runde daddeln. Config anpassen bungecore dazu packen und 10 Server anschmeißen. Gut 10 laufen manuelles anpassen der ips etc… Ne danke morgen vielleicht 🙂 aber nun kann ich auf 10 Servern zocken.

WTF

Nerviger Nebeneffekt #minecraft

Ein einzelner Minecraft Server macht in der Regel das was er soll und jeder neue Spieler bekommt eine UUID mit der das Profil gespeichert wird.

Wenn da nicht der Online Modus wäre…

In der Minecraft Server Config gibt es eine Einstellung den Server Offline zu betreiben. Sehr praktisch wenn man kein Internet hat da diese Einstellung die Online Prüfung des Accounts bei Minecraft deaktiviert. Betreibt man mehrere Server in einem sogenanntem Bungecore Netzwerk ist es ein muss diese Einstellung zu nutzen. Die eigentliche  Überprüfung über nimmt dann der Bungecore Server.

Nun zum Effekt. Nehme ich meinen ersten Server im Online Modus haben die Spieler eine UUID. Stelle ich diesen Modus nun auf Offline bekommen die Spieler wieder eine neue UUID. Connecte ich den Server in ein Bungecore Netzwerk, noch eine UUID. Ein Wechsel der UUID hat im Spiel erstmal den Effekt das man als neuer Spieler anfängt, sprich keine Erfolge, kein Inventar, keine Level und keine Rüstung mehr. In Verbindung mit verschiedenen Plugins ergibt sich ein Wirrwarr aus Namen geprüft und UUID geprüft.

Ein Plugin das auf Namen prüft funktioniert natürlich weiterhin richtig solang der User seinen Namen nicht ändert. Aber hier kann im Offlinemidus jeder mit irgendeinem Namen Connecten und das Eigentum anderer an sich nehmen oder gar Admin ergaunern. Alle anderen Plugins kennen den User nicht mehr.

Minecraft Social bassiert nur auf uuid und brachte neben dem Verlust der Items noch Zugriffsprobleme mit sich.

Mein Tipp: organisiert die Strukturen der Server bevor der erste Spieler drauf kommt Und ändert es niemals !

Dummer User – minecraft-server.eu #mcsocial

Da Ich meinen Minecraft Social Server auf einer neuen Ip/Subdomain laufen habe dachte ich mir gut.. Da der Server eh schon auf Minecraft-Server.eu gelistet ist schmeiß ich den Server mit neuer Öl auch da rein. Pustekuchen… Müller les die Regeln!

Der Server wurde natürlich Prompt als doppelter Eintrag gewertet und ich würde verwarnt. Dummer User…

Ich finde es aber gut das es dort so gehandelt wird und kann jedem nur empfehlen seinen Server auch dort einzutragen.

http://minecraft-Server.eu

NPC Shops #Minecraft Bukkit

Das NPC Shopsystem läuft endlich rund. Die Menü Anzeige weißt keine Fehler mehr auf und die Preise ändern sich wie gewünscht, bis auf eine Kleinigkeit. Solange das Menü offen ist ändert sich für den aktuellen Spieler die Preise nicht. Das darf Natürlich nicht sein. es ist zwar nur eine Schönheitsfehler aber stellt mich nicht zufrieden. Das pflegen der Shops über ein Webinterface ist auch extrem angenehm und kann auch von unterwegs gepflegt werden.

Einen Einblick bekommt ihr auf dem Minecradt Server : mcsocial.minecraft.net

Minecraft Plugins Webservice

Lange nichts geschrieben.. also:

Da ich wirklich sehr sehr viel Zeit in die Entwicklung von Minecraft Bukkit Plugins und Bungecore Plugins investiert habe ist es nahe liegend darüber zu schreiben.

Ich fand das es gut wäre Die Spieler auf dem Server zu sehen. Entweder als Android ab oder auf der Webseite des Projektes, in diesem Fall http://minecraft-social.de , bisschen Werbung … , zu sehen. Also habe ich eine Rest API mit JSON in das Plugin installiert. Hier kann ich nun verschiedene Dinge abfragen und natürlich das Admin Tool ansprechen.

Ebenso hab ich minecraft-server.eu für votings implementiert. Sodass es nun Belohnungen dafür regnen kann.

Die Plugin Datenbank ist gleichzeitig für die Webseite zuständig so dass die Adminshops von dort aus administriert werden können. Hier können auch die Nachrichten Aufgaben, welche in regelmässigen Intervallen erscheinen zu bearbeiten.

Bis jetzt eine Runde Sache.

Minecraft Social Plugin

Anfangs sollte der Server hauptsächlich ein Vanilla Server bleiben. Jedoch musste man in vielen Fällen handeln und einige Besucher hatten wohl daran spass irgendwas kaputt zu machen. So wurden immer mehr Plugins installiert.

Towny zur Grundstücksverwaltung und um Städte zu gründen.
LWC um Kisten und Türen zu sichern.
nohack
Chunkcleaner
worldedit
Chestshop…

Und und und…

Nicht besonders zufrieden stellent. Allein die Die ganzen Verbindungen zur Datenbank.. jedes Plugin seine eigene..

Einige Dinge wollte man anders Haben andere fehlten was noch mehr Plugins und noch mehr Daten Müll beutet.

Also hab ich ein eigenes entwickelt.

MCSocial wurde es getauft und enthält vieles was andere einzel plugins auch machen und noch mehr.

Zum Beispiel:

Grundstücke mit vollem Schutz des eigenen hab und gutes. Dabei sind Kisten
Schilder Öfen Ambosse Bilderrahmen und und und vor dem Zugriff anderer geschützt. Pvp und Monster sicher.

Einfacher Schilder Schop für Spieler.

Die spieler unterteilen sich in Volker. Volker können sich in Nationen teilen und Städte Nationen angehören Und zu letzt können
Grundstücke zu Stätten vereint werden.

Um nicht gleich jeden zu kicken und zu bannen kann man diese nun im Gefängnisse besuchen.

Ein platzsparender NPC AdminShop mit kaufmenu.

Teleportsystem zu allen Städte, Weltspawn und zum eigenen Bett.

Range für Städte Nationen und Volker.

Mehrere Chat Räume die man bei Bedarf beitreten und verlassen kann. Nicht jeder mag den Global Chat.

Berufe bezogenes Crafting System. Jeder Spieler kann einen Beruf annehmen und neben einigen Standard Iteams diese Berufsiteams zusätzlich Herstellen. Ein Kurschner kann zwar keine Schwerter herstellen, kann jedoch mit Leder umgehen um sich Rustungen zu erstellen und einen Bogen bauen.

Dazu hab ich noch ein Admin Menü gebaut das Supportern, Moderatoren und Admins ohne op rechte viele wichtige Aktionen erlauben.

Das GANZE System läst sich einfach über ein Menü steuern und man ist ziemliche frei von Befehlen. Damit haben aus meiner Sicht viele Spieler Probleme.

Wenn alles soweit läuft, die Welt vorbereitet ist und das neue Plugin dann Live geht kommen einige Videos zur Erklärung des ganzen.

Projekt Minecraft Social

Die Geheimnisse eines Erfolgreichen Projektes liegen zum einen in der Community und zum anderen in der Zeit eine Community aufzubauen.

Wenn ihr auch schon mal ein Projekt gestartet habt und gerade in der Anfangszeit, das ganze sehr kritsch betrachtet habt wisst ihr sicherlich wie langsam das ganze entsteht.

Mein Projekt World-of-eSport aus dem Jahr 2005 hatte sehr lang gedauert bis es lief. Täglich habe ich Stunden damit zugebracht mit Leuten zu reden und zu schreiben, gleichzeitig hatte ich 700 Stunden in den Quellcode des Projektes gesteckt, musste mich in das hosten von Gameservern einarbeiten und entsprechende Server in mein Projekt einbinden.
Nach und nach registrierten sich Use. Am Anfang waren es 0 – 1 Registrierung am Tag, da man aber noch genug zu tun hatte achtete ich nicht viel darauf. Dann Registrierten sich mit den Laufenden Veranstalltungen ganze Gaming Squads und Clans so das die Registierungen Teilweise auf 50 – 100 an Ausnahme Tagen stiegen. Nach und nach lief es dann von selbst. Immer mehr User meldeten sich an um den Inhalt des Projektes zu nutzen sodass Nach einer Weile schon 7000 User angemeldet waren. Eine sehr lange Weile. Fast ein Jahr dauerte es bis es überhaupt anfing zu steigen. Aber am ende lohnte es sich doch für alle.

Dann gibt es aber auch noch Ausnahmeprojekte die einfach explodieren. Ich selbst hatte einmal das Vergnügen dies mit zu erleben. Das BotProjekt aus dem Jhr 2013 boomte bereits in der ersten woche nachdem der Code ferig war. In der ersten Woche schon über 1000 Besucher und 500 User im ersten Monat wurden schon die 10.000 geknackt. Ich kann jedem nur wünschen das mal erlebt zu dürfen.

Aber diese ausnahmen sind ehr selten und selten von dauer.

Aber das was hat das ganze mit dem Topic zu tun?
Minecraft Social ist ein Projekt aus der ersten Kategorie und es wird Zeit brauchen bis es anläuft. Bis lang gibt es 6 Spieler aber ich bin zuversichtlich das hier noch ein paar passende Spieler zusamen kommen. Diesmal steht jedoch nicht Programmierung mit im Vordergrund sondern die Communityarbeit. Mit den Leuten reden und für das Projekt begeistern .

Ich bin gespannt was in den nächsten Wochen kommen wird.

#minecraft #social Quest erledigt.

Gestern wurde die erste Quest in dem mini Projekt Minecraft Social abgeschlossen.

Die Bewohner haben eine Farm gebaut die genug Essen bietet. Optisch wird daran noch gearbeitet ich bin aufs Endergebniss gespannt.

Zur Belohnung der Quest:

Nach jeder Quest wird es verschiedene Belohnungen geben, diesmal war es ein voll ausgebauter Zaubertisch. Dieser ist in einem kleinem Häuschen in der nähe des Spawns zu finden.

Die nächste Quest wurde gestartet:

Erbaut eine Tierzucht für Kühe, Schweine und Hühner. Sodass genügend Fleisch und Leder für die Bewohner zur Verfügung steht.

Viel Erfolg!

#minecraft #bukkit Erste versuche #mclegend

Gestern Abend habe ich angefangen mich mit Minecraft Plugins auf Basis von Bukkit zu beschäftigen.

Sehr insteressantes Thema und auch hervorragend geeignet für Java Einsteiger. Wenn man die Grundlagen hat ist es kein Problem Minecraft nach seinen Wünschen zu Gestalten.

Meinen Server hab ich nun schonmal mit bukkit aufgerüstet und ein wunschplugin installiert das keinen großen Einfluss auf das spiel selbst nimmt. Dabei handelt es sich um das StepsSit Plugin um sich Stühle zu bauen auf dennen man sitzten kann. Ich persönlich finde auch das dieses Plugin weitere Möglichkeiten bietet auf friedlicher Art zusammen zu spielen.

Mein erstes Test Plugin ist für das Projekt #mclegend gedacht. Dieses Plugin gibt Spielern der Gruppe Zandaren einen Buff wenn der nächste Block ein Wasserblock ist. Wie immer hab ich natürlich vergessen zu prüfen ober der Buff bereits existiert, wenn dies zu trifft muss der Buff ja nicht neu gesetzt werden. Zudem würde das neu setzten des Buffs bei jeder Bewegung die Performance des Servers extrem runterziehen. Also Notiz an mich:

TODO: Change Buff Handling 🙂

Mehr zu Plugins in Minecraft demnächst hier im Block.