Indholdsfortegnelse:

OreServer - en Raspberry Pi -dedikeret Minecraft -server med LED -afspillerindikator: 9 trin (med billeder)
OreServer - en Raspberry Pi -dedikeret Minecraft -server med LED -afspillerindikator: 9 trin (med billeder)

Video: OreServer - en Raspberry Pi -dedikeret Minecraft -server med LED -afspillerindikator: 9 trin (med billeder)

Video: OreServer - en Raspberry Pi -dedikeret Minecraft -server med LED -afspillerindikator: 9 trin (med billeder)
Video: Итальянский усатый беспилотник ► 1 Прохождение Super Mario Galaxy 2 (Nintendo Wii) 2024, Juli
Anonim

Af MrJymmFollow About: Masser af ideer, aldrig nok tid. Mere om MrJymm »

UPDATE i juli 2020 - Inden du starter på dette projekt, skal du være opmærksom på, at der er foretaget MEGET ændringer og opdateringer af de forskellige softwareværktøjer, jeg brugte til at oprette dette for over to år siden. Som et resultat fungerer mange af trinene ikke længere som skrevet. Projektet kan stadig afsluttes og er stadig masser af sjov, men forvent venligst at skulle lave din egen tinkering for at få alt til at fungere. Nogle løsninger kan findes i de seneste kommentarer i slutningen af instruktionsbogen. Tak, og glad minedrift

Hvis du er fan af at spille Minecraft, har du sikkert tænkt over, hvor sjovt det ville være at have din egen personlige server at dele med dine venner. Mine sønner bad mig konstant om deres egen fælles verden, og til sidst deres interesse for Minecraft kombineret med min interesse for Raspberry Pi, og ideen til OreServer blev født.

Dette projekt viser dig, hvordan du opretter en Minecraft -server med en sjov og unik funktion - den er bygget til at ligne en malmblok, og den lyser med forskellige farver, afhængigt af hvor mange mennesker der i øjeblikket spiller på din verden!

Men det stopper ikke der! Vi vil også gøre serveren tilgængelig for alle med pc -udgaven af Minecraft, så du kan dele din serveradresse og invitere venner til din verden. Det kører 24/7, så selvom du har travlt eller er ude af huset, kan dine venner blive ved med at bygge. Og vi vil oprette automatiske sikkerhedskopier, bare hvis en tragedie rammer (den TNT -kanon lød som en god idé dengang …), så du kan nulstille fra et tidligere dages arbejde.

Trin 1: Dele og værktøjsliste

Dele og værktøjsliste
Dele og værktøjsliste

Dette er de dele, værktøjer og software, du skal bruge for at fuldføre dette projekt. Jeg har tilføjet links til reference, men de fleste af disse forbrugsvarer er tilgængelige fra flere leverandører, så hent dem, hvor det er nemmest / billigste for dig.

Dele:

  • Raspberry Pi 3 og strømforsyning

    Disse fås også som sæt

  • Micro USB retvinklet adapter
  • MicroSD -kort

    Minimum 8 GB, men et 16 eller 32 GB kort i høj kvalitet anbefales

  • Adafruit Neopixel Jewel
  • Tre korte GPIO -ledninger
  • Sølv eller grå 3D -printfilament (enhver type)
  • 2,5 mm skruer (x4)
  • Bagepapir eller hvidt silkepapir

Værktøjer:

  • MicroSD -kortlæser
  • Loddeudstyr
  • Lille skruetrækker
  • 3D printer

Software:

  • Minecraft (Java PC Edition)
  • Raspbian Lite ISO

    IKKE versionen "med skrivebord"

  • etcher.io
  • Kitt eller en lignende SSH -terminalklient
  • Filezilla eller lignende FTP -klient

Trin 2: Opsætning og forberedelse af Raspberry Pi

Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi
Opsætning og forberedelse af Raspberry Pi

Inden vi kan begynde at installere serveren, skal vi gennemføre nogle grundlæggende opsætnings- og konfigurationstrin på Pi.

1. Forbered MicroSD -kortet

Først og fremmest skal vi sætte Rasbian -operativsystemet på vores MicroSD -kort ved hjælp af etcher.io.

  1. Indsæt dit MicroSD -kort i din kortlæser, og kortlæseren i en USB -port på din pc
  2. Kør ætser og brug knappen Vælg billede til at indlæse Rasbian Lite ISO
  3. Vælg MicroSD -kortet til installationsdrevet
  4. Klik på Flash!

Når processen er færdig, vil etser løsne MicroSD -drevet fra systemet, men vi skal tilføje en fil mere, så tag stikket ud af stikket og sæt det i igen. Kortet læses nu som et drev mærket "boot". Kopier en tom fil med navnet "ssh" til boot -drevet, og fjern derefter MicroSD -drevet fra systemet igen. MicroSD -kortet er nu klar til at flytte ind i Raspberry Pi.

** Hvis du ikke kan downloade "ssh" -filen, er det let at lave din egen ved blot at omdøbe en tom tekstfil. Sørg for at slette udvidelsen ".txt". Når det virker, bliver ikonet tomt som på skærmbilledet. **

2. Tilslut til Pi's terminal

Nu hvor Pi har et operativsystem, lad os tænde det!

  1. Tilslut både et kablet ethernet -kabel og strømforsyningen til Rasberry Pi. Selvom Pi 3 har indbygget Wi-Fi-understøttelse, er en kabelforbundet forbindelse mere robust og at foretrække for vores server.
  2. Dernæst skal vi hente Pi's IP -adresse fra din router. Dette trin vil variere lidt afhængigt af dit routermærke - i mit tilfælde indtaster jeg 192.168.1.1 i min browser for at logge ind på routerens kontrolpanel. Du leder efter en DHCP -klientliste og en post med navnet "raspberrypi". Bemærk den tildelte IP -adresse, i mit eksempel er det 192.168.1.115. Nu er også en god mulighed for at indstille IP -adressen som "reserveret" eller "permanent", så den ikke senere får tildelt en anden adresse. Hvis du har problemer med dette trin, vil du tjekke din routers dokumentation eller supportwebsted for at få flere oplysninger.
  3. Nu kan vi åbne Putty, indtaste Pi's IP -adresse i feltet "Host Name" og klikke på "Open".

Du skulle nu se på en sort skærm med "login som:". Dette er din Pi's terminal, og det er her, vi skal lave resten af arbejdet med at konfigurere serveren. Husk, terminalskærme er til tastaturer! Din mus vil ikke blive brugt meget her.

3. Raspi-konfiguration

For at afslutte den første opsætning skal vi logge ind med standardværdierne:

log ind som: pi

adgangskode: hindbær

Nu kan vi gå igennem nogle grundlæggende opsætninger af Pi's standardindstillinger ved at indtaste følgende

sudo raspi-config

Vi skal foretage flere ændringer, og jeg tager dig igennem dem i samme rækkefølge, som de er nummereret på konfigurationsskærmen.

  1. Skift brugeradgangskode - dette er et must! Alle kender standardadgangskoden, så skift den med det samme.
  2. Netværksindstillinger

    Værtsnavn - som standard er dette "raspberrypi", men hvis du ønsker det, kan du ændre det til at være mere beskrivende

  3. -(ingen ændring)-
  4. Lokaliseringsindstillinger - hvis du ikke er i Storbritannien, vil du gerne ændre disse til dit eget land. Mine eksempler antager, at det er USA.

    1. Skift sted - brug din pil ned til at finde en post for "en_GB" med en * ved siden af. Brug din mellemrumstast til at fjerne det *, og gå derefter lidt længere ned til "en_US. UTF-8", og brug igen mellemrumstasten til at markere det med *.
    2. Skift tidszone - det er vigtigt at indstille dette for at vores tidsbestemte opgaver fungerer korrekt
    3. Skift tastaturlayout - du kan muligvis springe dette over, men hvis det efterlades i Storbritannien, er der et par tastatursymboler, der flyttes rundt
  5. Grænsefladeindstillinger

    1. -(ingen ændring)-
    2. SSH - Aktiver dette, så du kan fortsætte med at bruge Putty efter genstart af Pi.
  6. -(ingen ændring)-
  7. Avancerede indstillinger

    1. Udvid filsystem - dette sikrer, at Pi kan bruge al den ledige plads på SD -kortet
    2. -(ingen ændring)-
    3. Memory Split - skift dette til 16 for at frigøre mere hukommelse til Minecrafts brug.

Vælg nu "Afslut", og vælg derefter "Ja" for at genstarte.

Dette vil afslutte din session i Putty. Giv det bare et øjeblik til at fuldføre genstart, åbn derefter Putty igen og opret forbindelse til Pi's IP -adresse igen. Husk at bruge din nye adgangskode!

Trin 3: Installer den dedikerede server

Opsætning af serversoftwaren er det længste, men også det vigtigste. Vi vil bruge meget tid på at indtaste en flok kedelige Linux -kommandoer. Lad det ikke skræmme dig! Så længe du kan kopiere og indsætte, kan du komme igennem denne del.

En Minecraft -server er ret kompleks, og at køre den på en computer så lille som en Raspberry Pi kræver en vis effektivisering. Jeg startede med denne fantastiske tutorial af James Chambers, fordi han har flere gode tips til at maksimere serverens ydeevne. Jeg vil opsummere hans installationsproces herunder og fremhæve nogle ændringer og opdateringer, jeg har foretaget, men jeg anbefaler stærkt, at du læser hans side for at få flere detaljer.

Nu hvor du er logget ind igen med standard "pi" og din nye adgangskode, kan vi begynde at indtaste kommandoerne for at installere serverfilerne.

Vigtigt - Mange af disse kommandoer er lange og komplekse og ville være en reel smerte at skrive i terminalvinduet. Så gør det ikke! Fremhæv kommandoteksten i dette vindue, kopier den med ctrl-c, og højreklik derefter med musen i dit terminalvindue for at indsætte teksten. Se, den mus er trods alt god til noget!

I resten af dette trin kopierer du hver af kommandoerne i disse kodetekstbokse.

Jeg giver korte forklaringer på, hvad vi laver undervejs.

Vi starter med at få vores software opdateret.

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

Når du ser en anmodning om installationsgodkendelse, skal du skrive "y" og trykke på enter for at acceptere og fortsætte.

Minecraft kører på Java, men vores "Lite" Rasbian -installation inkluderede det ikke, så lad os få fat i det.

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

Bemærk ** Når Java bliver opdateret til en nyere version, kan kommandoen blive forældet. Hvis du modtager en fejlmeddelelse, skal du opdatere kommandoen til den nyeste version. Besøg Oracles Java-downloadside, klik på knappen "Acceptér licensaftale", og højreklik derefter på linket til den nyeste linux-arm32-fil, og vælg kopieringslink. Du skal bruge det opdaterede link til at erstatte teksten i ovenstående kommando, startende med http. **

Nu kan vi installere de Java -filer, vi lige har downloadet.

sudo mkdir /usr /java

cd /usr /java

Hvis du skulle ændre downloadlinket til en ny version, skal du sørge for at ændre versionsnummeret i disse næste kommandoer for at matche.

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

sudo update-alternativer-install/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 ~

Og endelig, den vigtigste begivenhed, du har ventet så tålmodigt på, lad os installere Minecraft -serveren. Dette er en specialiseret version af serveren kaldet Paper, og den er fuld af optimeringer for at forbedre ydeevnen.

mkdir Papir

wget

unzip master.zip -d Papir

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

cd Papir

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M paperclip.jar

Den sidste kommando starter serveren for første gang, og efter et øjeblik modtager du en fejl, der siger, at du skal acceptere EULA. Åbn EULA med den næste kommando:

nano eula.txt

Skift linjen, der siger "eula = false" til "eula = true". Gem dine ændringer ved at trykke på ctrl-x, derefter Y, og indtast derefter.

Bemærk ** James Chambers nævner en metode til overclocking af dit SD -kort på dette tidspunkt i sin guide. Jeg har ikke personligt prøvet det trin, for det kræver et kort i høj kvalitet, og det, jeg havde til rådighed til brug, er ikke noget særligt. Jeg tror, at overclockingen helt sikkert ville forbedre ydeevnen yderligere, men selv uden overclocking kører serveren godt nok til, at jeg ikke har modtaget nogen klager fra de børn, der leger på den. **

Lad os hurtigt tage et kig på serveregenskaberne og foretage et par ændringer.

nano server.properties

Der er en lang liste over ting, du kan ændre om din server her, såsom at tilpasse servernavnet og MOTD, ændre gamemode eller aktivere PvP- eller kommandoblokke. Du kan ændre tingene efter dine præferencer nu, eller du kan åbne denne fil for at foretage flere ændringer senere, men der er to ændringer, vi foretager med det samme.

max-spillere = 8

server-port = 25565

Otte spillere er det højeste, jeg vil anbefale, højere og du vil med stor sandsynlighed se serverens ydeevne blive forsinket, selv med alle de optimeringer, der er foretaget for at køre ting på Pi.

Serverport bør ændres, fordi alle ligesom standard "hindbær" -adgangskoden kender standardporten på 25565. Selv en mindre ændring til 26565 hjælper med at holde din server sikker. Noter portnummeret ved siden af, hvor du gemte Pi's IP -adresse. Du får brug for dem begge senere.

Når du er færdig med at opdatere dine indstillinger, skal du gemme ændringerne ved at trykke på ctrl-x, derefter Y, og derefter indtaste.

Det næste trin i forberedelsen af din server kommer også til at tage den længste tid, når den starter, sandsynligvis cirka en time. Disse kommandoer vil på forhånd generere din verden, hvilket betyder, at serveren ikke skal udføre alt dette arbejde senere, mens du og dine venner udforsker.

cd ~/Papir/plugins

wget --content -disposition -E

sudo apt-get installeringsskærm

cd Papir

./start.sh

Det ser ikke ud til at der er sket noget, men din server er nu startet! For at interagere med serveren skal vi bruge denne kommando

skærm -r minecraft

Og så vil vi på forhånd generere verden:

wb world set 1000 spawn

wb verden fyld 1000

wb udfyld bekræft

Dette er den del, der vil tage lang tid. Tag en snack og tjek tilbage senere! Når processen er færdig, skal du lukke serveren ned med en meget enkel kommando

hold op

Dette vil gemme og lukke serveren og returnere dig til Raspberry Pi -terminalen.

Vores sidste opgave er at indstille serveren til at starte automatisk, når Raspberry Pi tilsluttes eller genstartes. Vi kan gøre dette ved at oprette et simpelt script.

cd ~

nano opstart.sh

Vi har brugt nano til at redigere et par filer før, men denne gang opretter vi en fra bunden, så vinduet er tomt. Kopier disse to linjer til filen:

cd/home/pi/Papir

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/

Gem derefter dit nye script ved at trykke på ctrl-x, derefter Y, og indtast derefter.

chmod +x start.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Den allersidste linje i rc.local -filen siger "exit 0". Lige over denne linje tilføjer vi dette:

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

Og endnu en gang gemmer vi filændringerne med ctrl-x, derefter Y, og indtast derefter.

sudo genstart

Du får en besked om, at forbindelsen er lukket, og du kan lukke vinduet Putty.

Det er det! Du har klaret det kedelige stykke! Nu er vi klar til at teste vores server!

Trin 4: Test din server, og inviter dine venner

Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner
Test din server, og inviter dine venner

Dernæst skal vi kontrollere, at serveren fungerer og sikre, at vores venner kan deltage.

Åbn din Minecraft -launcher på din pc, og tryk på Play. Sørg for, at du bruger den seneste version til at matche papirserveren.

Vælg Multiplayer på hovedskærmen, derefter Tilføj server. Indtast det navn, du gerne vil have på din serverliste, og indtast din Pi's IP og portnummer for serveradresse. I mit eksempel bruger vi 192.168.1.115:26565. Sørg for, at du har et kolon mellem IP -adressen og portnummeret, og at der ikke er mellemrum. Klik på Udført, og klik derefter på Afspil på din server. Efter et øjeblik finder du dig selv faldet ind i din helt nye verden!

Vent, kom tilbage! Start ikke med at bygge helt selv, lad os invitere nogle venner! Desværre kan de ikke bruge den samme IP -adresse, som du gør. Så for at få dette til at fungere, skal du først fortælle din router, at det er OK for folk, der er uden for dit hus, at oprette forbindelse til Pi. Dette kaldes Port Forwarding, og den nøjagtige proces vil variere en smule afhængigt af din router. Jeg har vedhæftet et skærmbillede af, hvordan det ser ud på min router i TP Link -mærket, men du skal muligvis tjekke dit routers supportwebsted for at få flere oplysninger.

I dine portvideresendelsesindstillinger skal du indtaste det portnummer, du valgte til din server, og derefter IP -adressen til din Raspberry Pi. Din router ved nu, at når dine venner forsøger at oprette forbindelse til det portnummer, skal de rettes til Pi.

Dernæst skal vi bruge en gratis service som f.eks. No-IP til at oprette din egen unikke adresse, kaldet et værtsnavn. Du konfigurerer også enten din router eller din pc for at holde værtsnavnets IP -adresse opdateret.

Følg trinene i deres installationsguide nu.

Når du er færdig med at konfigurere din No-IP-konto, vil dine venner kunne oprette forbindelse til din server ved at indtaste dit nye værtsnavn og portnummeret i serveradresseafsnittet på deres Minecraft-multiplayer-skærm. For eksempel værtsnavn.ddns.net:26565.

Trin 5: Red verden! (med automatiske sikkerhedskopier)

Redde verden! (med automatiske sikkerhedskopier)
Redde verden! (med automatiske sikkerhedskopier)

Dette trin er valgfrit, men det er en potentiel livredder. Din verden står over for nogle alvorlige risici, hvad enten det skyldes et beskadiget MicroSD -kort, lejlighedsvis uheld eller sorg eller bare de irriterende slyngplanter. For at beskytte alt dit hårde arbejde vil vi få serveren til automatisk at gemme din verdensfil hver nat. For at forhindre, at dit MicroSD -kort fyldes op, sletter vi også eventuelle sikkerhedskopier, der er mere end en uge gamle. Derefter kan du nemt kopiere dem til din egen pc eller et andet backup -drev for endnu mere sikkerhed.

Vi starter med at bruge Putty til at oprette forbindelse til vores Pi igen for at lave endnu et nyt script.

nano dailybackup.sh

Kopier følgende kommandoer til scriptet:

# Stop Minecraft -serveren

skærm -x minecraft -X stuff stop^M sleep 5 # Copy Paper directory to backup/PaperYYDDMM cp -a Paper/. backup/Papir $ (dato +%F) # Slet sikkerhedskopier ældre end 7 dage find backup/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

Og sig det derefter med mig - gem din fil ved at trykke på ctrl -x, Y, enter.

Nu opretter vi en tilbagevendende opgave for at køre backup -scriptet hver nat ved hjælp af crontab.

crontab -e

Du får et valg af redaktører første gang du kører denne kommando, vælg nummer 2 for Nano.

Dette åbner en særlig fil til planlægning af opgaver. I bunden af denne fil tilføjes følgende linjer:

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

15 0 * * * sudo genstart

Den første linje fortæller Pi at køre dit backup -script kl. 12:05 hver nat. Den anden linje fortæller Pi at genstarte ti minutter senere. Hvis du foretrækker et andet tidspunkt for sikkerhedskopiering og genstart, kan du ændre disse linjer, så de passer til dine præferencer. Husk bare, at det første tal er minuttet, og det andet tal er timen i 24 -timers format. De tre stjerner sikrer, at dette script kører hver dag.

Når dit system har kørt et stykke tid, vil du måske have for vane at gemme sikkerhedskopierne til et andet sted ud af Pi's MicroSD -kort. Denne opgave gøres meget enkel ved at oprette forbindelse til din server ved hjælp af Filezilla. Træk blot backupmappen fra højre side af Filezilla og slip den til din pc. Når den har kopieret alle filerne, kan du gemme dem, så længe du vil!

Og hvis tragedien nogensinde rammer, og du skal gå tilbage til en af dine gemte filer, er det en hurtig og enkel procedure. Sørg først for, at du har stoppet serveren:

skærm -r minecraft

hold op

Brug derefter Filezilla til at slette Paper -biblioteket og erstatte det ved at trække en af dine gemte mapper tilbage til Pi. Sørg for at slette datoen fra biblioteksnavnet, så den igen bare hedder Papir. Derefter kan du genstarte din server med

./startup.sh

Og på den måde kan du komme tilbage til byggeriet!

Trin 6: Tilslut LED'erne

Tilslut lysdioderne
Tilslut lysdioderne
Tilslut lysdioderne
Tilslut lysdioderne
Tilslut lysdioderne
Tilslut lysdioderne

Tid til at tilføje nogle lys! Det er her din server begynder at blive mere end bare en støvsamler bag din skærm. Dette trin viser dig, hvordan du lodder og fastgør Neopixel Jewel til Raspberry Pi, og derefter installerer den software, der er nødvendig for at køre lysdioderne. Kort tid efter skal du aldrig spekulere på, om nogen er online og venter på at spille med dig, for din server fortæller dig det med et enkelt blik!

Adafruit's Neopixel er fantastiske LED'er. De er RGB, hvilket betyder, at de kan lyse op i enhver farve, du ønsker. De kan adresseres, hvilket betyder, at du kan bruge softwarekommandoer til at ændre deres farve, når du vil. For meget mere god information om, hvordan Neopixels fungerer med Raspberry Pi, skal du kigge på den officielle Adafruit -guide.

Juvelen har 7 lysdioder, som vil give os masser af stærk lys farve. Der er også fem loddekontaktpunkter, men vi vil kun bruge tre. Jeg anbefaler kraftigt, at du bruger tre forskellige farvede ledninger for at undgå at blande dem, når du slutter dem til Pi senere. I mine eksempler på fotos brugte jeg rød, sort og brun.

Inden du begynder dette trin, vil du gerne have Raspberry Pi helt slukket. Indtast disse kommandoer, og tag derefter Pi -strømforsyningen ud.

skærm -r minecraft

hold op

sudo shutdown -h nu

Skær tre GPIO -ledninger af, så lange, at du har masser af ledninger at arbejde med under lodning. Du kan altid sløjfe det overskydende op som jeg gjorde. Lod forsigtigt ledningerne til kontakterne på juvelen. Sæt derefter hunstikkene på Raspberry Pi GPIO -benene:

PWR til pin 1 = 3,3V

GND til pin 6 = Jord

IN til pin 12 = GPIO18

Når Jewel er på plads, kan du tilslutte Pi'en igen og bruge Putty til at forbinde og installere LED -softwaren med følgende kommandoer. Hold øje med steder, der kan bede dig om at indtaste Y for at fortsætte 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

Vigtigt ** I det næste trin skal vi foretage en mindre tilføjelse til neopixel -biblioteket. Dette er nødvendigt for at undgå en hukommelsesfejl, der kørte mig amok i flere dage. Uden det fungerer lysdioderne i et par timer og stopper derefter med at opdatere korrekt. **

cd python

python setup.py build

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

Brug pil ned til at rulle forbi linjen, der siger klasse Adafruit_NeoPixel (objekt):. Ikke langt forbi, at du finder et afsnit med blå tekst, der siger def _cleanup (self). Du kopierer følgende linje til dette sektion, nøjagtigt som vist på skærmbilledet ovenfor.

ws.ws2811_fini (self._leds)

Og endnu en gang skal vi gemme ændringer med ctrl-x, Y, enter.

cd ~

cd rpi_ws281x/python

sudo python setup.py installation

Dernæst skal vi fortælle testfilen antallet af lysdioder, vi har, så kan vi tænde dem!

cd eksempler

sudo nano strandtest.py

Find linjen, der siger LED_COUNT = 16, og skift den til LED_COUNT = 7, derefter ctrl-x, Y, enter for at gemme.

sudo python strandtest.py

Hvis alt er gået korrekt, er du lige blevet blændet af en blinkende regnbueeksplosion. Når du kan se igen, skal du trykke på ctrl-c for at stoppe lyset. Lysdioderne slukker ikke, men de holder op med at blinke, og det er godt nok for nu.

Trin 7: Programmer LED'erne til at kontrollere serverstatus

Programmer LED'erne til at kontrollere serverstatus
Programmer LED'erne til at kontrollere serverstatus

Med vores lysdioder installeret og klar, er det tid til at få dem til at reagere på serveren. Konkret får vi dem til at angive det aktuelle antal spillere på serveren:

Spillere = Malm

  • 0 = Redstone
  • 1-2 = Jern
  • 3-4 = Guld
  • 5-6 = Smaragd
  • 7-8 = Diamant

Hvis serveren ikke kører, vil Oreblock være kul (lysdioder slukket). Og som en ekstra bonus, hvis statuskontrollen ikke kan finde en internetforbindelse, vil LED'erne blinke gult!

For at hente spillertallet fra serveren skal vi installere mcstatus fra Nathan Adams, en af Mojangs spiludviklere.

sudo apt-get install python-pip

sudo pip installer mcstatus

Derefter skal vi kopiere de to python -scripts herunder, mcled.py og ledoff.py, til vores server med Filezilla. Bare træk og slip de to scripts i boksen til højre, som vist på skærmbilledet.

Test nu ledoff.py lige nu, så vi kan slukke for de lysdioder, der blev tændt i forrige trin.

sudo python ledoff.py

Når du kører scripts manuelt som dette, modtager du en meddelelse, der siger "Segmenteringsfejl". Dette er et uløst problem i Neopixel.py -biblioteket, der ikke har nogen indflydelse på, hvad vi laver.

Hvis du er nysgerrig efter, hvordan disse scripts fungerer, kan du åbne dem med enhver tekstredigerer på din pc eller bruge nano på terminalskærmen. Bare vær forsigtig med ikke at gemme ændringer, der kan stoppe dem fra at fungere ved et uheld!

Bemærk ** mcled.py forudsætter, at du bruger port 26565 fra mit eksempel. Hvis du bruger en anden port, skal du ændre scriptet, så det matcher følgende trin **

sudo nano mcled.py

Find en rød tekstlinje, der siger "# Get server player count", og herunder vil du se en linje, der indeholder grøn tekst, der siger "localhost" og portnummeret ved siden af. Skift portnummeret, så det matcher dit, og gem som altid dine ændringer med ctrl-x, Y, indtast.

For at få konstante opdateringer om serverstatus vil vi fortælle Pi at køre mcled.py -scriptet hvert minut, og det betyder, at der skal oprettes endnu et par linjer i crontab.

crontab -e

Du får vist de to linjer, vi tilføjede tidligere til planlægning af sikkerhedskopier og genstart. Nu tilføjer vi to mere:

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

0 21 * * * sudo python ledoff.py

Den første linje fortæller Pi at køre mcled.py hvert minut i hver time mellem kl. 6 og 20:59. Den anden linje fortæller Pi at slukke lysdioderne klokken 21.00. Det er en personlig præference, for på det tidspunkt spiller mine børn ikke længere Minecraft, selvom serveren bliver ved med at køre. Vi har også OreServer fremtrædende vist over vores tv, og det skarpe lys bliver irriterende om aftenen. Du kan naturligvis ændre disse to linjer for at få lysdioderne til at køre non-stop eller slukke senere, eller hvad der passer til dine egne formål.

Kort efter dine ændringer er gemt (er du træt af ctrl-x, Y, indtast endnu?) Bliver scriptet kaldt, og din juvel lyser igen. Det vil højst sandsynligt være rødt for at angive, at serveren kører, men ikke er i brug. Tag et øjeblik nu til at starte Minecraft og slutte dig til serveren, som vi gjorde under vores tidligere test. Kort efter at du har tilsluttet dig, skal lysdioderne skifte til hvidt og derefter tilbage til rødt, når du afbryder forbindelsen.

Trin 8: Lav malmkassen

Lav malmkassen
Lav malmkassen
Lav malmkassen
Lav malmkassen
Lav malmkassen
Lav malmkassen
Lav malmkassen
Lav malmkassen

Den sidste berøring for at bringe det hele sammen er oreblock -kabinettet til Raspberry Pi. For at lave malmkassen brugte jeg Lulzbot TAZ6 3D -printeren på mit lokale makerspace, RiverCityLabs. Jeg har leveret mine udskrivbare. STL -filer til bunden og toppen herunder. Hvis du ikke har din egen 3D -printer, så tjek dit område for et maker -fællesskab, de er fantastiske! Eller du har måske et lokalt bibliotek eller en skole, der har printere tilgængelige for offentligheden. Der er også flere online 3D -udskrivningstjenester, der kan udskrive og sende dig et design. Eller du kan blive kreativ! Der er intet, der forhindrer dig i at lave kassen af pap eller en bunke grå Lego eller hvad du ellers har lige ved hånden.

Nogle vigtige bemærkninger til, når du konfigurerer 3D -printerfilerne:

  • Udskriv filen uden ændringer i skalering for at sikre, at monteringshullerne flugter med Pi.
  • Vend toppen på hovedet, så den åbne ende vender opad.
  • Sørg for at slå dine supportindstillinger til, så udhængene på væggene ikke bliver rodet.

Når dit print er fuldført, kan du vedhæfte Pi til basen med fire 2,5 mm skruer. Jeg kan ikke finde et link til det faktiske produkt, men jeg fandt disse i en 2 -pakning på Menards, hvilket var langt bedre end at bestille en æske med 100 fra Amazon.

Fjern alt støttemateriale fra toppen, og klip et stykke bagepapir eller hvidt silkepapir, så det passer ind. Dette vil sprede LED -lysene, hvilket får den glødende effekt til at se en million gange bedre ud end bare at lade hullerne være åbne.

Tilslut den rigtige vinkel MicroUSB -adapter til strømporten, så kablet går ud af bagsiden af kabinettet ved siden af ethernetporten.

Nu kan du tilslutte strøm- og ethernetledningerne igen, sætte toppen på plads og nyde!

Trin 9: Resumé, yderligere tanker og tak

Storpris i Minecraft Challenge 2018

Anbefalede: