Turinys:

„OreServer“- „Raspberry Pi“skirtas „Minecraft“serveris su LED grotuvo indikatoriumi: 9 žingsniai (su nuotraukomis)
„OreServer“- „Raspberry Pi“skirtas „Minecraft“serveris su LED grotuvo indikatoriumi: 9 žingsniai (su nuotraukomis)

Video: „OreServer“- „Raspberry Pi“skirtas „Minecraft“serveris su LED grotuvo indikatoriumi: 9 žingsniai (su nuotraukomis)

Video: „OreServer“- „Raspberry Pi“skirtas „Minecraft“serveris su LED grotuvo indikatoriumi: 9 žingsniai (su nuotraukomis)
Video: printed WITHOUT support #shorts 2024, Liepa
Anonim

Sekite apie: Daug idėjų, niekada neužtenka laiko. Daugiau apie MrJymm »

2020 m. Liepos mėn. ATNAUJINIMAS - Prieš pradėdami šį projektą, atminkite, kad buvo atlikta daug pakeitimų ir atnaujinimų įvairiose programinėse įrangose, kurias naudojau kurdama prieš daugiau nei dvejus metus. Dėl to daugelis veiksmų nebeveikia taip, kaip parašyta. Projektas vis dar gali būti baigtas ir vis dar yra labai smagus, tačiau tikėkitės, kad turėsite patys pasigaminti, kad viskas pavyktų. Kai kurių sprendimų galima rasti naujausiuose komentaruose instrukcijos pabaigoje. Ačiū ir sėkmingos kasybos

Jei esate „Minecraft“žaidimo gerbėjas, tikriausiai pagalvojote, kaip būtų smagu turėti savo asmeninį serverį, kuriuo galėtumėte pasidalyti su draugais. Mano sūnūs nuolat manęs prašė savo bendro pasaulio, ir galiausiai jų susidomėjimas „Minecraft“kartu su mano susidomėjimu „Raspberry Pi“ir gimė „OreServer“idėja.

Šis projektas parodys, kaip nustatyti „Minecraft“serverį su įdomia ir unikalia funkcija - jis sukurtas panašus į rūdos bloką, ir jis šviečia skirtingomis spalvomis, priklausomai nuo to, kiek žmonių šiuo metu žaidžia jūsų pasaulyje!

Bet tai nesibaigia! Taip pat padarysime serverį prieinamą visiems, turintiems „Minecraft“asmeninio kompiuterio leidimą, kad galėtumėte bendrinti savo serverio adresą ir pakviesti draugų į savo pasaulį. Jis veiks 24 valandas per parą, todėl net jei esate užsiėmęs ar ne namuose, jūsų draugai gali ir toliau kurti. Ir mes nustatysime automatines atsargines kopijas, tik tuo atveju, jei įvyktų tragedija (tuo metu TNT patranka skambėjo kaip gera idėja …), kad galėtumėte atkurti ankstesnių dienų darbą.

1 žingsnis: dalių ir įrankių sąrašas

Dalių ir įrankių sąrašas
Dalių ir įrankių sąrašas

Tai dalys, įrankiai ir programinė įranga, kurių jums reikės norint užbaigti šį projektą. Pridėjau nuorodų nuorodoms, tačiau daugumą šių medžiagų galima įsigyti iš kelių pardavėjų, todėl pasiimkite jas ten, kur jums lengviausia / pigiausia.

Dalys:

  • Raspberry Pi 3 ir maitinimo šaltinis

    Jie taip pat pateikiami kaip rinkinys

  • „Micro USB“stačiojo kampo adapteris
  • „MicroSD“kortelė

    Mažiausiai 8 GB, tačiau rekomenduojama aukštos kokybės 16 arba 32 GB kortelė

  • „Adafruit Neopixel“brangakmenis
  • Trys trumpi GPIO laidai
  • Sidabrinis arba pilkas 3D spausdinimo siūlas (bet kokio tipo)
  • 2,5 mm varžtai (x4)
  • Pergamentinis popierius arba baltas audinys

Įrankiai:

  • „MicroSD“kortelių skaitytuvas
  • Litavimo įranga
  • Mažas atsuktuvas
  • 3D spausdintuvas

Programinė įranga:

  • „Minecraft“(„Java PC Edition“)
  • Raspbian Lite ISO

    NE „su darbalaukiu“versija

  • etcher.io
  • Glaistas ar panašus SSH terminalo klientas
  • „Filezilla“ar panašus FTP klientas

2 žingsnis: nustatykite ir paruoškite „Raspberry Pi“

Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“
Nustatykite ir paruoškite „Raspberry Pi“

Prieš pradėdami diegti serverį, turime atlikti keletą pagrindinių „Pi“sąrankos ir konfigūravimo veiksmų.

1. Paruoškite „MicroSD“kortelę

Pirmiausia turime įdėti „Rasbian“operacinę sistemą į „MicroSD“kortelę naudodami etcher.io.

  1. Įdėkite „MicroSD“kortelę į kortelių skaitytuvą, o kortelių skaitytuvą - į kompiuterio USB prievadą
  2. Paleiskite „etcher“ir naudokite mygtuką „Pasirinkti vaizdą“, kad įkeltumėte „Rasbian Lite ISO“
  3. Pasirinkite diegimo įrenginio „MicroSD“kortelę
  4. Spustelėkite „Flash“!

Kai procesas bus baigtas, „Etcher“atjungs „MicroSD“įrenginį nuo sistemos, tačiau turime pridėti dar vieną failą, todėl tiesiog atjunkite jį ir vėl prijunkite. Dabar kortelė bus skaitoma kaip diskas, pažymėtas „įkrova“. Nukopijuokite tuščią failą pavadinimu „ssh“į įkrovos diską ir vėl atjunkite „MicroSD“diską nuo sistemos. „MicroSD“kortelė dabar paruošta perkelti į „Raspberry Pi“.

** Jei negalite atsisiųsti „ssh“failo, nesunku susikurti savo, tiesiog pervadinus tuščią teksto failą. Būtinai ištrinkite „.txt“plėtinį. Kai jis veiks, piktograma taps tuščia, kaip ir ekrano kopijoje. **

2. Prijunkite prie „Pi“terminalo

Dabar, kai „Pi“turi operacinę sistemą, įjunkime ją!

  1. Prijunkite laidinį eterneto kabelį ir maitinimo šaltinį prie „Rasberry Pi“. Nors „Pi 3“turi įmontuotą „Wi-Fi“palaikymą, laidinis ryšys yra patikimesnis ir tinkamesnis mūsų serveriui.
  2. Toliau turime iš maršrutizatoriaus gauti „Pi“IP adresą. Šis veiksmas šiek tiek skirsis priklausomai nuo jūsų maršrutizatoriaus prekės ženklo - mano atveju į naršyklę įvedu 192.168.1.1, kad prisijungčiau prie maršrutizatoriaus valdymo skydelio. Ieškosite DHCP klientų sąrašo ir įrašo pavadinimu „raspberrypi“. Atkreipkite dėmesį į priskirtą IP adresą, mano pavyzdyje jis yra 192.168.1.115. Dabar taip pat yra gera proga nustatyti IP adresą kaip „rezervuotą“arba „nuolatinį“, kad vėliau jam nebūtų priskirtas kitas adresas. Jei turite kokių nors sunkumų atliekant šį veiksmą, norėsite sužinoti daugiau apie maršrutizatoriaus dokumentus arba palaikymo svetainę.
  3. Dabar galime atidaryti „Putty“, lauke „Host Name“įvesti Pi IP adresą ir spustelėti „Open“.

Dabar turėtumėte žiūrėti į juodą ekraną su „prisijungti kaip:“. Tai yra jūsų „Pi“terminalas, ir ten mes atliksime likusį serverio nustatymo darbą. Atminkite, kad terminalų ekranai yra skirti klaviatūrai! Jūsų pelė čia nebus labai naudinga.

3. Raspi-config

Norėdami užbaigti pradinę sąranką, turime prisijungti naudodami numatytuosius nustatymus:

prisijungti kaip: pi

slaptažodis: avietė

Dabar galime pereiti prie kai kurių pagrindinių „Pi“numatytųjų nustatymų sąrankos, įvesdami šį

sudo raspi-config

Turime atlikti keletą pakeitimų, ir aš jus supažindinsiu ta pačia tvarka, kokia jie yra sunumeruoti konfigūracijos ekrane.

  1. Keisti vartotojo slaptažodį - tai būtina! Visi žino numatytąjį slaptažodį, todėl nedelsdami jį pakeiskite.
  2. Tinklo parinktys

    Pagrindinio kompiuterio pavadinimas - pagal numatytuosius nustatymus tai yra „raspberrypi“, tačiau, jei norite, galite jį pakeisti labiau apibūdinančiu

  3. -(jokių pokyčių)-
  4. Lokalizavimo parinktys - jei nesate JK, norėsite jas pakeisti į savo šalį. Mano pavyzdžiai daro prielaidą, kad tai JAV.

    1. Keisti lokalę - naudodamiesi rodykle žemyn suraskite „en_GB“įrašą su * šalia. Naudokite tarpo klavišą, kad pašalintumėte *, tada eikite žemyn iki „en_US. UTF-8“ir vėl naudokite tarpo klavišą, kad pažymėtumėte jį *.
    2. Keisti laiko juostą - tai svarbu, kad mūsų užduotys pagal laiką veiktų tinkamai
    3. Keisti klaviatūros išdėstymą - galbūt galėsite tai praleisti, tačiau jei paliksite JK, bus perkelti keli klaviatūros simboliai
  5. Sąsajos parinktys

    1. -(jokių pokyčių)-
    2. SSH - Įjunkite tai, kad galėtumėte toliau naudoti „Putty“iš naujo paleidę „Pi“.
  6. -(jokių pokyčių)-
  7. Išplėstiniai nustatymai

    1. Išplėskite failų sistemą - tai užtikrina, kad „Pi“gali išnaudoti visą SD kortelėje esančią vietą
    2. -(jokių pokyčių)-
    3. Atminties padalijimas - pakeiskite jį į 16, kad atlaisvintumėte daugiau atminties „Minecraft“naudojimui.

Dabar pasirinkite „Baigti“, tada pasirinkite „Taip“, kad paleistumėte iš naujo.

Tai baigs jūsų sesiją „Putty“. Tiesiog duokite šiek tiek laiko užbaigti perkrovimą, tada vėl atidarykite „Putty“ir vėl prisijunkite prie „Pi“IP adreso. Nepamirškite naudoti naujo slaptažodžio!

3 veiksmas: įdiekite specialų serverį

Serverio programinės įrangos nustatymas yra ilgiausias, bet ir pats svarbiausias žingsnis. Mes praleisime daug laiko įvesdami daugybę nuobodžių „Linux“komandų. Neleisk, kad tai tavęs gąsdintų! Kol galite nukopijuoti ir įklijuoti, galite pereiti prie šios dalies.

„Minecraft“serveris yra gana sudėtingas, ir norint jį paleisti mažame kompiuteryje, kaip „Raspberry Pi“, reikia šiek tiek supaprastinti. Aš pradėjau nuo šios fantastiškos Jameso Chamberso pamokos, nes jis turi keletą puikių patarimų, kaip padidinti serverio našumą. Toliau apibendrinsiu jo diegimo procesą ir pabrėšiu kai kuriuos atliktus pakeitimus ir atnaujinimus, tačiau primygtinai rekomenduoju perskaityti jo puslapį, kad gautumėte daugiau informacijos.

Dabar, kai vėl prisijungėte naudodami numatytąjį „pi“ir naują slaptažodį, galime pradėti įvesti komandas, skirtas įdiegti serverio failus.

Svarbu - daugelis šių komandų yra ilgos ir sudėtingos, o jas įvesti į terminalo langą būtų tikras skausmas. Taigi nedaryk to! Šiame lange paryškinkite komandos tekstą, nukopijuokite jį naudodami „Ctrl-c“, tada terminalo lange tiesiog dešiniuoju pelės mygtuku spustelėkite, kad įklijuotumėte tekstą. Žiūrėk, ta pelė juk kažkam tinka!

Likusią šio veiksmo dalį nukopijuosite visas komandas šiuose kodo teksto laukuose.

Pateiksiu trumpus paaiškinimus, ką darome pakeliui.

Pradėsime atnaujindami savo programinę įrangą.

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

Kai pamatysite diegimo patvirtinimo užklausą, įveskite „y“ir paspauskite „Enter“, kad patvirtintumėte ir tęstumėte.

„Minecraft“veikia su „Java“, tačiau mūsų „Lite“rasbiečių diegimas jo neįtraukė, todėl paimkime tai.

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

Pastaba ** Kai „Java“atnaujinama į naujesnę versiją, ši komanda gali pasenti. Jei gausite klaidos pranešimą, turėsite atnaujinti naujausios versijos komandą. Apsilankykite „Oracle“„Java“atsisiuntimų puslapyje, spustelėkite mygtuką „Priimti licencijos sutartį“, tada dešiniuoju pelės mygtuku spustelėkite nuorodą į naujausią „linux-arm32“failą ir pasirinkite nukopijuoti nuorodą. Turėsite naudoti šią atnaujintą nuorodą, kad pakeistumėte aukščiau pateiktos komandos tekstą, pradedant nuo http. **

Dabar galime įdiegti ką tik atsisiųstus „Java“failus.

sudo mkdir /usr /java

cd /usr /java

Jei turėjote pakeisti naujos versijos atsisiuntimo nuorodą, būtinai pakeiskite versijos numerį šiose kitose komandose, kad jis atitiktų.

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 ~

Ir galiausiai, pagrindinis įvykis, kurio taip kantriai laukėte, įdiekime „Minecraft“serverį. Tai specializuota serverio versija, vadinama „Paper“, ir pilna optimizavimo, siekiant pagerinti našumą.

mkdir popierius

wget

išpakuoti master.zip -d Popierius

mv ~/Popierius/RaspberryPiMinecraft-master/* ~/Popierius/

cd popierius

chmod +x start.sh

wget

java -jar -Xms512M -Xmx800M sąvaržėlė.jar

Ši paskutinė komanda paleidžia serverį pirmą kartą, o po kelių akimirkų gausite klaidą, kuri sako, kad turite sutikti su EULA. Atidarykite EULA naudodami šią komandą:

nano eula.txt

Pakeiskite eilutę „eula = false“į „eula = true“. Išsaugokite pakeitimus paspausdami ctrl-x, tada Y, tada įveskite.

Pastaba ** Jamesas Chambersas šiame vadove nurodo metodą, kaip perblokuoti SD kortelę. Aš asmeniškai to žingsnio nebandžiau, nes tam reikia aukštos kokybės kortelės ir ta, kurią turėjau naudoti, nėra nieko ypatingo. Manau, kad greičio padidinimas tikrai dar labiau pagerintų našumą, tačiau net ir nepersistengus serveris veikia pakankamai gerai, todėl nesulaukiau jokių nusiskundimų iš juo žaidžiančių vaikų. **

Greitai pažvelkime į serverio ypatybes ir atlikime keletą pakeitimų.

nano serveris.savybės

Čia yra ilgas sąrašas dalykų, kuriuos galite pakeisti savo serveryje, pvz., Suasmeninti serverio pavadinimą ir MOTD, pakeisti žaidimo režimą arba įgalinti PvP arba komandų blokus. Dabar galite pakeisti savo pageidavimus arba atidaryti šį failą, kad vėliau atliktumėte daugiau pakeitimų, tačiau nedelsdami atliksime du pakeitimus.

maksimalus žaidėjas = 8

serverio prievadas = 25565

Aštuoni žaidėjai yra aukščiausias, kurį rekomenduočiau, bet koks didesnis ir labai tikėtina, kad serverio našumas atsiliks, net ir atlikus visus optimizavimus, kad viskas veiktų „Pi“.

Serverio prievadą reikia pakeisti, nes kaip ir numatytasis „aviečių“slaptažodis, visi žino numatytąjį prievadą 25565. Net ir nedidelis 26565 pakeitimas padės apsaugoti jūsų serverį. Užrašykite prievado numerį šalia to, kur išsaugojote „Pi“IP adresą. Vėliau jums reikės abiejų.

Baigę atnaujinti nustatymus, išsaugokite pakeitimus paspausdami ctrl-x, tada Y, tada įveskite.

Kitas jūsų serverio paruošimo žingsnis taip pat užtruks daugiausiai laiko, kai jis bus paleistas, tikriausiai apie valandą. Šios komandos iš anksto sugeneruos jūsų pasaulį, o tai reiškia, kad serveriui nereikės atlikti viso šio darbo vėliau, kol jūs ir jūsų draugai tyrinėsite.

cd ~/Popierius/papildiniai

wget --content -disposition -E

sudo apt-get įdiegimo ekranas

cd popierius

./start.sh

Neatrodys, kad kažkas atsitiko, bet jūsų serveris jau paleistas! Norėdami bendrauti su serveriu, turime naudoti šią komandą

ekranas -minecraft

Ir tada mes iš anksto sukursime pasaulį:

wb pasaulio rinkinys 1000 neršti

wb pasaulis užpildyti 1000

wb užpildymas patvirtinti

Tai dalis, kuri užtruks ilgai. Griebkite užkandžių ir patikrinkite vėliau! Kai procesas bus baigtas, išjunkite serverį labai paprasta komanda

sustabdyti

Tai sutaupys ir uždarys serverį ir grąžins jus į „Raspberry Pi“terminalą.

Paskutinė mūsų užduotis yra nustatyti serverį, kad jis automatiškai įsijungtų, kai „Raspberry Pi“yra prijungtas arba paleidžiamas iš naujo. Tai galime padaryti sukurdami paprastą scenarijų.

cd ~

nano paleidimas.sh

Mes anksčiau naudojome „nano“, norėdami redaguoti porą failų, tačiau šį kartą mes jį kuriame nuo nulio, todėl langas bus tuščias. Nukopijuokite šias dvi eilutes į failą:

cd/home/pi/Popierius

ekranas -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

Tada išsaugokite naują scenarijų paspausdami ctrl-x, tada Y, tada įveskite.

chmod +x paleisties.sh

chmod +x /etc/rc.local

sudo nano /etc/rc.local

Pati paskutinė rc.local failo eilutė sako „exit 0“. Tiesiai virš šios eilutės pridėsime:

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

Ir dar kartą išsaugome failo pakeitimus naudodami „ctrl-x“, tada „Y“, tada įveskite.

sudo perkraukite

Gausite pranešimą, kad ryšys nutrūko, ir galite uždaryti langą „Glaistas“.

Viskas! Jūs sugebėjote tai padaryti nuobodžiai! Dabar mes pasiruošę išbandyti savo serverį!

4 žingsnis: išbandykite savo serverį ir pakvieskite savo draugus

Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus
Išbandykite savo serverį ir pakvieskite savo draugus

Toliau mes patikrinsime, ar serveris veikia, ir įsitikinsime, kad mūsų draugai gali prisijungti.

Kompiuteryje atidarykite „Minecraft“paleidimo priemonę ir paspauskite „Play“. Įsitikinkite, kad naudojate naujausią leidimo versiją, atitinkančią popieriaus serverį.

Pagrindiniame ekrane pasirinkite „Multiplayer“, tada „Add Server“. Įveskite vardą, kurį norite turėti savo serverių sąraše, o serverio adresui įveskite savo Pi IP ir prievado numerį. Mano pavyzdyje naudojame 192.168.1.115:26565. Įsitikinkite, kad tarp IP adreso ir prievado numerio yra dvitaškis ir ar nėra tarpų. Spustelėkite Atlikta, tada spustelėkite leisti savo serveryje. Po kelių akimirkų atsidursite visiškai naujame pasaulyje!

Palaukite, grįžkite! Nepradėkite kurti visų savo, pakvieskite keletą draugų! Deja, jie negali naudoti to paties IP adreso, kurį jūs. Taigi, kad tai veiktų, pirmiausia turite pasakyti savo maršrutizatoriui, kad ne jūsų namuose esantys žmonės gali prisijungti prie „Pi“. Tai vadinama uosto persiuntimu ir tikslus procesas šiek tiek skirsis priklausomai nuo maršrutizatoriaus. Pridėjau ekrano kopiją, kaip ji atrodo „TP Link“prekės ženklo maršrutizatoriuje, tačiau gali tekti patikrinti savo maršrutizatorių palaikymo svetainę, kad gautumėte daugiau informacijos.

Uosto persiuntimo nustatymuose įveskite prievado numerį, kurį pasirinkote savo serveriui, ir tada Raspberry Pi IP adresą. Dabar jūsų maršrutizatorius žino, kad kai jūsų draugai bando prisijungti prie to prievado numerio, jie turėtų būti nukreipti į „Pi“.

Toliau turime naudoti nemokamą paslaugą, tokią kaip „No-IP“, kad sukurtume savo unikalų adresą, vadinamą „Hostname“. Taip pat nustatysite maršrutizatorių arba kompiuterį, kad pagrindinio kompiuterio IP adresas būtų atnaujintas.

Dabar atlikite jų sąrankos vadovo veiksmus.

Kai baigsite nustatyti „No-IP“paskyrą, jūsų draugai galės prisijungti prie jūsų serverio įvesdami naują pagrindinio kompiuterio pavadinimą ir prievado numerį „Minecraft“kelių žaidėjų ekrano skiltyje „Serverio adresas“. Pavyzdžiui, hostname.ddns.net:26565.

5 žingsnis: Išgelbėk pasaulį! (su automatinėmis atsarginėmis kopijomis)

Išgelbėti pasaulį! (su automatinėmis atsarginėmis kopijomis)
Išgelbėti pasaulį! (su automatinėmis atsarginėmis kopijomis)

Šis žingsnis yra neprivalomas, tačiau tai gali išgelbėti gyvybę. Jūsų pasaulis susiduria su rimta rizika, nesvarbu, ar tai būtų sugadinta „MicroSD“kortelė, ar kartais apmaudu, ar sielvartas, ar tik tie nemalonūs ropliai. Kad apsaugotume visą jūsų sunkų darbą, serveris kiekvieną naktį automatiškai išsaugos jūsų pasaulio failą. Kad jūsų „MicroSD“kortelė nebūtų užpildyta, mes taip pat ištrinsime visas atsargines kopijas, kurios yra senesnės nei savaitė. Po to galite lengvai nukopijuoti juos į savo asmeninį kompiuterį ar kitą atsarginį diską, kad užtikrintumėte dar didesnį saugumą.

Pradėsime naudodami „Putty“, kad vėl prisijungtume prie „Pi“, kad sukurtume dar vieną naują scenarijų.

nano dailybackup.sh

Nukopijuokite šias komandas į scenarijų:

# Sustabdykite „Minecraft“serverį

ekranas -x minecraft -X stuff stop^M sleep 5 # Copy Paper katalogas į atsarginę kopiją/PaperYYDDMM cp -a Paper/. atsarginės kopijos/Popierius $ (data +%F) # Ištrinti senesnes nei 7 dienų atsargines kopijas rasti atsarginę kopiją/* -mindepth 0 -maxdepth 0 -type d -ctime +7 -exec rm -rf {};

Ir tada pasakykite tai su manimi - išsaugokite savo failą paspausdami ctrl -x, Y, įveskite.

Dabar sukursime pasikartojančią užduotį, kad kiekvieną naktį paleistume atsarginį scenarijų naudodami „crontab“.

crontab -e

Pirmą kartą paleisdami šią komandą galėsite pasirinkti redaktorius, pasirinkite „Nano“numerį 2.

Bus atidarytas specialus planavimo užduočių failas. Šio failo apačioje pridėkite šias eilutes:

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

15 0 * * * sudo perkrovimas

Pirmoje eilutėje Pi nurodoma kiekvieną naktį paleisti atsarginį scenarijų 12:05 val. Antroji eilutė liepia „Pi“paleisti iš naujo po dešimties minučių. Jei norite, kad atsarginių kopijų kūrimo ir perkrovimo laikas būtų kitoks, galite pakeisti šias eilutes pagal savo pageidavimus. Tiesiog nepamirškite, kad pirmasis skaičius yra minutė, o antrasis - valanda 24 valandų formatu. Trys žvaigždutės užtikrina, kad šis scenarijus būtų paleistas kiekvieną dieną.

Kai jūsų sistema kurį laiką veikia, galbūt norėsite įprasti išsaugoti atsargines kopijas kitoje vietoje, esančioje ne „Pi“„MicroSD“kortelėje. Šią užduotį labai paprasta padaryti prisijungus prie serverio naudojant „Filezilla“. Tiesiog vilkite atsarginės kopijos aplanką iš dešinės „Filezilla“pusės ir nuleiskite jį į savo kompiuterį. Kai jis nukopijuoja visus failus, galite juos saugoti tiek, kiek norite!

Ir jei kada nors ištiks tragedija ir jums reikės grįžti prie vieno iš išsaugotų failų, tai greita ir paprasta procedūra. Pirmiausia įsitikinkite, kad sustabdėte serverį:

ekranas -minecraft

sustabdyti

Tada naudokite „Filezilla“, kad ištrintumėte „Paper“katalogą ir pakeistumėte jį vilkdami vieną iš išsaugotų katalogų atgal į „Pi“. Būtinai ištrinkite datą iš katalogo pavadinimo, kad ji vėl būtų pavadinta tiesiog Popierius. Tada galite iš naujo paleisti serverį naudodami

./startup.sh

Ir kaip tik taip, galite grįžti prie statybų verslo!

6 žingsnis: prijunkite šviesos diodus

Prijunkite šviesos diodus
Prijunkite šviesos diodus
Prijunkite šviesos diodus
Prijunkite šviesos diodus
Prijunkite šviesos diodus
Prijunkite šviesos diodus

Laikas pridėti keletą šviestuvų! Čia jūsų serveris tampa ne tik dulkių surinkėju už jūsų monitoriaus. Šis žingsnis parodys, kaip lituoti ir pritvirtinti „Neopixel Jewel“prie „Raspberry Pi“, tada įdiegti programinę įrangą, reikalingą šviesos diodams paleisti. Netrukus po to jums niekada nereikės galvoti, ar kas nors internete laukia, kol galės žaisti su jumis, nes jūsų serveris jums tai pasakys vos žvilgsniu!

„Adafruit“„Neopixel“yra fantastiški šviesos diodai. Jie yra RGB, o tai reiškia, kad jie gali užsidegti bet kokia norima spalva. Jie yra adresuojami, o tai reiškia, kad galite naudoti programines komandas, kad pakeistumėte spalvą, kai tik norite. Norėdami gauti daugiau puikios informacijos apie tai, kaip „Neopixels“veikia su „Raspberry Pi“, pažvelkite į oficialų „Adafruit“vadovą.

„Jewel“turi 7 šviesos diodus, kurie suteiks mums daug ryškių ryškių spalvų. Taip pat yra penki litavimo kontaktiniai taškai, tačiau naudosime tik tris. Aš primygtinai rekomenduoju naudoti tris skirtingų spalvų laidus, kad vėliau nesujungtumėte, kai prijungsite juos prie „Pi“. Savo pavyzdinėse nuotraukose naudojau raudoną, juodą ir rudą.

Prieš pradėdami šį veiksmą, norėsite visiškai išjungti „Raspberry Pi“. Įveskite šias komandas ir atjunkite „Pi“maitinimo šaltinį.

ekranas -minecraft

sustabdyti

sudo shutdown -h dabar

Nupjaukite tris moteriškus GPIO laidus, pakankamai ilgus, kad turėsite daug laidų, su kuriais galėsite dirbti litavimo metu. Jūs visada galite atsikratyti pertekliaus, kaip aš. Atsargiai lituokite laidus prie „Jewel“kontaktų. Tada pritvirtinkite jungtis prie „Raspberry Pi GPIO“kaiščių:

PWR į 1 kaištį = 3.3V

GND į 6 kaištį = įžeminimas

Į 12 kaištį = GPIO18

Kai „Jewel“yra vietoje, galite vėl prijungti „Pi“ir naudoti „Putty“, kad prijungtumėte ir įdiegtumėte LED programinę įrangą naudodami šias komandas. Stebėkite vietas, kuriose gali būti prašoma įvesti Y, kad galėtumėte tęsti diegimą.

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

sudo apt-get install scons

sudo apt-get install swig

git klonas

cd rpi_ws281x

šaukštai

Svarbu ** Kitame žingsnyje papildysime neopikselių biblioteką. Tai būtina, kad būtų išvengta atminties klaidos, kuri keletą dienų mane sujaudino. Be jo šviesos diodai veiks kelias valandas ir tada nustoja tinkamai atnaujinti. **

cd python

python setup.py build

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

Naudodami rodyklę žemyn slinkite per eilutę „Adafruit_NeoPixel klasė (objektas):. Netrukus rasite skyrių su mėlynu tekstu, kuriame rašoma def _cleanup (self). Į šią kopiją nukopijuosite šią eilutę skyriuje, tiksliai taip, kaip parodyta aukščiau esančioje ekrano kopijoje.

ws.ws2811_fini (self._leds)

Ir dar kartą turime išsaugoti pakeitimus naudodami ctrl-x, Y, įveskite.

cd ~

cd rpi_ws281x/python

sudo python setup.py įdiegti

Toliau turime pasakyti bandymo failui turimų šviesos diodų skaičių, tada galime juos uždegti!

cd pavyzdžiai

sudo nano strandtest.py

Raskite eilutę, kuri sako LED_COUNT = 16, ir pakeiskite ją į LED_COUNT = 7, tada paspauskite „Ctrl-x“, „Y“, kad išsaugotumėte.

sudo python strandtest.py

Jei viskas klostėsi teisingai, jus tiesiog apakino mirksintis vaivorykštės sprogimas. Kai vėl matysite, paspauskite ctrl-c, kad sustabdytumėte šviesas. Šviesos diodai neišsijungs, bet jie nustos mirksėti ir kol kas to pakanka.

7 veiksmas: užprogramuokite šviesos diodus, kad patikrintumėte serverio būseną

Užprogramuokite šviesos diodus, kad patikrintumėte serverio būseną
Užprogramuokite šviesos diodus, kad patikrintumėte serverio būseną

Kai mūsų šviesos diodai yra įdiegti ir paruošti, laikas juos reaguoti į serverį. Tiksliau, mes priversime juos nurodyti dabartinį žaidėjų skaičių serveryje:

Žaidėjai = rūda

  • 0 = Redstone
  • 1-2 = geležis
  • 3-4 = auksas
  • 5-6 = Smaragdas
  • 7-8 = deimantas

Jei serveris neveikia, „Oreblock“bus anglis (šviesos diodai nedega). Ir kaip papildoma premija, jei būsenos patikrinimas neranda interneto ryšio, šviesos diodai mirksės geltonai!

Norėdami gauti žaidėjų skaičių iš serverio, ketiname įdiegti „mcstatus“iš vieno iš „Mojang“žaidimų kūrėjų Nathano Adamso.

sudo apt-get įdiegti python-pip

sudo pip įdiegti mcstatus

Tada turime nukopijuoti du žemiau esančius „python“scenarijus, „mcled.py“ir „ledoff.py“, į savo serverį su „Filezilla“. Tiesiog vilkite ir numeskite du scenarijus į laukelį dešinėje, kaip parodyta ekrano kopijoje.

Eikite į priekį ir išbandykite ledoff.py dabar, kad galėtume išjungti šviesos diodus, kurie liko įjungti ankstesniame žingsnyje.

sudo python ledoff.py

Vykdydami scenarijus rankiniu būdu, gausite pranešimą „Segmentavimo gedimas“. Tai neišspręsta problema „Neopixel.py“bibliotekoje, kuri neturi jokios įtakos mūsų veiklai.

Jei jums įdomu, kaip veikia šie scenarijai, galite juos atidaryti naudodami bet kurį kompiuterio teksto redaktorių arba terminalo ekrane naudodami nano. Tiesiog būkite atsargūs, kad netyčia neišsaugotumėte pakeitimų, kurie gali trukdyti jiems veikti!

Pastaba ** „mcled.py“daro prielaidą, kad naudojate 26565 prievadą iš mano pavyzdžio. Jei naudojate kitą prievadą, turite pakeisti scenarijų, kad jis atitiktų šiuos veiksmus **

sudo nano mcled.py

Raskite raudoną teksto eilutę „# Gaukite serverio grotuvų skaičių“, o žemiau pamatysite eilutę, kurioje yra žalias tekstas „localhost“ir prie jo esantis prievado numeris. Pakeiskite prievado numerį, kad jis atitiktų jūsų, ir kaip visada išsaugokite pakeitimus naudodami „Ctrl-x“, Y, įveskite.

Norėdami gauti nuolatinius serverio būsenos atnaujinimus, mes liepsime „Pi“paleisti „mcled.py“scenarijų kiekvieną minutę, o tai reiškia, kad „crontab“reikia nustatyti dar kelias eilutes.

crontab -e

Pamatysite dvi eilutes, kurias pridėjome anksčiau, kad suplanuotumėte atsargines kopijas ir iš naujo paleistumėte. Dabar pridėsime dar du:

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

0 21 * * * sudo python ledoff.py

Pirmoje eilutėje Pi nurodoma paleisti „mcled.py“kas valandą kiekvieną valandą nuo 6 iki 20:59 val. Antroji eilutė liepia „Pi“išjungti šviesos diodus 21 val. Tai asmeninis pasirinkimas, nes iki to laiko mano vaikai nebežaidžia „Minecraft“, nors serveris ir toliau veikia. „OreServer“taip pat yra gerai matomas virš mūsų televizoriaus, o ryški šviesa vakare tampa dirginanti. Žinoma, galite pakeisti šias dvi eilutes, kad šviesos diodai veiktų be perstojo, arba vėliau išsijungtų, arba viskas, kas tinka jūsų tikslams.

Netrukus po to, kai bus išsaugoti pakeitimai (ar sergate ctrl-x, Y, įveskite dar?), Scenarijus bus iškviestas ir jūsų brangakmenis vėl užsidegs. Greičiausiai raudona spalva rodys, kad serveris veikia, bet nenaudojamas. Skirkite šiek tiek laiko paleisti „Minecraft“ir prisijungti prie serverio, kaip tai darėme ankstesnio bandymo metu. Netrukus po to, kai prisijungsite, šviesos diodai turėtų perjungti į baltą spalvą, o atjungus - vėl į raudoną.

8 žingsnis: padarykite rūdos dėklą

Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą
Padarykite rūdos dėklą

Paskutinis prisilietimas, kad visa tai sujungtų, yra „Raspberry Pi“rūdžių bloko dėklas. Norėdami pagaminti „Ore“dėklą, aš naudoju „Lulzbot TAZ6“3D spausdintuvą savo vietinėje gamintojų erdvėje „RiverCityLabs“. Žemiau pateikiau savo spausdinamus. STL failus pagrindui ir viršuje. Jei neturite savo 3D spausdintuvo, patikrinkite savo rajone kūrėjų bendruomenę, jie puikūs! Arba galite turėti vietinę biblioteką ar mokyklą, kurioje visuomenei prieinami spausdintuvai. Taip pat yra keletas internetinių 3D spausdinimo paslaugų, kurios gali atspausdinti ir atsiųsti jums dizainą. Arba galite būti kūrybingi! Niekas netrukdo jums pagaminti dėklo iš kartono ar pilkos „Lego“krūvos ar bet ko kito, kas jums yra po ranka.

Kai kurios svarbios pastabos, kai nustatote 3D spausdintuvo failus:

  • Spausdinkite failą be jokių mastelio keitimų, kad įsitikintumėte, jog tvirtinimo angos sutampa su Pi.
  • Pasukite viršutinę dalį aukštyn kojom, kad atviras galas būtų nukreiptas į viršų.
  • Būtinai įjunkite palaikymo nustatymus, kad sienų perdangos nebūtų netvarkingos.

Baigę spausdinti, galite pritvirtinti Pi prie pagrindo keturiais 2,5 mm varžtais. Nerandu nuorodos į tikrąjį produktą, bet radau juos 2 pakuotėse „Menards“, o tai buvo geriau nei užsisakyti 100 dėžutę iš „Amazon“.

Nuimkite visą atraminę medžiagą iš viršaus ir supjaustykite pergamentinio popieriaus lapą arba baltą audinį, kad tilptų į vidų. Tai išsklaidys LED žibintus, todėl švytintis efektas atrodys milijoną kartų geriau nei tik paliekant atidarytas skyles.

Prie maitinimo prievado pritvirtinkite tinkamo kampo „MicroUSB“adapterį, kad kabelis išeitų iš korpuso galo, esančio šalia eterneto prievado.

Dabar galite vėl prijungti maitinimo ir eterneto laidus, nustatyti „Top“ir mėgautis!

9 žingsnis: santrauka, papildomos mintys ir ačiū

Pagrindinis prizas „Minecraft Challenge 2018“

Rekomenduojamas: