Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Veloren სერვერის შექმნა Raspberry Pi-სთვის

Raspberry Pi-ს მოდელმა, რომელიც გაქვთ და ოპერაციული სისტემა, რომელსაც თქვენი Pi აქვს, შეიძლება მნიშვნელოვნად იმოქმედოს თქვენს ინსტალაციის ნაბიჯებზე და Veloren-ის შესრულებაზე თქვენს Pi-ზე. საუკეთესო შესრულებისთვის ჩვენ გირჩევთ გამოიყენოთ Raspberry Pi მოდელი 4 და 64-ბიტიანი OS, როგორიცაა Ubuntu Server, რომელიც ხელმისაწვდომია Raspberry Pi Imaging უტილიტა მეშვეობით. ასევე არსებობს 64-ბიტიანი Raspberry Pi OS ბეტა.

** შენიშვნა: ** _ ოპერატიული მეხსიერების რაოდენობას Pi 4-ზე არ აქვს მნიშვნელობა. ოფიციალური Veloren სერვერიც კი უმეტეს დროს იყენებს 2 გიბაიტზე ნაკლებ მეხსიერებას._

ჯვარედინი შედგენა თუ არა

ჯვარედინი კომპილაცია ნიშნავს ინსტრუმენტთა ჯაჭვის დაყენებას Raspberry Pi-ის ინსტრუქციების ნაკრებისთვის ცალკე კომპიუტერზე, რათა შეიქმნას Veloren სერვერის ორობითი, რომელიც შემდეგ დააკოპირეთ Pi-ზე.

პირდაპირი შედგენა სასურველია, თუ:

  • თქვენ არ გსურთ დააინსტალიროთ და დააყენოთ იმდენი რამ თქვენს კომპიუტერში
  • გსურთ იყოთ და იმუშაოთ ნაკლები ნაბიჯებით

ჯვრის შედგენა სასურველია, თუ:

  • თქვენ გაქვთ კომპიუტერის დაყენება განვითარებისთვის
  • გსურთ, რომ შედგენის ნაბიჯი იყოს უფრო სწრაფი

** შენიშვნა: ** _ ჯვარედინი კომპილაციის დროსაც კი აუცილებელია assets საქაღალდის კლონირება კოდის საცავიდან Pi-ზე, რადგან ეს ფაილები არ არის კომპილირებული სერვერის ბინარში._

პირდაპირი შედგენა

შედით თქვენს Pi-ში SSH-ის გამოყენებით.
ssh <username>@<ip> და შეიყვანეთ პაროლი დააინსტალირეთ Rust პროგრამირების ენა Pi-ზე, თუ ის უკვე არ არის დაინსტალირებული.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

დააინსტალირეთ Git LFS, რათა ჩამოტვირთოთ აუდიო და ვიზუალური აქტივები წყაროს კოდთან ერთად.

sudo apt install git-lfs

Git კლონირებს Veloren codebase. შეიძლება დაგჭირდეთ SSH გასაღებების გენერირება თქვენს Pi-ზე თქვენი GitLab ანგარიშისთვის.

git clone https://gitlab.com/veloren/veloren.git

შეადგინეთ სერვერის ორობითი კოდი Veloren დირექტორიაში.

cd veloren
cargo build --bin veloren-server-cli --release

გაუშვით სერვერის ორობითი, სურვილისამებრ -h ან --help-ით, რომ ნახოთ არგუმენტების სია, რომელთა მიწოდებაც შეგიძლიათ.

./target/release/veloren-server-cli

** შენიშვნა: ** _ Raspberry Pi 4-ზე გაშვებული Ubuntu სერვერის 64-ბიტიანი კომპილაცია შეიძლება დაახლოებით 30 წუთი დასჭირდეს ოპტიმიზებული კონსტრუქციისთვის._

შენიშვნა: _ დაიმახსოვრეთ, შეცვალოთ <username> თქვენი საკუთარი მომხმარებლის სახელით და <ip> თქვენი Raspberry Pi-ის IP მისამართით!_

** შენიშვნა: ** _ პროცესი თავისთავად რესურსით მძიმეა. იქნებ მაინც განიხილოს ჯვრის შედგენა. ოპერატიული მეხსიერების მოხმარება შეიძლება გადავიდეს 8 გ-ზე, ასე რომ თქვენ შეგიძლიათ განიხილოთ სვოპის შექმნა (თუმცა გაცვლა ანელებს კომპილაციის მთელ პროცესს)_

შენიშვნა: თუ შეგექმნათ შეცდომა wasmer-vm-ის შედგენისას, თქვენ უნდა გამორთოთ დანამატის მხარდაჭერა plugins = ["server/plugins"]-დან server-cli/Cargo.toml-დან წაშლით.

ჯვრის შედგენა

დამოკიდებულებების ინსტალაცია

დააინსტალირეთ შემდეგი დამოკიდებულებები ჯვრის შემდგენელ მანქანაზე და Raspberry Pi-ზე:

Cross Compiling PC:

  • გიტ
  • git-lfs
  • ტვირთი (რომელიც დამონტაჟებულია Rust-თან ერთად)
  • დოკერი

Raspberry Pi:

  • გიტ
  • git-lfs

Raspberry Pi-ს მომზადება

ჯერ უნდა მოვახდინოთ Veloren git საცავების კლონირება.

git clone https://gitlab.com/veloren/veloren

შემდეგ ჩვენ შეგვიძლია გადავაყენოთ საცავი ბოლო სტაბილური გამოშვების მდგომარეობაში. ამისათვის ჩვენ უნდა გავარკვიოთ ამ ვერსიის git hash. ეს შეგიძლიათ იხილოთ საიტზე https://gitlab.com/veloren/veloren/-/releases. git hash არის თანმიმდევრობა გამოშვების ქვედა მარცხენა კუთხეში. ეს ნაბიჯი შეიძლება გამოტოვოთ, თუ გსურთ უახლესი განახლებებით თამაში.

cd veloren
git checkout <git hash>

შემდეგ ჩვენ უნდა შევქმნათ რამდენიმე საქაღალდე, რომ მოგვიანებით ჩავდოთ ბინარი.

mkdir target
mkdir target/release

შემდეგი, ჩვენ უნდა დავამატოთ გარემოს ცვლადი ჩვენს .profile-ს.

nano ~/.profile

ამ ფაილის ბოლო სტრიქონში დაამატეთ ხაზი export VELOREN_USERDATA="$(pwd)/userdata

და ბოლოს, ჩვენ ხელახლა ვტვირთავთ ჩვენს გარემოს ახალი ცვლადის გამოსაყენებლად

. ~/.profile

ჯვარი კოდის შედგენა

ჩვენ კვლავ უნდა მოვახდინოთ Veloren-ის საცავი კლონირება ჩვენს ჯვრის შემდგენელ მანქანაზე, გადავაყენოთ იგი უახლესი სტაბილური გამოშვების მდგომარეობაში და დავაყენოთ git-lfs.

git clone https://gitlab.com/veloren/veloren
cd veloren
git checkout <git hash>
git lfs install
cargo install cross

ინსტალაციის ბრძანება განსხვავებული იქნება იმისდა მიხედვით, თუ რომელი OS გაქვთ გაშვებული Raspberry Pi-ზე.
თუ იყენებთ 64-ბიტიან ოპერაციულ სისტემას, როგორიცაა Ubuntu Server, ARMv8 ინსტრუქციის ნაკრებით, გაუშვით ბრძანება:

cross build --target aarch64-unknown-linux-gnu --bin veloren-server-cli --release

თუ იყენებთ Raspberry Pi OS-ს, რომელიც ამჟამად არის 32-ბიტიანი და იყენებთ ARMv7 ინსტრუქციების კომპლექტს უკანა თავსებადობის მიზეზების გამო, გაუშვით ბრძანება:

cross build --target armv7-unknown-linux-gnueabihf --bin veloren-server-cli --release

შენიშვნა: შეიძლება დაგჭირდეთ ანგარიშის რეგისტრაცია [docker hub]-ზე (https://hub.docker.com/) და გაუშვათ docker login ბრძანება ტერმინალში ჯვარედინი კომპილაციისთვის საჭირო Docker სურათზე წვდომისთვის.

როდესაც კომპილაციის პროცესი დასრულდება, შეგვიძლია ბინარული გადავიტანოთ Raspberry Pi-ში. თუ თქვენს Raspberry Pi-ზე ჩართული გაქვთ SSH, შეგიძლიათ გამოიყენოთ scp ბრძანება.

scp target/<instruction_set>/release/veloren-server-cli <username>@<ip>:~/veloren/target/release/veloren-server-cli

** შენიშვნა: ** <instruction_set> ეხება aarch64-unknown-linux-gnu ან armv7-unknown-linux-gnueabihf-ს, რომელის კომპილაციასაც გამოიყენებდით. გახსოვდეთ, რომ შეცვალოთ <username> თქვენი საკუთარი მომხმარებლის სახელით და <ip> თქვენი Raspberry Pi-ის IP მისამართით!

სისტემური სერვისის შექმნა

Raspberry Pi-ზე ახლა ჩვენ შეგვიძლია შევქმნათ სისტემური სერვისი სერვერისთვის. ამისათვის შექმენით სერვისის ფაილი ქვემოთ მოცემული შინაარსით.

sudo nano /etc/systemd/system/veloren-server.service

შენიშვნა: თუ ორობითი შეადგინეთ, დაამატეთ გარემოს ცვლადი Service განყოფილებას: Environment="VELOREN_USERDATA=/home/veloren/target/release/userdata"

[Unit]
Description=Veloren Server
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
User=<username>
WorkingDirectory=/home/<username>/veloren
ExecStart=/home/<username>/veloren/target/release/./veloren-server-cli

[Install]
WantedBy=multi-user.target

ახლა ჩვენი სერვისი მზად არის და შეიძლება დაიწყოს.

sudo systemctl start veloren-server.service

სერვერის მუშაობის სანახავად და გამართვის ინფორმაციის სანახავად, შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება.

sudo journalctl -f -u veloren-server.service

თუ გსურთ სერვერის გაშვება ყოველ ჯერზე Raspberry Pi-ის ჩატვირთვისას, შეგიძლიათ ჩართოთ სერვისი.

sudo systemctl enable veloren-server.service

სერვერის მონიტორინგი

როდესაც სერვერი მუშაობს, შეგიძლიათ უყუროთ თქვენი Pi-ს მუშაობას ისეთი ხელსაწყოებით, როგორიცაა htop, ან დააყენოთ Prometheus server მეტრიკის ამოსაღებად თქვენი Veloren სერვერიდან მისამართზეhttp://<ip>:14005/metrics.