Ana içeriğe geç

Kur ve oyna

İstemciyi kur

curl -fsSL https://terminal.army/install.sh | sh

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:

curl -fsSL https://terminal.army/install.sh | TARMY_SKIP_CHECKSUM=1 sh

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:

tarmy: command not found

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:

~/.local/bin/tarmy

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

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:

wsl --install

Sonra açılan Ubuntu penceresinde normal kurulum satırını çalıştır:

curl -fsSL https://terminal.army/install.sh | sh

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:

tarmy --remote https://onlarin-sunucusu.example

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. sudo ile 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 yerine sudo komutunun 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:

tarmy --no-update         # yalnızca bu çalıştırma
export TARMY_NO_UPDATE=1  # her çalıştırma

Elle güncellemek için:

tarmy update            # en son sürüme güncelle
tarmy update --to vX.Y.Z

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ış

tarmy --logout          # bulunduğun sunucu için kayıtlı oturum anahtarını sil

İ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); Tab tamamlar, ↑/↓ 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.