Obsah:

OreServer - dedikovaný server Minecraft pre Raspberry Pi s LED indikátorom prehrávača: 9 krokov (s obrázkami)
OreServer - dedikovaný server Minecraft pre Raspberry Pi s LED indikátorom prehrávača: 9 krokov (s obrázkami)
Anonim

Nasledujte o: Veľa nápadov, nikdy nie je dosť času. Viac o MrJymm »

AKTUALIZÁCIA Júl 2020 - Skôr ako začnete s týmto projektom, uvedomte si, že v rôznych softvérových nástrojoch, ktoré som použil na jeho vytvorenie pred viac ako dvoma rokmi, bolo vykonaných VEĽA zmien a aktualizácií. Výsledkom je, že mnohé kroky už nefungujú tak, ako sú napísané. Projekt je stále možné dokončiť a stále je to zábava, ale počítajte s tým, že budete musieť urobiť všetko sami, aby všetko fungovalo. Niektoré riešenia možno nájsť v nedávnych komentároch na konci návodu. Ďakujem a šťastnú ťažbu

Ak ste fanúšikom hrania Minecraftu, pravdepodobne ste premýšľali o tom, aké zábavné by bolo mať vlastný osobný server, o ktorý sa môžete podeliť so svojimi priateľmi. Moji synovia ma neustále žiadali o svoj vlastný spoločný svet a nakoniec sa ich záujem o Minecraft spojil s mojím záujmom o Raspberry Pi a nápad na OreServer bol na svete.

Tento projekt vám ukáže, ako nastaviť server Minecraft so zábavnou a jedinečnou vlastnosťou - je postavený tak, aby pripomínal rudný blok, a svieti rôznymi farbami v závislosti od počtu ľudí, ktorí sa momentálne hrajú vo vašom svete!

Ale tým to nekončí! Server tiež sprístupníme komukoľvek s edíciou PC Minecraft, aby ste mohli zdieľať svoju adresu servera a pozvať priateľov do svojho sveta. Bude fungovať nepretržite, takže aj keď ste zaneprázdnení alebo mimo domu, vaši priatelia môžu pokračovať v stavaní. A nastavíme automatické zálohovanie pre prípad, že dôjde k tragédii (že kanón TNT v tom čase znelo ako dobrý nápad …), aby ste sa mohli resetovať z práce predchádzajúceho dňa.

Krok 1: Zoznam dielov a nástrojov

Zoznam dielov a nástrojov
Zoznam dielov a nástrojov

Toto sú časti, nástroje a softvér, ktoré budete potrebovať na dokončenie tohto projektu. Pridal som odkazy pre referenciu, ale väčšina týchto dodávok je k dispozícii od viacerých dodávateľov, takže si ich môžete vyzdvihnúť kdekoľvek, kde je to pre vás najľahšie / najlacnejšie.

Diely:

  • Raspberry Pi 3 a napájací zdroj

    Tieto sú k dispozícii aj ako sada

  • Micro USB pravý uholník
  • MicroSD karta

    Minimálne 8 GB, ale odporúča sa vysokokvalitná 16 alebo 32 GB karta

  • Neopixelový šperk Adafruit
  • Tri krátke vodiče GPIO
  • Strieborné alebo sivé vlákno 3D tlače (akýkoľvek typ)
  • 2,5 mm skrutky (x4)
  • Pergamenový papier alebo biely hodvábny papier

Náradie:

  • Čítačka kariet microSD
  • Spájkovacie zariadenie
  • Malý skrutkovač
  • 3D tlačiareň

Softvér:

  • Minecraft (Java PC Edition)
  • Raspbian Lite ISO

    NIE verzia „s počítačom“

  • etcher.io
  • Tmel alebo podobný terminálový klient SSH
  • Filezilla alebo podobný FTP klient

Krok 2: Nastavte a pripravte Raspberry Pi

Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi
Nastavte a pripravte Raspberry Pi

Predtým, ako začneme inštalovať server, musíme na počítači Pi vykonať niekoľko základných krokov nastavenia a konfigurácie.

1. Pripravte si kartu MicroSD

Najprv musíme pomocou etcher.io vložiť operačný systém Rasbian na našu kartu MicroSD.

  1. Vložte kartu MicroSD do čítačky kariet a čítačku kariet do portu USB v počítači
  2. Spustite etcher a pomocou tlačidla Vybrať obrázok načítajte Rasbian Lite ISO
  3. Vyberte kartu MicroSD pre inštalačnú jednotku
  4. Kliknite na Flash!

Po dokončení procesu etcher odpojí jednotku MicroSD od systému, ale musíme pridať ešte jeden súbor, takže ho jednoducho odpojte a znova zapojte. Karta sa teraz bude čítať ako jednotka označená ako „boot“. Skopírujte prázdny súbor s názvom „ssh“na zavádzaciu jednotku a potom jednotku MicroSD znova odpojte od systému. Karta MicroSD je teraz pripravená na prenos do Raspberry Pi.

** Ak nemôžete stiahnuť súbor „ssh“, jednoducho si ho vytvoríte jednoduchým premenovaním prázdneho textového súboru. Uistite sa, že ste odstránili príponu „.txt“. Keď to funguje, ikona zostane prázdna ako na obrázku. **

2. Pripojte sa k terminálu Pi

Teraz, keď má Pi operačný systém, zapnime ho!

  1. Pripojte káblový ethernetový kábel a napájací zdroj k Rasberry Pi. Aj keď Pi 3 má vstavanú podporu Wi-Fi, káblové pripojenie je pre náš server robustnejšie a vhodnejšie.
  2. Ďalej musíme získať IP adresu Pi z vášho smerovača. Tento krok sa bude mierne líšiť v závislosti od značky smerovača - v mojom prípade zadám do svojho prehliadača 192.168.1.1 a prihlásim sa na ovládací panel smerovača. Budete hľadať zoznam klientov DHCP a položku s názvom „raspberrypi“. Všimnite si priradenú adresu IP, v mojom prípade je to 192.168.1.115. Teraz je tiež vhodná príležitosť nastaviť adresu IP ako „vyhradenú“alebo „trvalú“, aby jej neskôr nebola priradená iná adresa. Ak máte s týmto krokom nejaké problémy, mali by ste sa pozrieť na dokumentáciu k routeru alebo na webovú stránku podpory, kde nájdete podrobnosti.
  3. Teraz môžeme otvoriť Putty, do poľa „Názov hostiteľa“zadajte IP adresu Pi a kliknite na „Otvoriť“.

Teraz by ste sa mali pozerať na čiernu obrazovku s „prihlásením ako:“. Toto je terminál vášho Pi a práve tu budeme vykonávať zvyšok práce pri nastavovaní servera. Nezabudnite, že obrazovky terminálov sú pre klávesnice! Vaša myš tu nebude veľa používať.

3. Raspi-config

Na dokončenie úvodného nastavenia sa musíme prihlásiť pomocou predvolených nastavení:

prihlásiť sa ako: pi

heslo: malina

Teraz si môžeme prejsť niektoré základné nastavenia predvolených nastavení Pi zadaním nasledujúceho

sudo raspi-config

Musíme vykonať niekoľko zmien a ja vás nimi prevediem v rovnakom poradí, v akom sú očíslované na konfiguračnej obrazovke.

  1. Zmena hesla používateľa - je to nevyhnutné! Predvolené heslo pozná každý, preto si ho ihneď zmeňte.
  2. Možnosti siete

    Názov hostiteľa - v predvolenom nastavení je to „raspberrypi“, ale ak si želáte, môžete ho zmeniť tak, aby bol popisnejší

  3. -(žiadna zmena)-
  4. Možnosti lokalizácie - ak nie ste vo Veľkej Británii, budete ich chcieť zmeniť na svoju vlastnú krajinu. Moje príklady predpokladajú, že ide o USA.

    1. Zmeniť miestne nastavenie - pomocou šípky nadol nájdite záznam pre „en_GB“s * vedľa neho. Medzerníkom odstráňte * a potom choďte o niečo nižšie na „en_US. UTF-8“a pomocou medzerníka ho znova označte *.
    2. Zmeniť časové pásmo - nastavenie je dôležité pre správnu funkciu našich časovaných úloh
    3. Zmeniť rozloženie klávesnice - možno to môžete preskočiť, ale ak zostane v Británii, pohybuje sa niekoľko symbolov klávesnice
  5. Možnosti rozhrania
    1. -(žiadna zmena)-
    2. SSH - Zapnite to, aby ste mohli Putty aj naďalej používať po reštarte Pi.
  6. -(žiadna zmena)-
  7. Pokročilé nastavenia
    1. Rozbaliť Filesystem - to zaistí, že Pi môže využiť všetok priestor dostupný na SD karte
    2. -(žiadna zmena)-
    3. Rozdelenie pamäte - zmeňte na 16, aby ste uvoľnili viac pamäte na použitie v Minecrafte.

Teraz zvoľte „Dokončiť“a potom reštartujte kliknutím na „Áno“.

Tým sa skončí vaša relácia v Putty. Jednoducho dajte chvíľu času na dokončenie reštartu, potom znova otvorte Putty a znova sa pripojte k IP adrese Pi. Nezabudnite použiť nové heslo!

Krok 3: Nainštalujte vyhradený server

Nastavenie serverového softvéru je najdlhším krokom, ale zároveň najdôležitejším. Strávime veľa času zadávaním veľa nudných príkazov Linuxu. Nenechajte sa tým zastrašiť! Pokiaľ môžete kopírovať a vkladať, môžete sa dostať cez túto časť.

Server Minecraft je pomerne zložitý a jeho prevádzka na počítači malom ako Raspberry Pi vyžaduje určité zefektívnenie. Začal som týmto fantastickým tutoriálom od Jamesa Chambersa, pretože má niekoľko skvelých tipov na maximalizáciu výkonu servera. Nižšie zhrniem jeho postup inštalácie a poukážem na niektoré zmeny a aktualizácie, ktoré som vykonal, ale dôrazne vám odporúčam prečítať si jeho stránku, kde nájdete ďalšie podrobnosti.

Teraz, keď ste sa znova prihlásili pomocou predvoleného „pi“a nového hesla, môžeme začať zadávať príkazy na inštaláciu súborov servera.

Dôležité - Mnoho z týchto príkazov je dlhých a zložitých a je ťažké ich zadať do okna terminálu. Tak to nerob! V tomto okne zvýraznite príkazový text, skopírujte ho pomocou klávesu ctrl-c a potom v okne terminálu kliknutím pravým tlačidlom myši text prilepte. Vidíte, tá myš je predsa na niečo dobrá!

Po zvyšok tohto kroku budete kopírovať všetky príkazy v týchto textových poliach s kódom.

Krátko vysvetlím, čo robíme po ceste.

Začneme tým, že náš softvér bude vždy aktuálny.

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

Kedykoľvek uvidíte požiadavku na schválenie inštalácie, zadajte „y“a stlačením klávesu Enter ju prijmite a pokračujte.

Minecraft beží na Jave, ale naša „lite“inštalácia pre Rasbian ju neobsahovala, takže sa toho chopme.

wget --no-check-certificate --no-cookies-hlavička "Cookie: oraclelicense = receive-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808 /jdk-8u161-linux-arm32-vfp-hflt.tar.gz

Poznámka ** Keď sa Java aktualizuje na novšiu verziu, tento príkaz môže byť zastaraný. Ak sa zobrazí chybové hlásenie, budete musieť príkaz aktualizovať na najnovšiu verziu. Navštívte stránku Oracle na stiahnutie Java, kliknite na tlačidlo „Prijať licenčnú zmluvu“a potom kliknite pravým tlačidlom myši na odkaz na najnovší súbor linux-arm32 a vyberte odkaz na kopírovanie. Budete musieť použiť tento aktualizovaný odkaz na nahradenie textu vo vyššie uvedenom príkaze, začínajúc na http. **

Teraz môžeme nainštalovať súbory Java, ktoré sme práve stiahli.

sudo mkdir /usr /java

cd /usr /java

Ak ste museli zmeniť odkaz na stiahnutie pre novú verziu, uistite sa, že zmeníte číslo verzie v týchto ďalších príkazoch, aby sa zhodovali.

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

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

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

CD ~

A nakoniec, hlavná udalosť, na ktorú ste tak trpezlivo čakali, nainštalujme si server Minecraft. Toto je špecializovaná verzia servera s názvom Paper a je plná optimalizácií na zvýšenie výkonu.

papier mkdir

wget

rozbaliť master.zip -d Papier

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

cd papier

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M paperclip.jar

Tento posledný príkaz spustí server prvýkrát a po chvíli sa zobrazí chyba, že musíte súhlasiť s licenčnou zmluvou EULA. Otvorte zmluvu EULA nasledujúcim príkazom:

nano eula.txt

Zmeňte riadok s textom „eula = false“na „eula = true“. Uložte zmeny stlačením ctrl-x, potom Y a potom zadajte.

Poznámka ** James Chambers v tomto bode svojho sprievodcu uvádza spôsob pretaktovania vašej karty SD. Osobne som tento krok neskúsil, pretože vyžaduje vysokokvalitnú kartu a tá, ktorú som mal k dispozícii na použitie, nie je nič zvláštne. Verím, že pretaktovanie by určite ešte zlepšilo výkon, ale aj bez pretaktovania server beží dostatočne dobre, takže som nedostal žiadne sťažnosti od detí, ktoré sa na ňom hrajú. **

Poďme sa rýchlo pozrieť na vlastnosti servera a vykonať niekoľko zmien.

nano server.properties

Tu nájdete dlhý zoznam vecí, ktoré môžete na svojom serveri zmeniť, napríklad prispôsobenie názvu servera a MOTD, zmena herného režimu alebo povolenie PvP alebo príkazových blokov. Teraz môžete veci zmeniť podľa svojich preferencií alebo môžete otvoriť tento súbor a vykonať ďalšie zmeny neskôr, ale urobíme dve zmeny, ktoré urobíme okamžite.

max. hráči = 8

server-port = 25565

Osem hráčov je najvyššia hodnota, akú by som odporučil, akákoľvek vyššia a je veľmi pravdepodobné, že sa výkon servera oneskorí, a to aj pri všetkých optimalizáciách vykonaných na prevádzkovanie vecí na počítači Pi.

Serverový port by mal byť zmenený, pretože rovnako ako predvolené „malinové“heslo, každý pozná predvolený port 25565. Aj malá zmena na 26565 pomôže zaistiť váš server v bezpečí. Poznačte si číslo portu vedľa miesta, kam ste uložili IP adresu Pi. Oba budete potrebovať neskôr.

Akonáhle dokončíte aktualizáciu nastavení, uložte zmeny stlačením klávesov ctrl-x, potom Y a potom zadajte.

Ďalším krokom pri príprave vášho servera bude tiež trvať najdlhší čas po spustení, pravdepodobne asi hodinu. Tieto príkazy predbežne vygenerujú váš svet, čo znamená, že server nebude musieť vykonať túto prácu neskôr, kým vy a vaši priatelia budete skúmať.

cd ~/Papier/doplnky

wget --content -disposition -E

obrazovka inštalácie sudo apt-get

cd papier

./start.sh

Zdá sa, že sa nič nestalo, ale váš server je teraz spustený! Aby sme mohli komunikovať so serverom, musíme použiť tento príkaz

obrazovka -r minecraft

A potom predgenerujeme svet:

wb svetový set 1000 spawn

wb world fill 1000

wb vyplniť potvrdiť

Toto je časť, ktorá bude dlho trvať. Choďte si dať občerstvenie a vráťte sa neskôr! Keď je proces dokončený, vypnite server veľmi jednoduchým príkazom

zastaviť sa

Tým sa server uloží a zavrie a vráti vás na terminál Raspberry Pi.

Našou poslednou úlohou je nastaviť automatické spustenie servera po zapojení alebo reštartovaní Raspberry Pi. Môžeme to urobiť vytvorením jednoduchého skriptu.

CD ~

nano startup.sh

Predtým sme použili nano na úpravu niekoľkých súborov, ale tentoraz ich vytvárame úplne od začiatku, takže okno bude prázdne. Skopírujte tieto dva riadky do súboru:

cd/home/pi/papier

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

Potom uložte nový skript stlačením ctrl-x, potom Y a potom zadajte.

chmod +x startup.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Úplne posledný riadok súboru rc.local hovorí "exit 0". Priamo nad tento riadok pridáme toto:

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

A ešte raz uložíme zmeny súboru pomocou ctrl-x, potom Y a potom vstúpime.

sudo reštart

Zobrazí sa správa, že pripojenie sa ukončilo, a môžete zavrieť okno Tmel.

To je všetko! Nudný kúsok ste zvládli! Teraz sme pripravení otestovať náš server!

Krok 4: Otestujte svoj server a pozvite svojich priateľov

Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov
Otestujte svoj server a pozvite svojich priateľov

Ďalej skontrolujeme, či server funguje, a uistite sa, že sa môžu pripojiť naši priatelia.

Otvorte na počítači spúšťač Minecraft a kliknite na položku Prehrať. Uistite sa, že používate najnovšiu verziu, ktorá zodpovedá serveru Paper.

Na hlavnej obrazovke vyberte položku Multiplayer a potom položku Pridať server. Zadajte názov, ktorý chcete mať v zozname serverov, a do poľa Adresa servera zadajte adresu IP vášho Pi a číslo portu. Pre môj príklad používame 192.168.1.115:26565. Uistite sa, že medzi adresou IP a číslom portu je dvojbodka a že nie sú žiadne medzery. Kliknite na položku Hotovo a potom kliknite na položku Prehrať na serveri. Po niekoľkých chvíľach sa ocitnete ponorení do svojho úplne nového sveta!

Počkaj, vráť sa! Nezačnite stavať úplne sami, pozývajme niekoľko priateľov! Bohužiaľ nemôžu používať rovnakú IP adresu ako vy. Aby to fungovalo, musíte najskôr svojmu smerovaču povedať, že je v poriadku, aby sa ľudia, ktorí sa nachádzajú mimo vášho domu, pripojili k počítaču Pi. Hovorí sa tomu presmerovanie portov a presný postup sa bude trochu líšiť v závislosti od vášho smerovača. Priložil som snímku obrazovky, ako to vyzerá na mojom smerovači značky TP Link, ale možno budete musieť skontrolovať ďalšie informácie na svojej stránke podpory smerovačov.

V nastaveniach presmerovania portov zadajte číslo portu, ktoré ste vybrali pre svoj server, a potom adresu IP pre váš Raspberry Pi. Váš smerovač teraz vie, že keď sa vaši priatelia pokúsia pripojiť k tomuto číslu portu, mali by byť presmerovaní na Pi.

Ďalej musíme použiť bezplatnú službu, ako je No-IP, na vytvorenie vlastnej jedinečnej adresy, ktorá sa nazýva názov hostiteľa. Tiež nastavíte router alebo počítač tak, aby bola adresa IP hostname aktuálna.

Teraz postupujte podľa pokynov v ich Sprievodcovi nastavením.

Keď nastavíte svoj účet No-IP, vaši priatelia sa budú môcť pripojiť k vášmu serveru zadaním vášho nového názvu hostiteľa a čísla portu v časti Adresa servera na obrazovke hry pre viacerých hráčov Minecraft. Napríklad názov hostiteľa.ddns.net:26565.

Krok 5: Zachráňte svet! (s automatickým zálohovaním)

Zachrániť svet! (s automatickým zálohovaním)
Zachrániť svet! (s automatickým zálohovaním)

Tento krok je voliteľný, ale je potenciálnym záchrancom. Váš svet čelí niektorým vážnym rizikám, či už z poškodenej karty MicroSD, príležitostného neplechu alebo smútku alebo len z otravných popínavých rastlín. Aby sme ochránili všetku vašu tvrdú prácu, budeme musieť server automaticky ukladať váš svetový súbor každú noc. Aby sa zabránilo zaplneniu vašej karty MicroSD, odstránime tiež všetky zálohy, ktoré sú staré viac ako týždeň. Potom ich môžete ľahko skopírovať do vlastného počítača alebo na inú záložnú jednotku, aby ste získali ešte väčšiu bezpečnosť.

Začneme tým, že sa Putty znova pripojíme k nášmu Pi a vytvoríme ďalší nový skript.

nano dailybackup.sh

Skopírujte do skriptu nasledujúce príkazy:

# Zastavte server Minecraft

obrazovka -x minecraft -X veci sa zastavia^M spánok 5 # Kopírovať priečinok papiera na zálohu/PaperYYDDMM cp -a Papier/. záloha/Papier $ (dátum +%F) # Odstráni zálohy staršie ako 7 dní nájsť zálohu/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

A potom to povedzte so mnou - uložte súbor stlačením klávesov ctrl -x, Y, zadajte.

Teraz vytvoríme opakujúcu sa úlohu na spustenie záložného skriptu každú noc pomocou programu crontab.

crontab -e

Pri prvom spustení tohto príkazu budete mať na výber z editorov, pre Nano zvoľte číslo 2.

Otvorí sa špeciálny súbor na plánovanie úloh. V spodnej časti tohto súboru pridajte nasledujúce riadky:

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

15 0 * * * sudo reštart

Prvý riadok hovorí Pi, aby každú noc spustil váš záložný skript o 12:05. Druhý riadok hovorí Pi, aby sa reštartoval o desať minút neskôr. Ak by ste chceli iný čas zálohovania a reštartu, môžete tieto riadky zmeniť tak, aby vyhovovali vašim požiadavkám. Nezabudnite, že prvé číslo je minúta a druhé číslo je hodina v 24 -hodinovom formáte. Tri hviezdičky zaisťujú, aby sa tento skript spustil každý deň.

Keď váš systém chvíľu beží, možno si budete chcieť zvyknúť ukladať zálohy na iné miesto mimo kartu MicroSD zariadenia Pi. Táto úloha je veľmi jednoduchá pripojením sa k vášmu serveru pomocou programu Filezilla. Jednoducho presuňte záložný priečinok z pravej strany programu Filezilla a presuňte ho do počítača. Akonáhle skopíruje všetky súbory, môžete ich uložiť tak dlho, ako chcete!

A ak niekedy dôjde k tragédii a budete sa musieť vrátiť k jednému z uložených súborov, je to rýchly a jednoduchý postup. Najprv sa uistite, že ste zastavili server:

obrazovka -r minecraft

zastaviť sa

Potom pomocou Filezilla odstráňte adresár Paper a nahraďte ho presunutím jedného z uložených adresárov späť na Pi. Uistite sa, že ste vymazali dátum z názvu adresára, aby bol opäť pomenovaný jednoducho ako papier. Potom môžete reštartovať server pomocou

./startup.sh

A práve tak sa môžete vrátiť k stavaniu!

Krok 6: Pripojte LED diódy

Zapojte LED diódy
Zapojte LED diódy
Zapojte LED diódy
Zapojte LED diódy
Zapojte LED diódy
Zapojte LED diódy

Čas pridať nejaké svetlá! Tu sa váš server stane viac než len zberačom prachu za monitorom. Tento krok vám ukáže, ako spájkovať a pripevňovať Neopixel Jewel k Raspberry Pi a potom nainštalovať softvér potrebný na spustenie diód LED. Čoskoro potom sa už nebudete musieť čudovať, či je niekto online a čaká, kedy sa s vami bude hrať, pretože váš server vám to povie jediným pohľadom!

Neopixely Adafruit sú fantastické LED diódy. Majú RGB, čo znamená, že sa môžu rozsvietiť v ľubovoľnej farbe. Sú adresovateľné, čo znamená, že pomocou softvérových príkazov môžete zmeniť ich farbu, kedykoľvek budete chcieť. Mnoho ďalších skvelých informácií o tom, ako Neopixely fungujú s Raspberry Pi, nájdete v oficiálnom sprievodcovi Adafruit.

Jewel má 7 LED diód, ktoré nám poskytnú veľa silných jasných farieb. Existuje aj päť spájkovacích kontaktných bodov, ale budeme používať iba tri. Dôrazne odporúčam použiť tri rôzne farebné vodiče, aby ste sa vyhli ich zamieňaniu, keď ich neskôr pripojíte k Pi. Na svojich ukážkových fotografiách som použil červenú, čiernu a hnedú farbu.

Pred začatím tohto kroku budete chcieť Raspberry Pi úplne vypnúť. Zadajte tieto príkazy a potom odpojte napájanie zariadenia Pi.

obrazovka -r minecraft

zastaviť sa

sudo shutdown -h teraz

Odrežte tri ženské GPIO vodiče, dostatočne dlhé, aby ste pri spájkovaní mali dostatok drôtu, s ktorými budete pracovať. Nadbytočné množstvo môžete vždy zacykliť, ako som to urobil ja. Opatrne spájkujte vodiče s kontaktmi na Jewel. Potom pripojte ženské konektory k pinom Raspberry Pi GPIO:

PWR na pin 1 = 3,3V

GND na pin 6 = uzemnenie

IN na pin 12 = GPIO18

Akonáhle je Jewel na mieste, môžete Pi znova zapojiť a pomocou Putty pripojiť a nainštalovať softvér LED pomocou nasledujúcich príkazov. Sledujte miesta, ktoré by vás mohli požiadať o zadanie Y, aby ste mohli pokračovať v inštalácii.

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

sudo apt-get install scons

sudo apt-get install swig

klon git

cd rpi_ws281x

scons

Dôležité ** V nasledujúcom kroku urobíme menší prírastok do knižnice neopixelov. Je to nevyhnutné, aby sa zabránilo chybe pamäte, ktorá ma niekoľko dní privádzala do bezvedomia. Bez neho budú diódy LED pracovať niekoľko hodín a potom sa prestanú správne aktualizovať. **

cd python

zostava python setup.py

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

Pomocou šípky nadol sa presuňte za riadok, ktorý hovorí „trieda Adafruit_NeoPixel (objekt):. Neďaleko nájdete sekciu s modrým textom s textom def _cleanup (self). Skopírujete do neho nasledujúci riadok sekcii, presne tak, ako je to znázornené na obrázku vyššie.

ws.ws2811_fini (self._leds)

A ešte raz musíme uložiť zmeny pomocou klávesov ctrl-x, Y, enter.

CD ~

cd rpi_ws281x/python

sudo python setup.py install

Ďalej musíme testovaciemu súboru povedať počet LED, ktoré máme, a potom ich môžeme rozsvietiť!

cd príklady

sudo nano strandtest.py

Nájdite riadok s LED_COUNT = 16 a zmeňte ho na LED_COUNT = 7, potom ctrl-x, Y, zadajte a uložte.

sudo python strandtest.py

Ak všetko prebehlo správne, práve ste boli oslepení blikajúcim výbuchom dúhy. Keď znova uvidíte, zhasnite svetlá stlačením klávesu ctrl-c. LED diódy sa nevypnú, ale prestanú blikať a to zatiaľ stačí.

Krok 7: Naprogramujte diódy LED na kontrolu stavu servera

Naprogramujte diódy LED na kontrolu stavu servera
Naprogramujte diódy LED na kontrolu stavu servera

Keď sú naše diódy LED nainštalované a pripravené, je načase ich nechať reagovať na server. Konkrétne ich urobíme tak, aby označovali aktuálny počet hráčov na serveri:

Hráči = Ruda

  • 0 = Redstone
  • 1-2 = železo
  • 3-4 = zlato
  • 5-6 = Smaragd
  • 7-8 = diamant

Ak server nie je spustený, Oreblock bude uhlie (LED diódy zhasnú). A ako bonus, ak kontrola stavu nemôže nájsť internetové pripojenie, diódy LED začnú blikať žlto!

Aby sme získali počet hráčov zo servera, nainštalujeme mcstatus od Nathana Adamsa, jedného z vývojárov hier spoločnosti Mojang.

sudo apt-get install python-pip

sudo pip install mcstatus

Potom musíme skopírovať dva nižšie uvedené skripty python, mcled.py a ledoff.py, na náš server pomocou programu Filezilla. Jednoducho presuňte dva skripty do poľa na pravej strane, ako je to znázornené na obrázku.

Choďte do toho a hneď vyskúšajte ledoff.py, aby sme mohli vypnúť LED diódy, ktoré sa v predchádzajúcom kroku rozsvietili.

sudo python ledoff.py

Pri manuálnom spustení skriptov dostanete správu s textom „Chyba segmentácie“. Toto je nevyriešený problém v knižnici Neopixel.py, ktorý nemá žiadny vplyv na to, čo robíme.

Ak vás zaujíma, ako tieto skripty fungujú, môžete ich otvoriť v ľubovoľnom textovom editore na počítači alebo pomocou programu nano na obrazovke terminálu. Dávajte si pozor, aby ste omylom neuložili všetky zmeny, ktoré by im mohli zabrániť v práci!

Poznámka ** mcled.py predpokladá, že používate port 26565 z môjho príkladu. Ak používate iný port, musíte skript zmeniť tak, aby zodpovedal nasledujúcim krokom **

sudo nano mcled.py

Nájdite červený riadok textu s textom „# Získať počet hráčov servera“a pod ním sa zobrazí riadok so zeleným textom „localhost“a číslom portu. Zmeňte číslo portu tak, aby zodpovedalo vášmu, a ako vždy uložte zmeny pomocou klávesov ctrl-x, Y, zadajte.

Aby sme získali neustále aktualizácie stavu servera, povieme Pi, aby každú minútu spustil skript mcled.py, a to znamená, že v crontab nastavíme ďalších pár riadkov.

crontab -e

Uvidíte dva riadky, ktoré sme pridali predtým pre plánovanie zálohovania a reštartovania. Teraz pridáme ďalšie dve:

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

0 21 * * * sudo python ledoff.py

Prvý riadok hovorí, aby Pi bežal mcled.py každú minútu každú hodinu medzi 6:00 a 20:59. Druhý riadok hovorí Pi, aby vypol LED diódy o 21:00. To je osobná preferencia, pretože v tom čase už moje deti nehrali Minecraft, aj keď server stále beží. OreServer máme tiež vystavený nad televízorom a jasné svetlo sa večer stáva dráždivým. Tieto dva riadky môžete samozrejme zmeniť tak, aby diódy LED svietili nepretržite alebo sa neskôr vypli alebo čokoľvek, čo vyhovuje vašim vlastným účelom.

Čoskoro po uložení vašich zmien (už vám je zle z ctrl-x, Y, už zadávate?) Sa zavolá skript a váš šperk sa znova rozsvieti. Pravdepodobne bude červená, čo znamená, že server je spustený, ale nepoužíva sa. Nájdite si chvíľu a spustite Minecraft a pripojte sa k serveru tak, ako sme to urobili počas nášho predchádzajúceho testu. Krátko po tom, čo ste sa pripojili, by mali diódy LED prepnúť na bielu a potom po odpojení opäť na červenú.

Krok 8: Vytvorte puzdro na rudu

Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu
Vyrobte puzdro na rudu

Posledným dotykom, ktorý to všetko spojí, je puzdro oreblock pre Raspberry Pi. Na výrobu puzdra Ore som použil 3D tlačiareň Lulzbot TAZ6 v mojom miestnom makerspace, RiverCityLabs. Poskytol som svoje súbory. STL, ktoré je možné vytlačiť, pre základňu a hornú časť nižšie. Ak nemáte vlastnú 3D tlačiareň, overte si vo svojej oblasti komunitu tvorcov, sú skvelí! Alebo máte miestnu knižnicu alebo školu, v ktorej sú tlačiarne prístupné verejnosti. Existuje aj niekoľko online služieb 3D tlače, ktoré vám môžu vytlačiť a odoslať návrh. Alebo môžete byť kreatívni! Nič vám nebráni v tom, aby ste kufrík vyrobili z kartónu alebo hromady sivého Lega alebo čohokoľvek, čo máte poruke.

Niekoľko dôležitých poznámok k nastavovaniu súborov 3D tlačiarne:

  • Vytlačte súbor bez akýchkoľvek zmien mierky, aby ste sa presvedčili, že montážne otvory sú v súlade s Pi.
  • Otočte hornú časť hore dnom tak, aby otvorený koniec smeroval nahor.
  • Nezabudnite zapnúť nastavenia podpory, aby previsy na stenách neboli nepohodlné.

Po dokončení tlače môžete Pi pripevniť k základni štyrmi 2,5 mm skrutkami. Nemôžem nájsť odkaz na skutočný produkt, ale našiel som ich v 2 baleniach u spoločnosti Menards, čo bolo oveľa lepšie ako objednať si krabicu 100 kusov od Amazonu.

Z vrchu odstráňte všetok podporný materiál a odstrihnite list pergamenového papiera alebo bieleho hodvábneho papiera, aby sa zmestil dovnútra. Tým sa rozptýlia LED svetlá, čo spôsobí, že žiariaci efekt bude miliónkrát lepší, než len nechať otvory otvorené.

Pripojte pravouhlý adaptér MicroUSB k napájaciemu portu tak, aby kábel vychádzal zo zadnej časti puzdra vedľa ethernetového portu.

Teraz môžete znova pripojiť napájací a ethernetový kábel, nastaviť vrch na miesto a užívať si!

Krok 9: Zhrnutie, ďalšie myšlienky a poďakovanie

Veľká cena v Minecraft Challenge 2018

Odporúča: