The OreServer - en Raspberry Pi -dedikerad Minecraft -server med LED -spelareindikator: 9 steg (med bilder)
The OreServer - en Raspberry Pi -dedikerad Minecraft -server med LED -spelareindikator: 9 steg (med bilder)
Anonim

Av MrJymmFölj om: Massor av idéer, aldrig tillräckligt med tid. Mer om MrJymm »

UPPDATERING för juli 2020 - Innan du börjar med detta projekt, var medveten om att Många ändringar och uppdateringar har gjorts i de olika mjukvaruverktygen som jag använde för att skapa detta för över två år sedan. Som ett resultat fungerar många av stegen inte längre som de är skrivna. Projektet kan fortfarande slutföras och är fortfarande mycket roligt, men förvänta dig att behöva göra din egen pyssel för att få allt att fungera. Vissa lösningar kan hittas i de senaste kommentarerna i slutet av instruktionsboken. Tack och lycklig gruvdrift

Om du är fan av att spela Minecraft har du förmodligen tänkt på hur kul det skulle vara att ha en egen personlig server att dela med dina vänner. Mina söner bad mig ständigt om sin egen delade värld, och så småningom blev deras intresse för Minecraft kombinerat med mitt intresse för Raspberry Pi, och idén för OreServer föddes.

Detta projekt kommer att visa dig hur du konfigurerar en Minecraft -server med en rolig och unik funktion - den är byggd för att likna ett malmblock och den lyser upp med olika färger beroende på hur många människor som för närvarande spelar i din värld!

Men det slutar inte där! Vi kommer också att göra servern tillgänglig för alla med PC -utgåvan av Minecraft, så att du kan dela din serveradress och bjuda in vänner till din värld. Det kommer att köras 24/7, så även om du är upptagen eller utanför huset kan dina vänner fortsätta att bygga. Och vi kommer att ställa in automatiska säkerhetskopior bara om en tragedi slår till (den TNT -kanonen lät som en bra idé just då …) så att du kan återställa från tidigare dagars arbete.

Steg 1: Delar och verktygslista

Delar och verktygslista
Delar och verktygslista

Det här är de delar, verktyg och programvara du kommer att behöva för att slutföra detta projekt. Jag har lagt till länkar för referens, men de flesta av dessa tillbehör är tillgängliga från flera leverantörer, så hämta dem där det är enklast / billigast för dig.

Delar:

  • Raspberry Pi 3 och strömförsörjning

    Dessa finns också som uppsättning

  • Micro USB rätvinklig adapter
  • MicroSD -kort

    Minst 8 GB, men ett högkvalitativt 16 eller 32 GB kort rekommenderas

  • Adafruit Neopixel Jewel
  • Tre korta GPIO -kablar
  • Silver eller grå 3D -utskriftstråd (vilken typ som helst)
  • 2,5 mm skruvar (x4)
  • Bakplåtspapper eller vitt silkespapper

Verktyg:

  • MicroSD -kortläsare
  • Lödutrustning
  • Liten skruvmejsel
  • 3d skrivare

Programvara:

  • Minecraft (Java PC Edition)
  • Raspbian Lite ISO

    INTE "med skrivbordet" -versionen

  • etcher.io
  • Spackel eller en liknande SSH -terminalklient
  • Filezilla eller liknande FTP -klient

Steg 2: Installera och förbered Raspberry Pi

Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi
Installera och förbered Raspberry Pi

Innan vi kan börja installera servern måste vi slutföra några grundläggande installations- och konfigurationssteg på Pi.

1. Förbered MicroSD -kortet

Först måste vi sätta Rasbian -operativsystemet på vårt MicroSD -kort med etcher.io.

  1. Sätt i ditt MicroSD -kort i kortläsaren och kortläsaren i en USB -port på din dator
  2. Kör etsaren och använd knappen Välj bild för att ladda Rasbian Lite ISO
  3. Välj MicroSD -kortet för installationsenheten
  4. Klicka på Flash!

När processen är klar kommer etsaren att koppla bort MicroSD -enheten från systemet, men vi måste lägga till en fil till, så bara koppla ur den och sätt i den igen. Kortet kommer nu att läsas som en enhet märkt "boot". Kopiera en tom fil med namnet "ssh" till startenheten och koppla sedan bort MicroSD -enheten från systemet igen. MicroSD -kortet är nu klart att flytta in i Raspberry Pi.

** Om du inte kan ladda ner "ssh" -filen är det enkelt att göra din egen genom att helt enkelt byta namn på en tom textfil. Se till att du tar bort tillägget ".txt". När det fungerar blir ikonen tom som på skärmdumpen. **

2. Anslut till Pi: s terminal

Nu när Pi har ett operativsystem, låt oss slå på det!

  1. Anslut både en trådbunden ethernetkabel och strömförsörjningen till Rasberry Pi. Även om Pi 3 har inbyggt Wi-Fi-stöd, är en kabelanslutning mer robust och att föredra för vår server.
  2. Därefter måste vi hämta Pi: s IP -adress från din router. Detta steg kommer att skilja sig något beroende på ditt routermärke - i mitt fall anger jag 192.168.1.1 i min webbläsare för att logga in på routerns kontrollpanel. Du letar efter en DHCP -klientlista och en post med namnet "raspberrypi". Notera den tilldelade IP -adressen, i mitt exempel är det 192.168.1.115. Nu är också ett bra tillfälle att ställa in IP -adressen som "reserverad" eller "permanent" så att den inte tilldelas en annan adress senare. Om du har problem med det här steget vill du kontrollera din routers dokumentation eller supportwebbplats för mer information.
  3. Nu kan vi öppna Kitt, ange Pi: s IP -adress i fältet "Värdnamn" och klicka på "Öppna".

Du bör nu titta på en svart skärm med "inloggning som:". Detta är din Pi -terminal, och det är där vi ska göra resten av arbetet med att konfigurera servern. Kom ihåg att terminalskärmarna är för tangentbord! Din mus kommer inte att användas mycket här.

3. Raspi-konfiguration

För att slutföra den första installationen måste vi logga in med standardinställningarna:

logga in som: pi

lösenord: hallon

Nu kan vi gå igenom några grundläggande inställningar av Pi: s standardinställningar genom att ange följande

sudo raspi-config

Vi måste göra flera ändringar, och jag kommer att ta dig igenom dem i samma ordning som de är numrerade på konfigurationsskärmen.

  1. Ändra användarlösenord - Detta är ett måste! Alla känner till standardlösenordet, så ändra det omedelbart.
  2. Nätverksalternativ

    Värdnamn - som standard är detta "raspberrypi", men om du vill kan du ändra det till att vara mer beskrivande

  3. -(ingen förändring)-
  4. Lokaliseringsalternativ - om du inte är i Storbritannien kommer du att vilja ändra dessa till ditt eget land. Mina exempel antar att det är USA.

    1. Ändra språk - använd din nedåtpil för att hitta en post för "en_GB" med en * bredvid. Använd din mellanslagstangent för att ta bort det * och gå sedan ner ytterligare en bit till "en_US. UTF-8" och använd igen mellanslagstangenten för att markera det med *.
    2. Ändra tidszon - att ställa in detta är viktigt för att våra tidsinställda uppgifter ska fungera korrekt
    3. Ändra tangentbordslayout - du kanske kan hoppa över det här, men om du lämnar det i Storbritannien finns det några tangentbordssymboler som flyttas runt
  5. Gränssnittsalternativ

    1. -(ingen förändring)-
    2. SSH - Aktivera detta så att du kan fortsätta använda Putty efter omstart av Pi.
  6. -(ingen förändring)-
  7. Avancerade alternativ

    1. Expandera filsystemet - detta ser till att Pi kan använda allt utrymme som finns på SD -kortet
    2. -(ingen förändring)-
    3. Memory Split - ändra detta till 16 för att frigöra mer minne för Minecrafts användning.

Välj nu "Slutför" och välj sedan "Ja" för att starta om.

Detta avslutar din session i Putty. Ge det bara en stund att slutföra omstarten, öppna sedan Putty igen och anslut till Pi: s IP -adress igen. Kom ihåg att använda ditt nya lösenord!

Steg 3: Installera den dedikerade servern

Att konfigurera serverprogramvaran är det längsta steget, men också det viktigaste. Vi kommer att spendera mycket tid på att skriva in ett gäng tråkiga Linux -kommandon. Låt inte det skrämma dig! Så länge du kan kopiera och klistra in kommer du igenom den här delen.

En Minecraft -server är ganska komplex, och att köra den på en dator så liten som en Raspberry Pi kräver lite effektivisering. Jag började med denna fantastiska handledning av James Chambers, eftersom han har flera bra tips om hur man maximerar serverprestanda. Jag kommer att sammanfatta hans installationsprocess nedan och markera några ändringar och uppdateringar som jag har gjort, men jag rekommenderar starkt att du läser hans sida för mer information.

Nu när du har loggat in igen med standard "pi" och ditt nya lösenord kan vi börja ange kommandona för att installera serverfilerna.

Viktigt - Många av dessa kommandon är långa och komplexa och skulle vara en riktig smärta att skriva in i terminalfönstret. Så gör det inte! Markera kommandotexten i det här fönstret, kopiera den med ctrl-c och högerklicka sedan med musen i terminalfönstret för att klistra in texten. Se, den musen är bra för något trots allt!

Under resten av det här steget kopierar du var och en av kommandona i dessa kodtextrutor.

Jag ska ge korta förklaringar om vad vi gör under vägen.

Vi börjar med att uppdatera vår programvara.

sudo apt-get update && sudo apt-get upgrade

När du ser en begäran om installationsgodkännande skriver du "y" och trycker på enter för att acceptera och fortsätta.

Minecraft körs på Java, men vår "Lite" Rasbian -installation inkluderade den inte, så låt oss ta det.

wget-ingen kontroll-certifikat-ingen cookies-rubrik "Cookie: oraclelicense = accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808 /jdk-8u161-linux-arm32-vfp-hflt.tar.gz

Obs ** När Java uppdateras till en nyare version kan kommandot bli föråldrat. Om du får ett felmeddelande måste du uppdatera kommandot för den senaste versionen. Besök Oracles Java-nedladdningssida, klicka på knappen "Acceptera licensavtal" och högerklicka på länken till den senaste linux-arm32-filen och välj kopieringslänk. Du måste använda den uppdaterade länken för att ersätta texten i kommandot ovan, som börjar med http. **

Nu kan vi installera de Java -filer vi just laddat ner.

sudo mkdir /usr /java

cd /usr /java

Om du var tvungen att ändra nedladdningslänken för en ny version, se till att du ändrar versionsnumret i följande kommandon för att matcha.

sudo tar xf ~/jdk-8u161-linux-arm32-vfp-hflt.tar.gz

sudo update-alternativer-installera/usr/bin/java java /usr/java/jdk1.8.0_161/bin/java 1000

sudo update-alternativer --install/usr/bin/javac javac /usr/java/jdk1.8.0_161/bin/javac 1000

cd ~

Och slutligen, den viktigaste händelsen du har väntat så tålmodigt på, låt oss installera Minecraft -servern. Detta är en specialversion av servern som heter Paper, och den är full av optimeringar för att förbättra prestanda.

mkdir Paper

wget

packa upp master.zip -d Paper

mv ~/Paper/RaspberryPiMinecraft-master/* ~/Paper/

cd Papper

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M paperclip.jar

Det sista kommandot startar servern för första gången, och efter några ögonblick får du ett felmeddelande som säger att du måste godkänna EULA. Öppna EULA med nästa kommando:

nano eula.txt

Ändra raden som säger "eula = false" till "eula = true". Spara dina ändringar genom att trycka på ctrl-x, sedan Y och ange.

Obs ** James Chambers nämner en metod för överklockning av ditt SD -kort vid denna punkt i sin guide. Jag har inte personligen provat det steget, eftersom det kräver ett högkvalitativt kort och det jag hade tillgängligt att använda är inget speciellt. Jag tror att överklockningen säkert skulle förbättra prestandan ytterligare, men även utan överklockning går servern så bra att jag inte har fått några klagomål från barnen som lekte på den. **

Låt oss snabbt ta en titt på Serveregenskaperna och göra ett par ändringar.

nano server.properties

Det finns en lång lista med saker du kan ändra om din server här, till exempel att anpassa servernamnet och MOTD, ändra spelläget eller aktivera PvP- eller kommandoblock. Du kan ändra saker som du vill nu, eller så kan du öppna den här filen för att göra fler ändringar senare, men det är två ändringar som vi kommer att göra omedelbart.

max-spelare = 8

server-port = 25565

Åtta spelare är det högsta jag skulle rekommendera, något högre och du kommer med stor sannolikhet att se serverprestanda bli slöa, även med alla optimeringar som gjorts för att köra saker på Pi.

Serverport bör ändras eftersom alla, precis som standard "hallon" -lösenordet, känner till standardporten 25565. Även en mindre ändring till 26565 hjälper till att hålla din server säker. Anteckna portnumret bredvid där du sparade Pi: s IP -adress. Du kommer att behöva båda dessa senare.

När du har uppdaterat dina inställningar sparar du ändringarna genom att trycka på ctrl-x, sedan Y, och ange sedan.

Nästa steg i att förbereda din server kommer också att ta den längsta tiden när den startar, förmodligen ungefär en timme. Dessa kommandon kommer att generera din värld på förhand, vilket innebär att servern inte behöver göra allt detta arbete senare medan du och dina vänner utforskar.

cd ~/Papper/plugins

wget --content -disposition -E

sudo apt-get installera skärmen

cd Papper

./start.sh

Det kommer inte att se ut som om det hände något, men din server har nu startat! För att interagera med servern måste vi använda det här kommandot

skärm -r minecraft

Och sedan kommer vi att förgenerera världen:

wb world set 1000 spawn

wb world fill 1000

wb fill bekräfta

Detta är den del som kommer att ta lång tid. Ta ett mellanmål och kolla in senare! När processen är klar stänger du av servern med ett mycket enkelt kommando

sluta

Detta sparar och stänger servern och återför dig till Raspberry Pi -terminalen.

Vår sista uppgift är att ställa in servern för att starta automatiskt när Raspberry Pi är inkopplad eller startas om. Vi kan göra detta genom att skapa ett enkelt skript.

cd ~

nano start.sh

Vi har använt nano för att redigera ett par filer tidigare, men den här gången skapar vi en från början, så fönstret blir tomt. Kopiera dessa två rader till filen:

cd/home/pi/papper

skärm -dmS minecraft java -server -Dfile.encoding = UTF -8 -Xms512M -Xmx800M -XX: NewSize = 300M -XX: MaxNewSize = 500M -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:+UsePar CMSIncrementalPacing -XX: ParallelGCThreads = 4 -XX:+AggressiveOpts -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX: SurvivorRatio = 16 -XX: TargetSurvivorRatio = 90 -jar /home/pi/

Spara sedan ditt nya skript genom att trycka på ctrl-x, sedan Y, och ange sedan.

chmod +x start.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Den allra sista raden i rc.local -filen säger "exit 0". Direkt ovanför den raden kommer vi att lägga till detta:

su pi -c /home/pi/startup.sh

Och än en gång sparar vi filändringarna med ctrl-x, sedan Y, sedan anger du.

sudo starta om

Du får ett meddelande om att anslutningen har stängts och du kan stänga fönstret Kitt.

Det är allt! Du har klarat det tråkiga! Nu är vi redo att testa vår server!

Steg 4: Testa din server och bjud in dina vänner

Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner
Testa din server och bjud in dina vänner

Därefter kommer vi att kontrollera att servern fungerar och se till att våra vänner kan gå med.

Öppna din Minecraft -startprogram på din dator och tryck på Spela. Se till att du använder den senaste versionen för att matcha pappersservern.

Välj Multiplayer på huvudskärmen och sedan Lägg till server. Ange det namn du vill ha på din serverlista, och för serveradress anger du din Pi: s IP och portnummer. I mitt exempel använder vi 192.168.1.115:26565. Se till att du har ett kolon mellan IP -adressen och portnumret och att det inte finns några mellanslag. Klicka på Klar och sedan på spela på din server. Efter några ögonblick kommer du att hamna i din helt nya värld!

Vänta, kom tillbaka! Börja inte bygga helt själv, låt oss bjuda in några vänner! Tyvärr kan de inte använda samma IP -adress som du gör. Så för att få det att fungera måste du först berätta för din router att det är OK för personer som befinner sig utanför ditt hus att ansluta till Pi. Detta kallas Port Forwarding och den exakta processen kommer att skilja sig lite beroende på din router. Jag har bifogat en skärmdump av hur det ser ut på min TP Link -router, men du kan behöva kolla din routers supportwebbplats för mer information.

I dina portvidarebefordran anger du portnumret du valde för din server och sedan IP -adressen för din Raspberry Pi. Din router vet nu att när dina vänner försöker ansluta till det portnumret ska de riktas till Pi.

Därefter måste vi använda en gratis tjänst som No-IP för att skapa din egen unika adress, kallad ett värdnamn. Du kommer också att konfigurera antingen din router eller din dator för att hålla värdnamnets IP -adress uppdaterad.

Följ stegen i installationsguiden nu.

När du har konfigurerat ditt No-IP-konto kommer dina vänner att kunna ansluta till din server genom att ange ditt nya värdnamn och portnumret i avsnittet Serveradress på deras Minecraft-flerspelarskärm. Till exempel värdnamn.ddns.net:26565.

Steg 5: Rädda världen! (med automatiska säkerhetskopior)

Rädda världen! (med automatiska säkerhetskopior)
Rädda världen! (med automatiska säkerhetskopior)

Detta steg är valfritt, men det är en potentiell livräddare. Din värld står inför några allvarliga risker, oavsett om det är ett korrumperat MicroSD -kort, enstaka bus eller sorg, eller bara de irriterande rankorna. För att skydda allt ditt hårda arbete kommer vi att låta servern spara din världsfil automatiskt varje kväll. För att förhindra att ditt MicroSD -kort fylls kommer vi också att ta bort eventuella säkerhetskopior som är mer än en vecka gamla. Efter det kan du enkelt kopiera dem till din egen dator eller en annan säkerhetskopieringsenhet för ännu mer säkerhet.

Vi börjar med att använda Putty för att återansluta till vår Pi för att göra ett nytt skript.

nano dailybackup.sh

Kopiera följande kommandon till skriptet:

# Stoppa Minecraft -servern

skärm -x minecraft -X stopp stopp^M sömn 5 # Kopiera papperskatalog till backup/PaperYYDDMM cp -a Paper/. backup/Paper $ (date +%F) # Radera säkerhetskopior äldre än 7 dagar hitta backup/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

Och sedan, säg det med mig - spara din fil genom att trycka på ctrl -x, Y, enter.

Nu kommer vi att skapa en återkommande uppgift för att köra säkerhetskopian varje kväll med crontab.

crontab -e

Du får ett val av redaktörer första gången du kör det här kommandot, välj nummer 2 för Nano.

Detta öppnar en speciell fil för schemaläggning av uppgifter. Längst ner i filen lägger du till följande rader:

5 0 * * * /home/pi/dailybackup.sh

15 0 * * * sudo omstart

Den första raden berättar för Pi att köra ditt backup -skript kl. 12:05 varje natt. Den andra raden säger Pi att starta om tio minuter senare. Om du föredrar en annan tid för säkerhetskopiering och omstart kan du ändra dessa rader efter dina önskemål. Kom bara ihåg att det första numret är minuten och det andra talet är timmen i 24 -timmarsformat. De tre asteriskerna ser till att detta skript körs varje dag.

När ditt system har körts ett tag kanske du vill ha för vana att spara säkerhetskopiorna till en annan plats utanför Pi: s MicroSD -kort. Denna uppgift är mycket enkel genom att ansluta till din server med Filezilla. Dra helt enkelt backup -mappen från höger sida av Filezilla och släpp den till din dator. När den har kopierat alla filer kan du lagra dem så länge du vill!

Och om tragedin någonsin inträffar och du behöver gå tillbaka till en av dina sparade filer, är det ett snabbt och enkelt förfarande. Kontrollera först att du har stoppat servern:

skärm -r minecraft

sluta

Använd sedan Filezilla för att radera papperskatalogen och ersätt den genom att dra en av dina sparade kataloger tillbaka till Pi. Se till att du raderar datumet från katalognamnet så att det bara heter Papper igen. Sedan kan du starta om din server med

./startup.sh

Och precis så kan du komma tillbaka till byggnadsverksamheten!

Steg 6: Anslut lysdioderna

Anslut lysdioderna
Anslut lysdioderna
Anslut lysdioderna
Anslut lysdioderna
Anslut lysdioderna
Anslut lysdioderna

Dags att lägga till lite ljus! Det är här din server börjar bli mer än bara en dammsamlare bakom din bildskärm. Det här steget visar hur du lödar och fäster Neopixel Jewel till Raspberry Pi och installerar sedan den programvara som behövs för att köra lysdioderna. Strax efter det behöver du aldrig undra om någon är online och väntar på att spela med dig, eftersom din server bara kommer att berätta det för dig!

Adafruit's Neopixel är fantastiska lysdioder. De är RGB, vilket betyder att de kan lysa upp i vilken färg du vill. De är adresserbara, vilket innebär att du kan använda programvarukommandon för att ändra färg när du vill. För mycket mer bra information om hur Neopixels fungerar med Raspberry Pi, ta en titt på den officiella Adafruit -guiden.

Juvelen har 7 lysdioder som ger oss massor av starka ljusa färger. Det finns också fem lödkontaktpunkter, men vi kommer bara att använda tre. Jag rekommenderar starkt att du använder tre olika färgade trådar för att undvika att blanda ihop dem när du ansluter dem till Pi senare. I mina exempelbilder använde jag rött, svart och brunt.

Innan du börjar detta steg vill du ha Raspberry Pi helt avstängd. Ange dessa kommandon och koppla sedan ur Pi: s strömförsörjning.

skärm -r minecraft

sluta

sudo avstängning -h nu

Klipp av tre kvinnliga GPIO -kablar, tillräckligt långa för att du ska ha gott om tråd att arbeta med under lödning. Du kan alltid slussa upp överskottet som jag gjorde. Löd försiktigt ledningarna till kontakterna på juvelen. Fäst sedan honkontakterna på Raspberry Pi GPIO -stiften:

PWR till stift 1 = 3,3V

GND till stift 6 = Jord

IN till stift 12 = GPIO18

När juvelen är på plats kan du ansluta Pi: n igen och använda Putty för att ansluta och installera LED -programvaran med följande kommandon. Håll utkik efter platser som kan be dig att ange Y för att fortsätta installationen.

sudo apt-get install build-essential python-dev git

sudo apt-get install scons

sudo apt-get install swig

git -klon

cd rpi_ws281x

scons

Viktigt ** I nästa steg kommer vi att göra ett mindre tillägg till neopixelbiblioteket. Detta är nödvändigt för att undvika ett minnesfel som gjorde mig tokig i flera dagar. Utan det kommer lysdioderna att fungera i några timmar och sedan sluta uppdatera korrekt. **

cd python

python setup.py build

sudo nano build/lib.linux-armv7l-2.7/neopixel.py

Använd nedåtpilen för att rulla förbi raden där det står class Adafruit_NeoPixel (object):. Inte långt borta hittar du ett avsnitt med blå text som säger def _cleanup (self). Du kommer att kopiera följande rad till detta avsnitt, precis som visas på skärmdumpen ovan.

ws.ws2811_fini (self._leds)

Och än en gång måste vi spara ändringar med ctrl-x, Y, enter.

cd ~

cd rpi_ws281x/python

sudo python setup.py installera

Därefter måste vi berätta för testfilen hur många lysdioder vi har, sedan kan vi tända dem!

cd -exempel

sudo nano strandtest.py

Hitta raden som säger LED_COUNT = 16 och ändra den till LED_COUNT = 7, sedan ctrl-x, Y, enter för att spara.

sudo python strandtest.py

Om allt har gått rätt har du precis blivit förblindad av en blinkande regnbågsexplosion. När du kan se igen trycker du på ctrl-c för att stoppa lamporna. Lysdioderna slocknar inte, men de slutar blinka och det är tillräckligt bra för nu.

Steg 7: Programmera lysdioderna för att kontrollera serverstatus

Programmera lysdioderna för att kontrollera serverstatus
Programmera lysdioderna för att kontrollera serverstatus

Med våra lysdioder installerade och klara är det dags att få dem att reagera på servern. Specifikt kommer vi att få dem att indikera det aktuella antalet spelare på servern:

Spelare = malm

  • 0 = Redstone
  • 1-2 = Järn
  • 3-4 = Guld
  • 5-6 = Emerald
  • 7-8 = Diamant

Om servern inte körs kommer Oreblock att vara kol (lysdioder avstängda). Och som en extra bonus, om statuskontrollen inte kan hitta en internetanslutning blinkar lysdioderna gult!

För att hämta antalet spelare från servern ska vi installera mcstatus från Nathan Adams, en av Mojangs spelutvecklare.

sudo apt-get install python-pip

sudo pip installera mcstatus

Sedan måste vi kopiera de två python -skripten nedan, mcled.py och ledoff.py, till vår server med Filezilla. Dra bara och släpp de två skripten i rutan till höger, som visas på skärmdumpen.

Testa ledoff.py just nu så att vi kan stänga av lysdioderna som tändes i föregående steg.

sudo python ledoff.py

När du kör skripten manuellt så här får du ett meddelande som säger "Segmenteringsfel". Det här är ett olöst problem i biblioteket Neopixel.py som inte påverkar vad vi gör.

Om du är nyfiken på hur dessa skript fungerar kan du öppna dem med valfri textredigerare på din dator eller använda nano på terminalskärmen. Var bara försiktig så att du inte av misstag sparar några ändringar som kan hindra dem från att fungera!

Notera ** mcled.py förutsätter att du använder port 26565 från mitt exempel. Om du använder en annan port måste du ändra skriptet så att det matchar följande steg **

sudo nano mcled.py

Hitta en röd textrad som säger "# Get server player count", och nedanför ser du en rad som innehåller grön text som säger "localhost" och portnumret bredvid. Ändra portnumret så att det matchar ditt och spara som alltid dina ändringar med ctrl-x, Y, enter.

För att få ständiga uppdateringar om serverstatus kommer vi att berätta för Pi att köra mcled.py -skriptet varje minut, och det innebär att du ställer in ytterligare ett par rader i crontab.

crontab -e

Du kommer att se de två raderna vi lade till tidigare för schemaläggning av säkerhetskopior och omstart. Nu lägger vi till ytterligare två:

* 6-20 * * * sudo python mcled.py

0 21 * * * sudo python ledoff.py

Den första raden talar om för Pi att köra mcled.py varje minut i timmen mellan 06.00 och 20.59. Den andra raden berättar för Pi att stänga av lysdioderna vid 21:00. Det är en personlig preferens, för vid den tiden spelar mina barn inte längre Minecraft, även om servern fortsätter att köra. Vi har också OreServer framträdande ovanför vår TV och det starka ljuset blir irriterande på kvällen. Du kan naturligtvis ändra dessa två linjer för att få lysdioderna att gå non-stop, eller stänga av senare, eller vad som passar dina egna syften.

Strax efter att dina ändringar har sparats (är du trött på ctrl-x, Y, skriv in ännu?) Kommer manuset att kallas och din juvel tänds igen. Det kommer sannolikt att vara rött för att indikera att servern körs men inte används. Ta ett ögonblick nu för att starta Minecraft och gå med på servern som vi gjorde under vårt tidigare test. Strax efter att du har anslutit dig bör lysdioderna växla till vitt och sedan tillbaka till rött när du kopplar bort.

Steg 8: Gör malmhöljet

Gör malmhöljet
Gör malmhöljet
Gör malmhöljet
Gör malmhöljet
Gör malmhöljet
Gör malmhöljet
Gör malmhöljet
Gör malmhöljet

Den sista handen för att få ihop allt detta är oreblock -fodralet för Raspberry Pi. För att göra malmhöljet använde jag Lulzbot TAZ6 3D -skrivare på min lokala makerspace, RiverCityLabs. Jag har tillhandahållit mina utskrivbara. STL -filer för basen och toppen nedan. Om du inte har din egen 3D -skrivare, kontrollera ditt område för en maker -community, de är bra! Eller så kan du ha ett lokalt bibliotek eller en skola som har skrivare tillgängliga för allmänheten. Det finns också flera online 3D -utskriftstjänster som kan skriva ut och skicka en design till dig. Eller så kan du bli kreativ! Det finns inget som hindrar dig från att göra fodralet av kartong eller en hög med grå Lego eller vad du än har nära till hands.

Några viktiga anmärkningar för när du konfigurerar 3D -skrivarfiler:

  • Skriv ut filen utan några skalningsändringar för att se till att monteringshålen ligger i linje med Pi.
  • Vänd toppen upp och ner så att den öppna änden är uppåt.
  • Se till att du aktiverar dina supportinställningar så att överhängen på väggarna inte blir röriga.

När utskriften är klar kan du fästa Pi på basen med fyra 2,5 mm skruvar. Jag kan inte hitta en länk till den faktiska produkten men jag hittade dessa i ett 2 -pack på Menards, vilket var mycket bättre än att beställa en låda med 100 från Amazon.

Ta bort allt stödmaterial från toppen och klipp ett ark bakplåtspapper eller vitt silkespapper så att det passar inuti. Detta kommer att sprida LED -lamporna vilket gör att den glödande effekten ser en miljon gånger bättre ut än att bara lämna hålen öppna.

Anslut den rättvinklade MicroUSB -adaptern till strömporten så att kabeln går ut på baksidan av fodralet bredvid ethernetporten.

Nu kan du återansluta ström- och ethernetkablarna, sätta toppen på plats och njuta!

Steg 9: Sammanfattning, ytterligare tankar och tack

Stora priset i Minecraft Challenge 2018