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.