Sadržaj:

OreServer - Raspberry Pi namjenski Minecraft poslužitelj s LED indikatorom playera: 9 koraka (sa slikama)
OreServer - Raspberry Pi namjenski Minecraft poslužitelj s LED indikatorom playera: 9 koraka (sa slikama)

Video: OreServer - Raspberry Pi namjenski Minecraft poslužitelj s LED indikatorom playera: 9 koraka (sa slikama)

Video: OreServer - Raspberry Pi namjenski Minecraft poslužitelj s LED indikatorom playera: 9 koraka (sa slikama)
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, Prosinac
Anonim

Od MrJymmFollow About: Puno ideja, nikad dovoljno vremena. Više o MrJymm »

AŽURIRANJE U srpnju 2020. - Prije nego počnete s ovim projektom, imajte na umu da je MNOGO promjena i ažuriranja uneseno u različite softverske alate koje sam koristio za izradu ovoga prije više od dvije godine. Zbog toga mnogi koraci više ne funkcioniraju onako kako je napisano. Projekt se još može dovršiti i još uvijek je zabavan, ali očekujte da ćete morati sami napraviti petljanje kako bi sve funkcioniralo. Neka rješenja mogu se pronaći u nedavnim komentarima na kraju uputstva. Hvala i sretno rudarenje

Ako ste ljubitelj igranja Minecrafta, vjerojatno ste razmišljali o tome kako bi bilo zabavno imati vlastiti osobni poslužitelj koji biste podijelili sa svojim prijateljima. Moji sinovi su me neprestano pitali za svoj zajednički svijet, a na kraju se njihovo zanimanje za Minecraft spojilo s mojim zanimanjem za Raspberry Pi i rodila se ideja za OreServer.

Ovaj će vam projekt pokazati kako postaviti Minecraft poslužitelj sa zabavnom i jedinstvenom značajkom - napravljen je da nalikuje rudnom bloku i svijetli različitim bojama ovisno o tome koliko ljudi trenutno igra na vašem svijetu!

Ali tu ne staje! Poslužitelj ćemo učiniti dostupnim svima s PC izdanjem Minecrafta, tako da možete podijeliti adresu poslužitelja i pozvati prijatelje u svoj svijet. Radit će 24 sata dnevno, pa čak i ako ste zaposleni ili izvan kuće, vaši prijatelji mogu nastaviti graditi. Postavit ćemo automatske sigurnosne kopije u slučaju da dođe do tragedije (taj TNT top je u to vrijeme zvučao kao dobra ideja …) tako da se možete poništiti s prethodnih dana.

Korak 1: Popis dijelova i alata

Popis dijelova i alata
Popis dijelova i alata

Ovo su dijelovi, alati i softver koji će vam trebati za dovršetak ovog projekta. Dodao sam veze za referencu, ali većina ovih zaliha dostupna je od više prodavača, pa ih pokupite gdje god vam je najlakše / najjeftinije.

Dijelovi:

  • Raspberry Pi 3 i napajanje

    Oni su također dostupni u kompletu

  • Micro USB adapter pod pravim kutom
  • MicroSD kartica

    Preporučuje se najmanje 8 GB, ali visokokvalitetna kartica od 16 ili 32 GB

  • Adafruit Neopixel dragulj
  • Tri kratke žice GPIO
  • Srebrna ili siva nit za 3D ispis (bilo koja vrsta)
  • 2,5 mm vijci (x4)
  • Pergament ili bijeli papir

Alati:

  • Čitač microSD kartica
  • Oprema za lemljenje
  • Mali odvijač
  • 3D pisač

Softver:

  • Minecraft (Java PC izdanje)
  • Raspbian Lite ISO

    NE verzija "sa stolnim računalom"

  • etcher.io
  • Putty ili sličan klijent SSH terminala
  • Filezilla ili sličan FTP klijent

Korak 2: Postavljanje i priprema Raspberry Pi

Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi
Postavljanje i priprema Raspberry Pi

Prije nego što počnemo instalirati poslužitelj, moramo dovršiti neke osnovne korake postavljanja i konfiguracije na Pi.

1. Pripremite MicroSD karticu

Prvo, moramo postaviti Rasbian operacijski sustav na našu MicroSD karticu koristeći etcher.io.

  1. Umetnite MicroSD karticu u čitač kartica, a čitač kartica u USB priključak na računalu
  2. Pokrenite etcher i pomoću gumba Odaberi sliku učitajte Rasbian Lite ISO
  3. Odaberite MicroSD karticu za instalacijski pogon
  4. Kliknite Flash!

Kad proces završi, etcher će odvojiti MicroSD pogon od sustava, ali moramo dodati još jednu datoteku pa ga samo isključite iz utičnice i ponovno ga uključite. Kartica će sada čitati kao pogon s oznakom "boot". Kopirajte praznu datoteku pod nazivom "ssh" u pogon za pokretanje, a zatim ponovno odvojite MicroSD pogon od sustava. MicroSD kartica sada je spremna za useljenje u Raspberry Pi.

** Ako ne možete preuzeti datoteku "ssh", lako je izraditi vlastitu jednostavnim preimenovanjem prazne tekstualne datoteke. Izbrišite proširenje ".txt". Kada radi, ikona će postati prazna kao na snimci zaslona. **

2. Spojite se na terminal Pi

Sad kad Pi ima operativni sustav, uključimo ga!

  1. Priključite žičani ethernet kabel i izvor napajanja na Rasberry Pi. Iako Pi 3 ima ugrađenu Wi-Fi podršku, ožičena veza je robusnija i poželjnija za naš poslužitelj.
  2. Zatim moramo dohvatiti Pi -jevu IP adresu s vašeg usmjerivača. Ovaj korak će se malo razlikovati ovisno o marki vašeg usmjerivača - u mom slučaju unosim 192.168.1.1 u svoj preglednik kako bih se prijavio na upravljačku ploču usmjerivača. Tražit ćete popis DHCP klijenata i unos pod nazivom "raspberrypi". Obratite pozornost na dodijeljenu IP adresu, u mom primjeru to je 192.168.1.115. Sada je također dobra prilika da postavite IP adresu kao "rezerviranu" ili "trajnu" kako joj kasnije ne bi bila dodijeljena druga adresa. Ako imate poteškoća s ovim korakom, za detalje provjerite dokumentaciju vašeg usmjerivača ili web lokaciju za podršku.
  3. Sada možemo otvoriti Putty, unijeti Pi -jevu IP adresu u polje "Host Name" i kliknuti "Open".

Sada biste trebali gledati crni zaslon s "login as:". Ovo je vaš terminal Pi i tu ćemo odraditi ostatak posla oko postavljanja poslužitelja. Upamtite, zaslonski terminali su za tipkovnice! Ovdje vaš miš neće biti od velike koristi.

3. Raspi-config

Da bismo dovršili početno postavljanje, moramo se prijaviti pomoću zadanih postavki:

prijavite se kao: pi

lozinka: malina

Sada možemo proći kroz neke osnovne postavke Pi -ovih zadanih postavki unošenjem sljedećeg

sudo raspi-config

Moramo unijeti nekoliko promjena, a ja ću vas provesti kroz njih istim redoslijedom kojim su označeni na zaslonu za konfiguraciju.

  1. Promijenite korisničku lozinku - ovo je potrebno! Svi znaju zadanu lozinku, pa je odmah promijenite.
  2. Opcije mreže

    Naziv hosta - prema zadanim postavkama ovo je "raspberrypi", ali ako želite možete ga promijeniti tako da bude opisniji

  3. -(bez promjena)-
  4. Opcije lokalizacije - ako niste u Velikoj Britaniji, poželjet ćete ih promijeniti u svoju zemlju. Moji primjeri pretpostavljaju da su to SAD.

    1. Promijeni lokalizaciju - pomoću strelice prema dolje pronađite unos za "en_GB" sa znakom * pored njega. Pomoću razmaknice uklonite taj *, a zatim se još malo spustite na "en_US. UTF-8" i ponovno upotrijebite razmaknicu da biste ga označili sa *.
    2. Promijeni vremensku zonu - ovo je važno za ispravno funkcioniranje zadanih zadataka
    3. Promijenite raspored tipkovnice - ovo ćete možda moći preskočiti, ali ako se ostavi u Velikoj Britaniji, postoji nekoliko simbola tipkovnice koji se pomiču
  5. Opcije sučelja
    1. -(bez promjena)-
    2. SSH - Omogućite ovo kako biste mogli nastaviti koristiti Putty nakon ponovnog pokretanja Pi.
  6. -(bez promjena)-
  7. Napredne opcije

    1. Proširi datotečni sustav - to osigurava da Pi može iskoristiti sav prostor dostupan na SD kartici
    2. -(bez promjena)-
    3. Podjela memorije - promijenite ovo na 16 da biste oslobodili više memorije za korištenje Minecrafta.

Sada odaberite "Završi", a zatim odaberite "Da" za ponovno pokretanje.

Ovo će prekinuti vašu sesiju u programu Putty. Jednostavno dajte trenutak za dovršetak ponovnog pokretanja, a zatim ponovno otvorite Putty i ponovno se povežite s Pi -jevom IP adresom. Ne zaboravite upotrijebiti svoju novu lozinku!

Korak 3: Instalirajte namjenski poslužitelj

Postavljanje softvera poslužitelja najduži je, ali i najvažniji korak. Potrošit ćemo puno vremena unoseći hrpu dosadnih Linux naredbi. Ne dopustite da vas to zastraši! Dok god možete kopirati i zalijepiti, možete proći kroz ovaj dio.

Minecraft poslužitelj prilično je složen, a njegovo pokretanje na računalu malom kao Raspberry Pi zahtijeva pojednostavljivanje. Započeo sam s ovim fantastičnim vodičem Jamesa Chambersa jer ima nekoliko izvrsnih savjeta o maksimiziranju performansi poslužitelja. U nastavku ću sažeti njegov postupak instalacije i istaknuti neke izmjene i nadogradnje koje sam napravio, ali toplo preporučujem da njegovu stranicu pročitate za više detalja.

Sada kada ste se ponovno prijavili koristeći zadani "pi" i novu lozinku, možemo početi unositi naredbe za instaliranje datoteka poslužitelja.

Važno - Mnoge od ovih naredbi dugačke su i složene te bi ih bilo jako bolno upisati u prozor terminala. Zato nemojte to činiti! Označite tekst naredbe u ovom prozoru, kopirajte ga s ctrl-c, a zatim u prozoru terminala samo desnom tipkom miša kliknite mišem da biste zalijepili tekst. Vidite, taj miš je ipak dobar za nešto!

U ostatku ovog koraka kopirat ćete svaku naredbu iz ovih tekstualnih okvira koda.

Dat ću kratka objašnjenja o tome što radimo usput.

Počet ćemo s ažuriranjem našeg softvera.

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

Kad god vidite zahtjev za odobrenje instalacije, upišite "y" i pritisnite enter za prihvaćanje i nastavak.

Minecraft radi na Javi, ali naša "Lite" Rasbian instalacija to nije uključivala, pa uzmimo to.

wget --no-check-certificate --no-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

Napomena ** Kad se Java ažurira na noviju verziju, ta naredba može postati zastarjela. Ako primite poruku o pogrešci, morat ćete ažurirati naredbu za najnoviju verziju. Posjetite Oracleovu stranicu za preuzimanje Jave, kliknite gumb "Prihvati licencni ugovor", a zatim desnom tipkom miša kliknite vezu do najnovije datoteke linux-arm32 i odaberite vezu za kopiranje. Morat ćete upotrijebiti tu ažuriranu vezu da zamijenite tekst u gornjoj naredbi, počevši od http. **

Sada možemo instalirati Java datoteke koje smo upravo preuzeli.

sudo mkdir /usr /java

cd /usr /java

Ako ste morali promijeniti vezu za preuzimanje za novu verziju, provjerite jeste li promijenili broj verzije u sljedećim naredbama kako bi odgovarao.

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

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

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

cd ~

I na kraju, glavni događaj koji ste tako strpljivo čekali, instalirajmo Minecraft poslužitelj. Ovo je specijalizirana verzija poslužitelja pod nazivom Paper i puna je optimizacija za poboljšanje performansi.

mkdir papir

wget

unzip master.zip -d Papir

mv ~/Papir/RaspberryPiMinecraft-master/* ~/Papir/

cd papir

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M spajalica.jar

Posljednja naredba pokrenut će poslužitelj po prvi put, a nakon nekoliko trenutaka primit ćete pogrešku koja kaže da se morate složiti s EULA -om. Otvorite EULA -u sljedećom naredbom:

nano eula.txt

Promijenite redak koji kaže "eula = false" u "eula = true". Spremite promjene pritiskom na ctrl-x, zatim Y, a zatim unesite.

Napomena ** James Chambers u ovom dijelu svog vodiča spominje metodu overclockanja vaše SD kartice. Osobno nisam isprobao taj korak jer zahtijeva karticu visoke kvalitete, a ona koju sam imao na raspolaganju nije ništa posebno. Vjerujem da bi overclocking zasigurno dodatno poboljšao performanse, ali čak i bez overclockanja poslužitelj radi dovoljno dobro da nemam pritužbi od djece koja se igraju na njemu. **

Hajdemo brzo pogledati svojstva poslužitelja i napraviti par promjena.

nano poslužitelj.svojstva

Ovdje postoji dugačak popis stvari koje možete promijeniti na svom poslužitelju, poput personalizacije naziva poslužitelja i MOTD -a, promjene načina igre ili omogućavanja PvP -a ili naredbenih blokova. Sada možete promijeniti stvari prema vlastitim željama ili možete otvoriti ovu datoteku da biste kasnije unijeli još promjena, ali dvije promjene ćemo napraviti odmah.

maks. igrača = 8

poslužitelj-port = 25565

Osam igrača je najviše što bih preporučio, bilo koje veće i vrlo vjerojatno ćete vidjeti da performanse poslužitelja zaostaju, čak i uz sve optimizacije za pokretanje stvari na Pi -u.

Port poslužitelja treba promijeniti jer, poput zadane "maline" lozinke, svi znaju zadani port 25565. Čak i manja promjena na 26565 pomoći će da vaš poslužitelj bude siguran. Zapišite broj porta pored mjesta na kojem ste spremili Pi -jevu IP adresu. Oboje će vam trebati kasnije.

Nakon što dovršite ažuriranje postavki, spremite promjene pritiskom na ctrl-x, zatim Y, a zatim unesite.

Sljedeći korak u pripremi vašeg poslužitelja također će potrajati najduže vrijeme nakon pokretanja, vjerojatno oko sat vremena. Ove naredbe će unaprijed generirati vaš svijet, što znači da poslužitelj neće morati raditi sav ovaj posao kasnije dok vi i vaši prijatelji istražujete.

cd ~/Papir/dodaci

wget --content -disposition -E

sudo apt-get instalacijski zaslon

cd papir

./start.sh

Neće izgledati kao da se nešto dogodilo, ali vaš poslužitelj je sada pokrenut! Za interakciju sa poslužiteljem moramo koristiti ovu naredbu

screen -r minecraft

I tada ćemo unaprijed generirati svijet:

wb world set 1000 spawn

wb world fill 1000

wb fill confirm

Ovo je dio koji će potrajati dugo. Idite na užinu i provjerite kasnije! Kad proces završi, isključite poslužitelj vrlo jednostavnom naredbom

Stop

Ovo će spremiti i zatvoriti poslužitelj i vratiti vas na terminal Raspberry Pi.

Naš posljednji zadatak je postaviti poslužitelj da se automatski pokrene kad se Raspberry Pi uključi ili ponovno pokrene. To možemo učiniti stvaranjem jednostavne skripte.

cd ~

nano pokretanje.sh

Ranije smo koristili nano za uređivanje nekoliko datoteka, ali ovaj put stvaramo jednu ispočetka pa će prozor biti prazan. Kopirajte ova dva retka u datoteku:

cd/home/pi/papir

screen -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/pap/clip/papir/papir/papir/papir

Zatim spremite novu skriptu pritiskom na ctrl-x, zatim Y, a zatim unesite.

chmod +x startup.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Posljednji redak datoteke rc.local kaže "izlaz 0". Neposredno iznad te crte dodat ćemo ovo:

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

I još jednom spremamo promjene datoteka pomoću ctrl-x, zatim Y, a zatim unesite.

sudo ponovno podizanje sustava

Dobit ćete poruku da je veza zatvorena i možete zatvoriti prozor Putty.

To je to! Uspjeli ste proći dosadno! Sada smo spremni za testiranje našeg poslužitelja!

Korak 4: Testirajte svoj poslužitelj i pozovite svoje prijatelje

Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje
Testirajte svoj poslužitelj i pozovite svoje prijatelje

Sljedeće ćemo provjeriti radi li poslužitelj i pobrinuti se da nam se prijatelji mogu pridružiti.

Otvorite pokretač Minecraft na računalu i pritisnite Play. Provjerite koristite li najnoviju verziju izdanja kako bi odgovarala poslužitelju Paper.

Na glavnom zaslonu odaberite Multiplayer, a zatim dodajte poslužitelj. Unesite ime koje želite imati na popisu poslužitelja, a za adresu poslužitelja unesite IP svog Pi -a i broj porta. Za moj primjer koristimo 192.168.1.115:26565. Provjerite imate li dvotočku između IP adrese i broja porta te da nema razmaka. Pritisnite Gotovo, a zatim kliknite play na vašem poslužitelju. Nakon nekoliko trenutaka naći ćete se upali u svoj potpuno novi svijet!

Čekaj, vrati se! Ne počnite sami graditi, pozovimo neke prijatelje! Nažalost, oni ne mogu koristiti istu IP adresu kao vi. Dakle, kako bi ovo funkcioniralo, najprije morate svom usmjerivaču reći da je u redu da se ljudi koji se nalaze izvan vaše kuće povežu s Pi. To se naziva prosljeđivanje portova i točan proces će se malo razlikovati ovisno o vašem usmjerivaču. Priložio sam snimak zaslona kako izgleda na usmjerivaču marke TP Link, ali možda ćete za više informacija morati provjeriti web lokaciju za podršku usmjerivača.

U postavkama prosljeđivanja priključaka unesite broj porta koji ste odabrali za poslužitelj, a zatim IP adresu za svoj Raspberry Pi. Vaš usmjerivač sada zna da bi se, kad se vaši prijatelji pokušaju povezati s tim brojem porta, trebali usmjeriti na Pi.

Zatim moramo koristiti besplatnu uslugu kao što je No-IP za stvaranje vlastite jedinstvene adrese, nazvane Hostname. Također ćete postaviti usmjerivač ili računalo da ažurira IP adresu naziva računala.

Sada slijedite korake iz njihovog vodiča za postavljanje.

Kad završite s postavljanjem No-IP računa, vaši će se prijatelji moći povezati s vašim poslužiteljem unosom vašeg novog naziva hosta i broja porta u odjeljak Adresa poslužitelja na njihovom Minecraft ekranu za više igrača. Na primjer, hostname.ddns.net:26565.

Korak 5: Spasite svijet! (s automatskim sigurnosnim kopiranjem)

Spasiti svijet! (s automatskim sigurnosnim kopiranjem)
Spasiti svijet! (s automatskim sigurnosnim kopiranjem)

Ovaj korak nije obavezan, ali je potencijalni spasitelj. Vaš se svijet suočava s ozbiljnim rizicima, bilo zbog oštećene MicroSD kartice, povremenih nevolja ili tuga, ili samo onih dosadnih puzavica. Kako bismo zaštitili sav vaš naporan rad, poslužitelj će svaku večer automatski spremati vašu svjetsku datoteku. Kako bismo spriječili punjenje vaše MicroSD kartice, izbrisat ćemo i sve sigurnosne kopije stare više od tjedan dana. Nakon toga ih možete jednostavno kopirati na vlastito računalo ili drugi sigurnosni pogon za još veću sigurnost.

Za početak ćemo koristiti Putty za ponovno povezivanje s našim Pi -om kako bismo napravili još jednu novu skriptu.

nano dailybackup.sh

Kopirajte sljedeće naredbe u skriptu:

# Zaustavite Minecraft poslužitelj

zaslon -x minecraft -X zaustavljanje stvari^M spavanje 5 # Kopiraj direktorij papira u sigurnosnu kopiju/PaperYYDDMM cp -a Papir/. sigurnosna kopija/papir $ (datum +%F) # Izbriši sigurnosne kopije starije od 7 dana nađi sigurnosnu kopiju/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

A onda, recite to sa mnom - spremite datoteku pritiskom na ctrl -x, Y, enter.

Sada ćemo stvoriti ponavljajući zadatak za pokretanje sigurnosne kopije svake noći pomoću crontaba.

crontab -e

Prilikom prvog pokretanja ove naredbe dobit ćete izbor urednika, odaberite broj 2 za Nano.

Ovo će otvoriti posebnu datoteku za planiranje zadataka. Na dnu ove datoteke dodajte sljedeće retke:

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

15 0 * * * sudo ponovno podizanje sustava

Prvi redak govori Pi da pokrene vašu sigurnosnu kopiju skripte svake noći u 12:05. Druga linija kaže Pi da se ponovno pokrene deset minuta kasnije. Ako želite drugačije vrijeme za izradu sigurnosnih kopija i ponovno podizanje sustava, možete promijeniti ove retke prema vlastitim željama. Samo zapamtite da je prvi broj minuta, a drugi broj sat u 24 -satnom formatu. Tri zvjezdice osiguravaju da se ova skripta izvodi svaki dan.

Nakon što sustav radi neko vrijeme, možda ćete htjeti steći naviku spremanja sigurnosnih kopija na drugo mjesto izvan Pi -jeve MicroSD kartice. Ovaj je zadatak vrlo jednostavan povezivanjem na vaš poslužitelj pomoću Filezille. Jednostavno povucite mapu sigurnosne kopije s desne strane Filezille i spustite je na računalo. Nakon što kopira sve datoteke, možete ih pohraniti koliko god želite!

A ako ikada dođe do tragedije i morate se vratiti na jednu od datoteka spremanja, to je brz i jednostavan postupak. Prvo provjerite jeste li zaustavili poslužitelj:

screen -r minecraft

Stop

Zatim upotrijebite Filezilla za brisanje direktorija Paper i zamijenite ga povlačenjem jednog od spremljenih direktorija natrag u Pi. Izbrišite datum iz naziva direktorija tako da se opet zove jednostavno Papir. Zatim možete ponovno pokrenuti poslužitelj s

./startup.sh

I samo tako, možete se vratiti poslovima gradnje!

Korak 6: Priključite LED diode

Priključite LED diode
Priključite LED diode
Priključite LED diode
Priključite LED diode
Priključite LED diode
Priključite LED diode

Vrijeme je za dodavanje svjetla! Ovdje vaš poslužitelj počinje postajati više od sakupljača prašine iza vašeg monitora. Ovaj korak će vam pokazati kako lemiti i pričvrstiti Neopixel Jewel na Raspberry Pi, a zatim instalirati softver potreban za pokretanje LED dioda. Ubrzo nakon toga nikada se nećete morati pitati čeka li netko na mreži da se igra s vama, jer će vam poslužitelj reći samo jednim pogledom!

Adafruitovi Neopixeli su fantastične LED diode. Oni su RGB, što znači da mogu zasvijetliti u bilo kojoj boji koju želite. Adresirane su, što znači da pomoću softverskih naredbi možete promijeniti njihovu boju kad god želite. Za mnogo više sjajnih informacija o tome kako Neopixeli rade s Raspberry Pi, pogledajte službeni vodič za Adafruit.

Jewel ima 7 LED dioda koje će nam dati obilje jake svijetle boje. Postoji i pet kontaktnih mjesta za lemljenje, ali koristit ćemo samo tri. Toplo preporučujem da koristite tri žice različite boje kako biste izbjegli njihovo miješanje kada ih kasnije povežete s Pi. U svojim primjerima fotografija koristila sam crvenu, crnu i smeđu boju.

Prije početka ovog koraka htjet ćete potpuno isključiti Raspberry Pi. Unesite ove naredbe, a zatim isključite Pi napajanje.

screen -r minecraft

Stop

sudo shutdown -h sada

Odrežite tri ženske GPIO žice, dovoljno dugo da imate dovoljno žice za rad tijekom lemljenja. Višak uvijek možete zatvoriti kao ja. Pažljivo lemite žice na kontakte na dragulju. Zatim pričvrstite ženske konektore na Raspberry Pi GPIO pinove:

PWR na pin 1 = 3.3V

GND na pin 6 = Uzemljenje

IN na pin 12 = GPIO18

Nakon što je dragulj na mjestu, možete ponovno priključiti Pi i koristiti Putty za povezivanje i instaliranje LED softvera sa sljedećim naredbama. Pazite na mjesta koja bi mogla tražiti da unesete Y za nastavak instalacije.

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

Važno ** U sljedećem koraku napravit ćemo manji dodatak biblioteci neopiksela. To je potrebno kako bi se izbjegla memorijska pogreška koja me izluđivala nekoliko dana. Bez toga LED diode će raditi nekoliko sati, a zatim će se prestati ispravno ažurirati. **

cd python

python setup.py build

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

Pomoću strelice prema dolje pomaknite se pored retka koji kaže class Adafruit_NeoPixel (object):. Nedavno ćete pronaći odjeljak s plavim tekstom koji kaže def _cleanup (self). Kopirat ćete sljedeći redak u ovaj odjeljak, točno onako kako je prikazano na gornjoj snimci zaslona.

ws.ws2811_fini (self._leds)

I još jednom moramo spremiti promjene pomoću ctrl-x, Y, enter.

cd ~

cd rpi_ws281x/python

sudo python setup.py install

Zatim moramo reći testnoj datoteci broj LED dioda koje imamo, a zatim ih možemo upaliti!

cd primjeri

sudo nano strandtest.py

Pronađite redak koji kaže LED_COUNT = 16 i promijenite ga u LED_COUNT = 7, zatim pritisnite ctrl-x, Y, unesite za spremanje.

sudo python strandtest.py

Ako je sve prošlo kako treba, upravo vas je zaslijepila trepćuća eksplozija duge. Kad ponovno vidite, pritisnite ctrl-c da biste zaustavili svjetla. LED diode se neće ugasiti, ali će prestati treperiti i to je za sada dovoljno dobro.

Korak 7: Programirajte LED diode za provjeru statusa poslužitelja

Programirajte LED diode za provjeru statusa poslužitelja
Programirajte LED diode za provjeru statusa poslužitelja

S instaliranim i spremnim LED diodama, vrijeme je da ih natjeramo da reagiraju na poslužitelj. Konkretno, natjerat ćemo ih da naznače trenutni broj igrača na poslužitelju:

Igrači = Ruda

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

Ako poslužitelj ne radi, Oreblock će biti ugljen (LED diode su isključene). I kao dodatni bonus, ako provjera statusa ne može pronaći internetsku vezu, LED diode će treperiti žuto!

Kako bismo dohvatili broj igrača s poslužitelja, instalirat ćemo mcstatus od Nathana Adamsa, jednog od Mojang -ovih programera igara.

sudo apt-get install python-pip

sudo pip install mcstatus

Zatim moramo kopirati dvije dolje navedene skripte python, mcled.py i ledoff.py, na naš poslužitelj s Filezillom. Jednostavno povucite i ispustite dvije skripte u okvir s desne strane, kao što je prikazano na snimci zaslona.

Samo naprijed i isprobajte ledoff.py odmah, kako bismo mogli isključiti LED diode koje su ostale uključene u prethodnom koraku.

sudo python ledoff.py

Kada ručno pokrenete skripte na ovaj način, dobit ćete poruku koja kaže "Greška segmentacije". Ovo je neriješeno pitanje u knjižnici Neopixel.py koje nema utjecaja na ono što radimo.

Ako vas zanima kako ove skripte funkcioniraju, možete ih otvoriti bilo kojim uređivačem teksta na računalu ili pomoću nano na ekranu terminala. Pazite samo da slučajno ne spremite promjene koje bi ih mogle spriječiti u radu!

Napomena ** mcled.py pretpostavlja da koristite port 26565 iz mog primjera. Ako koristite drugi port, morate promijeniti skriptu tako da se podudara sa sljedećim koracima **

sudo nano mcled.py

Pronađite crveni redak teksta koji kaže "# Get server player player", a ispod toga vidjet ćete redak koji uključuje zeleni tekst koji kaže "localhost" i broj porta pored toga. Promijenite broj porta tako da odgovara vašem i, kao i uvijek, spremite promjene pomoću ctrl-x, Y, enter.

Kako bismo stalno dobivali ažuriranja o statusu poslužitelja, reći ćemo Pi da pokrene skriptu mcled.py svake minute, a to znači postavljanje još nekoliko redaka u crontab.

crontab -e

Vidjet ćete dva retka koja smo ranije dodali za zakazivanje sigurnosnih kopija i ponovnog pokretanja. Sada ćemo dodati još dva:

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

0 21 * * * sudo python ledoff.py

Prvi redak govori Pi da radi mcled.py svake minute svakog sata između 6 ujutro i 8:59 popodne. Druga linija kaže Pi da isključi LED diode u 21:00. To je osobna sklonost, jer do tada moja djeca više ne igraju Minecraft, iako poslužitelj nastavlja raditi. OreServer je također istaknut iznad televizora, a jako svjetlo navečer postaje iritantno. Naravno, možete promijeniti ove dvije linije kako bi LED diode radile bez prestanka ili se kasnije isključiti ili što god odgovara vašim potrebama.

Ubrzo nakon što su vaše promjene spremljene (je li vam dosadilo ctrl-x, Y, unesite još?), Skripta će se pozvati i vaš dragulj će ponovno zasvijetliti. Najvjerojatnije će biti crvene boje što znači da poslužitelj radi, ali nije u upotrebi. Odvojite trenutak da pokrenete Minecraft i pridružite se poslužitelju kao što smo to učinili tijekom našeg ranijeg testa. Ubrzo nakon što ste se pridružili, LED diode bi se trebale prebaciti u bijelu, a zatim ponovo u crvenu boju kada prekinete vezu.

Korak 8: Napravite rudnu kutiju

Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju
Napravite rudnu kutiju

Zadnji dodir koji će sve ovo spojiti je oreblock kućište za Raspberry Pi. Za izradu kućišta Ore koristio sam 3D pisač Lulzbot TAZ6 u svom lokalnom proizvođačkom prostoru, RiverCityLabs. U nastavku sam naveo svoje. STL datoteke za ispis za bazu i vrh. Ako nemate vlastiti 3D pisač, provjerite postoji li u vašem području zajednica proizvođača, odlični su! Ili možda imate lokalnu knjižnicu ili školu koja ima pisače dostupne javnosti. Postoji i nekoliko internetskih usluga 3D ispisa koje vam mogu ispisati i poslati dizajn. Ili možete postati kreativni! Ništa vas ne može spriječiti da ne napravite kućište od kartona ili hrpe sivog Lego kockara ili bilo čega drugog što vam je pri ruci.

Neke važne napomene pri postavljanju datoteka 3D pisača:

  • Ispišite datoteku bez ikakvih promjena u skaliranju kako biste bili sigurni da su rupe za montažu u skladu s Pi.
  • Okrenite vrh naopako tako da otvoreni kraj bude okrenut prema gore.
  • Uključite postavke podrške kako prevjesi na zidovima ne bi postali neuredni.

Nakon što je ispis dovršen, možete pričvrstiti Pi na bazu s četiri vijka od 2,5 mm. Ne mogu pronaći vezu do stvarnog proizvoda, ali našao sam ih u pakiranju od 2 u Menards -u, što je bilo puno bolje nego naručiti kutiju od 100 komada iz Amazona.

Uklonite sav potporni materijal s vrha i izrežite list pergamentnog papira ili bijelog papirnatog papira da stane unutra. To će raspršiti LED svjetla zbog čega sjajni efekt izgleda milijun puta bolje od pukog otvaranja rupa.

Priključite MicroUSB adapter pod pravim kutom na priključak za napajanje tako da kabel izlazi sa stražnje strane kućišta pored ethernet priključka.

Sada možete ponovno spojiti kabele za napajanje i Ethernet, postaviti vrh na mjesto i uživati!

Korak 9: Sažetak, dodatna razmišljanja i hvala

Velika nagrada na Minecraft Challengeu 2018

Preporučeni: