Kur ve oyna¶
İstemciyi kur¶
Kurucu, işletim sistemin ve işlemcin için doğru ikiliyi seçer (Linux ya da
macOS, amd64 ya da arm64), SHA-256 özetini yanında yayımlanan sağlama
dosyasıyla karşılaştırır ve yazabildiği durumda tarmy'yi /usr/local/bin
içine (root olarak ya da o dizinin zaten sana ait olduğu bir makinede), aksi
hâlde ~/.local/bin içine kurar. Seçtiği dizini destdir satırında yazar, o
yüzden tahmin etmen gerekmez.
Doğrulama kapalı taraftan başarısız olur. checksums.txt çekilemezse, arşivin
için kayıt taşımıyorsa ya da indirilenle uyuşmuyorsa kurucu durur ve hiçbir şey
kurmaz. Bunu geçmenin tam olarak bir yolu var ve onu kendin yazman gerekir:
Aynı şekilde okunan iki değişken daha var: INSTALL_DIR=$HOME/bin ikiliyi
istediğin yere koyar, VERSION=v0.1.0 ise en yenisi yerine belirli bir sürümü
kurar.
Sonrasında tarmy bulunamıyorsa¶
~/.local/bin, kurulumdan çıkmış bir macOS kabuğunda PATH üzerinde değildir;
Ubuntu'da ise PATH'e ancak bir sonraki girişinde katılır. Yani root olmayan
bir kurulum başarıyla bitip seni yine de şununla baş başa bırakabilir:
Bozulan bir şey yok. İkili, kurucunun destdir satırında adını verdiği dizinde,
normalde ~/.local/bin içinde, ve şu anda tam yoluyla çalıştırabilirsin:
Sadece tarmy yazabilmek için o dizini PATH'e ekle. Hangi dosyayı
düzenleyeceğin kullandığın kabuğa bağlı ve bunlar birbirinin yerine geçmez:
fish diğerlerinin hiçbirini okumaz, yani satırı ~/.profile içine koyup fish
başlatırsan hâlâ fish: Unknown command: tarmy alırsın. Hangi satır senin
diye emin değilsen echo $SHELL çalıştır.
| Kabuk | Düzenlenecek dosya | Eklenecek satır |
|---|---|---|
| zsh (macOS varsayılanı) | ~/.zshrc |
export PATH="$HOME/.local/bin:$PATH" |
| bash | ~/.bashrc |
export PATH="$HOME/.local/bin:$PATH" |
| fish | ~/.config/fish/config.fish |
set -gx PATH "$HOME/.local/bin" $PATH |
| başka bir şey | ~/.profile |
export PATH="$HOME/.local/bin:$PATH" |
Sonrasında yeni bir terminal aç, ve kurulum dizinin ~/.local/bin değilse kendi
dizinini koy.
Bunu kendin çözmek zorunda değilsin. Kullandığı dizin PATH üzerinde değilse
kurucu, kabuğunun dosyasının adını verir ve satırı o kabuğun kendi söz dizimiyle,
gerçek dizin yerine konmuş hâlde yazar.
Herkese açık evreni oyna¶
tarmy varsayılan olarak https://terminal.army adresindeki açık parçaya
bağlanır. İlk çalıştırmada tarayıcıda bir giriş adresi açar; hesap aç ya da
giriş yap, terminal istemcisi oturumu kendiliğinden alır.
Windows¶
Yerel bir Windows derlemesi yok, ve kurucu Git Bash, MSYS2 ya da Cygwin altında çalışmayı reddeder; çalışamayacak bir ikili bırakmaktansa durur. Windows, WSL üzerinden destekleniyor. PowerShell'de:
Sonra açılan Ubuntu penceresinde normal kurulum satırını çalıştır:
Oradan sonrası sıradan bir Linux kurulumu, ~/.local/bin uyarısı dahil.
Diğer platformlar¶
Sürümler yalnızca dört hedef için derleniyor: linux_amd64, linux_arm64,
darwin_amd64 ve darwin_arm64. FreeBSD, 32 bit x86 ve 32 bit ARM (örneğin
eski bir Raspberry Pi OS) için derleme yok; kurucu bunu söyler ve çalışamayacak
bir şey kurmak yerine durur.
Başka bir sunucuda oyna¶
Bir arkadaşın kendi evrenini işletiyorsa:
Adresin şeması gerekli. tarmy --remote onlarin-sunucusu.example başarısız olur,
çünkü bunun http mu https mi olduğunu söyleyen bir şey yoktur.
Güncelleme¶
tarmy başlarken istemcinin sunucuyla eşleşip eşleşmediğine bakar ve gerideysen
kendini günceller. Bu bir soru değil: ne yaptığını söyler, yapar ve oyunu yeni
derlemeyle başlatır. Hesabın ya da imparatorluğun hakkında hiçbir şey değişmez,
ve her başarısızlık elindeki istemciyle oyuna düşer.
Kontrol, cevabı hatırlamak yerine her açılışta sunucuya sorar. Burada bir saatlik bir önbellek vardı ve tam da bir istek kazandırması beklenen yerde hataya yol açtı: oyunun kendisi zaten her açılışta sunucuya sürümünü sorar ("istemcin geride" uyarısını basıp basmayacağına karar vermek için), yani önbellek hiçbir açılışı ağdan uzak tutmadı; o saatin içinde çıkan bir sürüm ise iki yarıyı çelişkiye soktu. Uyarı "güncelle" derken, daha eski bir cevaba bakan başlatıcı çoktan "güncellenecek bir şey yok" diye karar vermişti.
Güncellemediği iki durum var ve ikisini de söyler:
- İkili, yazamayacağın bir yerde.
sudoile kurulup sonra sıradan bir kullanıcı olarak güncellenen bir dosya kendini değiştiremez, o yüzden kuramayacağı bir sürümü indirmek yerinesudokomutunun adını verir. - Kaynaktan derlenmiş bir yapı. Sürüm damgası olmayan bir ikili bir geliştiricinin kendi ikilisidir ve onu altından değiştirmek bunun yapabileceği en kaba şey olurdu.
Kontrolün üst sınırı bir buçuk saniye. Sunucuya herhangi bir sebeple hiç
ulaşamazsa oyun normal başlar. Oturumun ortasında asla çalışmaz, yalnızca oyundan
önce, ve tarmy serve ya da başka bir alt komuta hiç dokunmaz.
Sabitlenmiş bir derleme ya da yavaş bir bağlantı için atlamak istersen:
Elle güncellemek için:
tarmy update çalıştığı ikilinin yerine geçer. sudo ile bir sistem dizinine
kurup sonra sıradan bir kullanıcı olarak güncellersen oraya yazamaz. PATH'inde
başka bir yere ikinci bir tarmy kurmaktansa sıfırdan farklı bir çıkışla durur,
doğrulanmış yeni derlemenin nerede beklediğini söyler ve işi bitiren tam
komutları yazar.
Açılıştaki kontrol de bu durumu bilir. İkili yazamayacağın bir yerdeyse bunu
söyler ve kuramayacağı bir sürümü indirmek yerine sudo komutunu adlandırır,
böylece sistem geneli bir kurulum her açılışta aynı derlemeyi tekrar indirmez.
PATH'inde birden fazla tarmy varsa güncelleme bunu da söyler, ister yeni bir
derleme kurmuş olsun ister zaten güncel olduğunu bulmuş olsun. Kabuğunun ilk
ulaştığı kopyayı ve önüne taşınacak dizini adlandırır, çünkü kabuğunun hiç
çalıştırmadığı bir ikiliyi güncellemek, oyunu güncelleme uyarısını gösterir
hâlde ve sebebini açıklayacak hiçbir şey olmadan bırakır.
Çıkış¶
İstemcinin içinde /logout aynı şeyi yapar ve kapatır.
Arayüz¶
İstemci tam ekran bir TUI: üstte kaynak çubuğu, solda gruplanmış menü (İmparatorluk · Operasyon · Sosyal), ortada tıklanabilir tablolar, sağda canlı durum rayı ve altta her zaman hazır bir komut satırı.
- Fare: görünüm değiştirmek için menüye tıkla, yapmak ya da yükseltmek için tablo satırına tıkla, listelerde gezinmek için kaydır.
- Klavye: komutları yaz (bak Komutlar);
Tabtamamlar,↑/↓geçmişte gezinir.
Her fare eyleminin bir komut karşılığı var, yani tamamen klavyeyle ya da tamamen fareyle oynayabilirsin.
Makinende ne saklıyor¶
Sunucu başına bir dosya, kullanıcı yapılandırma dizinin altında, izinler 0600.
İçinde sunucu adresi, oturum jetonun, komutan adın, dilin ve renk teman var,
başka bir şey yok. Hiçbir telemetri göndermez ve oyun trafiğini yalnızca
terminal.army ile alışverişe girer. Adını anmaya değer bir istisna var: bu adı
sisteminin ayarlı çözümleyicisi yerine Cloudflare'in açık çözümleyicisinden
(1.1.1.1) sorar, böylece kaydı henüz almamış bir çözümleyici oyunu
ulaşılamaz gösteremez. Dolayısıyla Cloudflare, adresinin terminal.army
sorduğunu görür, fazlasını değil. Daha fazlası
SSS içinde.
Hazır mısın? terminal.army'de kaydol ve tarmy
çalıştır.
Komutan ve skill güncellemeleri¶
tarmy commander ile kurduğunuz MCP, istemciyle aynı dosyada olduğu için
tarmy açılışındaki güncellemeyle birlikte yenilenir. Kurulmuş oyun skill'leri
de otomatik güncellenir. Açık asistanın yeni araçları yüklemesi için MCP'yi
veya asistanı yeniden başlatın. İzin katmanları ve elle düzenlediğiniz skill'ler
korunur. Ayrıntılar: komutan güncellemeleri.