Es ist eine Geschichte, dass ein Anfänger, der zum ersten Mal in GCP weniger als ein halbes Jahr alt ist, einen Micra-Server zum Lernen gebaut hat.
Auf jeden Fall wird nichts gestartet, es sei denn, Sie erstellen eine Instanz für den Micra-Server. Grundsätzlich werden wir es unter Bezugnahme auf die folgenden offiziellen Dokumente erstellen. Die offizielle Dokumentation von GCP war ziemlich leicht zu verstehen, was für Anfänger eine große Hilfe war.
Richten Sie den Minecraft-Server in der Compute Engine ein (https://cloud.google.com/solutions/gaming/minecraft-server?hl=ja#automate_start_up_and_shutdown_procedures).
Für die Instanz habe ich es mit dieser Einstellung erstellt.
Artikel | Inhalt |
---|---|
Instanzname | mineserver |
Region | us-central1 |
Zone | us-central1-f |
Serie | N1 |
Maschinentyp | n1-standard-2 |
Boot-Diskette | CentOS 7 |
Präventiv | Wirksamkeit |
Externe IP der Netzwerkschnittstelle | Erstellen Sie eine IP-Adresse |
** Zulässige Instanzlimits ** Der Vorteil der Aktivierung vorab zulässiger Instanzen besteht einfach darin, dass die Kosten der Instanz ein Drittel der normalen Kosten betragen. In Bezug auf den Micra-Server dachte ich diesmal, dass es fast keine Situation gab, in der ich angemeldet war, und entschied mich daher für eine präemptible Instanz mit der Priorität, die Kosten erheblich zu senken. Wie im Ziel erwähnt, gibt es meines Erachtens nicht viele Hindernisse, da die Instanz nur gestartet wird, wenn das Spiel aus Zwietracht gespielt wird, und gestoppt wird, wenn es beendet ist.
Einzelheiten zu den Nachteilen entnehmen Sie bitte dem offiziellen Dokument.
Begrenzen Sie vorab zulässige Instanzen (https://cloud.google.com/compute/docs/instances/preemptible#understanding_the_preemption_process)
** Persistente Festplatte hinzufügen ** Erstellen Sie weitere Discs wie folgt.
Artikel | Inhalt |
---|---|
Datenträgername | minecraft-disk |
Festplattentyp | Persistenter SSD-Typ |
Quelle Typ | Leerer Typ |
Größe | 50GB |
Grundsätzlich werden wir auf der Grundlage des oben beschriebenen offiziellen Dokuments fortfahren, aber Offiziell verwendet das Betriebssystem Debian und ich verwende CentOS, daher sind einige der Befehle unterschiedlich. Da die Unterschiede beschrieben sind, würden wir uns freuen, wenn Sie sie zusammen mit dem offiziellen Dokument lesen könnten.
** Java Runtime Environment (JRE) einrichten **
#Aktualisieren Sie zunächst auf die neueste Version des vorhandenen Pakets
$ yum update
#JRE-Installation
$ yum install -y default-jre-headless
** Micra Server herunterladen und installieren ** Offiziell wird es mit wget heruntergeladen, aber centOS hat standardmäßig kein "wget", also installieren Sie es. Kopieren Sie für den Download-Link des Micra-Servers den neuesten Link von der Download-Seite von minecraft und ersetzen Sie ihn.
#Installieren Sie wget
$ yum install wget
#Installation des Micra-Servers
$ wget https://launcher.mojang.com/v1/objects/f1a0073671057f01aa843443fef34330281333ce/server.jar
** Erster Start des Servers ** Der folgende Befehl sagt "-Xms1G -Xmx3G", aber dieser ordnet Speicher zu. Sie kann gemäß den Maschinenspezifikationen eingestellt werden.
#Führen Sie den Micra-Server aus
$ java -Xms1G -Xmx3G -d64 -jar server.jar nogui
** Nutzungsbedingungen für den Micra Server ** Nach dem ersten Start werden mehrere Dateien im selben Verzeichnis erstellt, und es befindet sich eine Datei mit dem Namen "eula.txt". Öffnen Sie sie daher mit dem folgenden Befehl und bearbeiten Sie sie. Wenn Sie mit den EULA-Bedingungen einverstanden sind, ändern Sie den Wert von "eula" von "false" in "true", speichern und beenden Sie ihn.
$ vi eula.txt
#Unterhalb von Eula.Inhalt von txt
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Thu Nov 21 18:02:54 UTC 2019
eula=true <--Ändern Sie hier von "falsch" zu "wahr"
Zu diesem Zeitpunkt ist die minimal erforderliche Einrichtung abgeschlossen.
Wenn Sie dies jedoch unverändert lassen und sich vom Server abmelden, wird die Sitzung unterbrochen und der Micra-Server wird gestoppt.
Verwenden Sie screen
, um dieses Problem zu lösen.
Installieren Sie zuerst screen
.
#Bildschirminstallation
$ yum install screen
Führen Sie den Micra-Server mit dem installierten Bildschirm aus. Auf der folgenden Seite erfahren Sie, wie Sie die Bildschirmbefehle verwenden.
#Führen Sie den Micra-Server über den Bildschirm aus
$ screen -S mcs java -Xms1G -Xmx3G -d64 -jar server.jar nogui
** Ermöglichen Sie Clients, sich beim Micra-Server anzumelden **
Wie in der offiziellen Dokumentation angegeben, verwendet der Micra-Server 25565 als Standard-Überwachungsport. Erstellen Sie daher eine Firewall-Regel, um dies zuzulassen. Wenn Sie den Port ändern möchten, können Sie ihn ändern, indem Sie "server.properties" im selben Verzeichnis bearbeiten. Darüber hinaus können Sie mit "server.properties" verschiedene andere Einstellungen des Micra-Servers ändern.
** Start und Stopp der Instanz automatisieren ** Wenn Sie den Server regelmäßig herunterfahren möchten, fügen Sie Ihrer Instanz Start- und Herunterfahrskripts hinzu, um häufig verwendetes Starten und Stoppen zu automatisieren.
Wenn Sie die Instanz später über Zwietracht steuern möchten, müssen Sie sie jetzt einstellen.
Fügen Sie im Abschnitt VM-Instanz-> Klicken Sie auf Instanzname-> Bearbeiten-> Benutzerdefinierte Metadaten der GCP-Konsole einen neuen Schlüssel mit dem Namen "Startskript" hinzu und fügen Sie dem Wert das folgende Skript hinzu ] In das Feld kopieren.
#!/bin/bash
mount /dev/disk/by-id/google-minecraft-disk /home/minecraft
(crontab -l | grep -v -F "/home/minecraft/backup.sh" ; echo "0 */4 * * * /home/minecraft/backup.sh")| crontab -
cd /home/minecraft
screen -d -m -S mcs java -Xms1G -Xmx3G -d64 -jar server.jar nogui
Um das Herunterfahren zu automatisieren, fügen Sie einen weiteren Schlüssel hinzu, "shutdown-script", und kopieren Sie das folgende Skript in das Feld "Wert".
#!/bin/bash
/home/minecraft/backup.sh
sudo screen -r mcs -X stuff '/stop\n'
Ich spielte Micra und stürzte plötzlich ab und die Daten flogen weg. Was für eine traurige Sache, die ich schon mehrmals hatte. Für einen solchen Fall ist es wichtig, regelmäßig Backups zu erstellen.
Gehen Sie grundsätzlich gemäß dem Punkt "Regelmäßige Sicherung planen" im offiziellen Dokument vor.
Erstellen Sie zunächst einen neuen regionalen Cloud Storage-Bucket gemäß der offiziellen Dokumentation. Ersetzen Sie die Region, in der Sie den Bucket erstellen, wenn Sie möchten. Ich habe es in "Asien-Nordosten1 (Tokio)" erstellt.
Erstellen Sie ein Backup-Skript und führen Sie es regelmäßig mit "cron" aus.
#Erstellen eines Sicherungsskripts
$ vi /home/minecraft/backup.sh
#Unten Backup.Inhalt von sh
#!/bin/bash
screen -r mcs -X stuff '/save-all\n/save-off\n'
/usr/bin/gsutil cp -R ${BASH_SOURCE%/*}/world gs://[BUCKET_NAME]/$(date "+%Y%m%d-%H%M%S")-world
screen -r mcs -X stuff '/save-on\n'
#Ändern Sie die Berechtigungen des erstellten Skripts
$ chmod 755 /home/minecraft/backup.sh
Um einen Cron-Job zu planen, müssen Sie an Crontab schreiben.
$ crontab -e
#Unten ist der Inhalt von crontab
0 */4 * * * /home/minecraft/backup.sh
Mit den obigen Einstellungen wird backup.sh
alle 4 Stunden ausgeführt.
Laut offiziellem Dokument dauert es 4 Stunden, aber wenn ich abstürze und mich erholt habe, ist es mental schwierig, bis zu 4 Stunden in den vorherigen Zustand zurückzukehren, also habe ich es jede Stunde geschafft (lacht).
** Speichern Sie Backups für Generationen **
Wenn Sie nur weiter sichern, werden die Dateien sehr groß, sodass immer nur eine bestimmte Anzahl von Generationen erhalten bleibt.
Cloud Storage
hat eine Funktion namens Life Cycle Management von Objekten.
Einfach ausgedrückt, werden alte Backups automatisch gelöscht.
Fahren Sie für die Einstellungen gemäß dem Punkt "Alte Sicherungen automatisch löschen" im offiziellen Dokument fort. 1 Punkt Elemente mit anderen Einstellungen als im offiziellen Dokument sind Wählen Sie im Abschnitt Objektbedingung auswählen die Option Alter aus. Ich habe mein Alter auf 3 Tage anstatt auf 7 Tage geändert. In meinem Fall mache ich jede Stunde Backups. Wenn ich also 24 Mal am Tag und 7 Tage abreise, bleiben 168 Backups übrig. Wie erwartet wurde es unter Berücksichtigung der Kosten auf 3 Tage festgelegt.
Wie war es? Dies ist das Ende des Aufbaus des Micra-Servers. Beim nächsten Mal wird es möglich sein, den diesmal aus Discord erstellten Micra-Server zu steuern.
Nächstes Mal-> Eine Geschichte über den Betrieb einer GCP-Instanz von Discord
Recommended Posts