SteamTools bildirimi ve Lua dosyaları nasıl kullanılır?
Adım adım: Steam App ID'yi arayın, bildirimi + Lua ZIP oluşturun, SteamTools'yi yükleyin ve dosyaları depotcache'e bırakın. Yaygın hataları ve düzeltmeleri içerir.
Son güncelleme: 2026-07-15
Bu sayfada steamtools.games üzerindeki oluşturucu açıklanmaktadır: bir oyun adı veya App ID yazın, bir ZIP (Lua + key.vdf + README) indirin, ardından bu dosyaları SteamTools masaüstü istemcisi ile kullanın. Web sitesinin kendisi kayıt gerektirmez. Dosyaların yararlı bir şey yapabilmesi için yine de bilgisayarınıza SteamTools'yi yüklemeniz gerekir.
1. Bir oyun adı yazıyorsunuz
Ana sayfadaki giriş kutusu tuş vuruşlarınızı 250 ms kadar geri çevirir ve ardından /api/search uç noktamızdan kısa bir eşleşme listesi ister. Uç nokta, Steam'nin genel mağaza aramasını proxy olarak gerçekleştirir ve her biri App ID, görünen ad ve küçük bir kapsül resmi içeren ilk beş sonucu döndürür.
Yerel dizin yok. Her arama Steam'ye canlı bir gidiş-dönüş yolculuğudur. Arama sonuçlarını bir veritabanında önbelleğe almıyoruz çünkü Steam'nin kataloğu, önbellek isabet oranının düşük olmasına ve eski sonuçların önbellek olmamasından daha kötü olmasına neden olacak kadar büyük.
App ID'yi zaten biliyorsanız - ve bilmelisiniz, çünkü onu bulmak, Steam'deki herhangi bir oyun için 30 saniyelik bir iştir - onu doğrudan giriş kutusuna yapıştırın. Oluşturucu 4-10 basamaklı bir sayı algılar, arama açılır menüsünü devre dışı bırakır ve doğrudan 3. adıma atlamanıza olanak tanır.
2. Bir sonuç seçersiniz
Açılır menüdeki bir sonuca tıklamak iki gizli durum değerini ayarlar: App ID (bir tamsayı) ve oyun adı. Giriş kutusu görünen adla güncellenir ve "Oluştur" düğmesi etkinleştirilir.
Açılır menüde klavyeyle gezinilebilir. Ok tuşları vurguyu hareket ettirir, Enter seçer, Escape kapatır. İlk sonuç önceden vurgulanmıştır, böylece hızlı bir Enter en yüksek sonucu seçer.
Arama sıfır sonuç döndürürse açılır menüde, uygulama kimliği bulucuya bağlantı ve "oyunum listede yok" için SSS girişi bağlantısı içeren bir "eşleşme yok" ipucu gösterilir.
3. Oluşturma isteği
Oluştur'a tıklamak, App ID (ve isteğe bağlı bir dal adı — Steam beta dalları için kullanışlıdır) içeren bir POST /api/generate isteği gönderir. Son nokta:
- App ID'nin yasal aralıkta (1 ila 2,147,483,647) pozitif bir tam sayı olduğunu doğrular.
- Oyunun gerçekten var olduğunu doğrulamak ve standart adı ve kapsül görüntüsünü getirmek için Steam'nin
appdetailsuç noktasını çağırır. Oluşturma akışı için Steam'nin API'sine dokunduğumuz tek yer burası. - Steam'nin
appinfoarayüzünden talep edilen dalın depo listesini okur, her depo için en son genel yapıyı seçer ve eşleşen depo şifre çözme anahtarlarını çözer. - Bildirim metnini ve Lua komut dosyası metnini bu değerlerden işler.
- Her iki dosyayı da satır içi olarak
text/plainolarak döndürür, böylece tarayıcı bunları herhangi bir sunucu tarafı durumu olmadan doğru dosya adlarıyla kaydedebilir.
Gidiş-dönüşün tamamı genellikle sıcak kenarda 200-400 ms ve soğuk kenarda 1,2 saniyeye kadar sürer (Cloudflare önbellek tahliyesinden sonraki ilk istek). 3 saniyeden uzun sürdüğünü görürseniz, Steam uygulama ayrıntıları uç noktası darboğazdır, biz değil.
4. ZIP'yi indirip dosyaları yerleştiriyorsunuz
Sonuç kartı ZIP'yi indirin (önerilen) artı Lua dosyası ve key.vdf için isteğe bağlı doğrudan bağlantılar sunar. ZIP, appmanifest_<APPID>_public.zip gibi adlandırılır ve şunları içerir:
-<APPID>_public.lua
-key.vdf
- Kısa kurulum notlarıyla
README.txt
Kurulumları otomatikleştirirseniz curl ile /api/files/<APPID>/zip'ye de ulaşabilirsiniz.
Yerleştirme (bu sitedeki paketler için önerilir):
- Henüz yapmadıysanız SteamTools'yi yükleyin.
.luavekey.vdfdosyalarını SteamTools kurulum köküne kopyalayın — SteamTools / Watt Toolkit yürütülebilir dosyasıyla aynı klasör (ZIP içindeki README'ye bakın).- SteamTools'den tamamen çıkın ve yeniden açın, ardından kitaplığı yenileyin.
Bu oluşturucu klasik appmanifest_*.acf dosyalarını göndermez. .acf kilit açmayla kullanılan depo önbellek/komut düzenleri için, bkz. Manifest files.
Web sitesi hiçbir zaman bilgisayarınızda bir yükleyici çalıştırmaz ve hiçbir zaman oyun içeriğini saklamaz; yalnızca indirdiğiniz küçük metin dosyaları.
Dört adımın birbirine nasıl uyum sağladığı
┌────────────┐ debounce ┌────────────┐ proxy ┌──────────────┐
│ Input box │ ──────────► │ /api/search│ ───────────► │ Steam store │
└────────────┘ 250ms └────────────┘ │ search API │
└──────────────┘
│ pick result (AppID + name)
▼
┌────────────┐ POST ┌────────────┐ render ┌──────────────┐
│ Generate │ ──────────► │/api/generate│ ───────────► │ .acf + .lua │
│ button │ │ (server) │ │ text/plain │
└────────────┘ └────────────┘ └──────────────┘
│ download (user click)
▼
┌─────────┐ ┌────────────────┐
│depotcache│ │ SteamTools/ │
│ /manifest│ │ scripts/lua │
└─────────┘ └────────────────┘
│ restart SteamTools
▼
game unlocked
Tarayıcıda neler çalışır?
Ana sayfa, sunucu tarafından oluşturulan bir TanStack Start uygulamasıdır. Hidrasyondan sonra ürün kullanıcı arayüzü şu şekilde çalışır:
- Geri çevrilen arama girişi.
- Oluşturma / indirme sonuç kartı.
localStorage'den okunan "Son" şeridi.
İsteğe bağlı üçüncü taraf komut dosyaları (örneğin analizler veya reklamlar) yapılandırıldığında yüklenebilir; gizlilik politikasına bakın. Çalışmak için arama veya oluşturma işlemlerine gerek yoktur.
Sunucuda neler çalışıyor
- Yamaç paraşütü mesaj modüllerini rotalara hizmet eden ve bir araya getiren Nitro sunucusu.
- Her ikisi de
src/routes/api/biçiminde olan iki API rotası. /api/generate'de IP başına 1,5 sn hız sınırlayıcı ve/api/search'de 300 ms hız sınırlayıcı.- Kötüye kullanımın tespiti için uç düzeyinde istek günlüğü. Günlükler her 14 günde bir döndürülür.
Beş hata ve her birinin nasıl düzeltileceği
Bunlar jeneratörün döndürebileceği tek hatalardır. Eğer bir tane görürseniz, düzeltme Steam tarafındadır, bizim tarafımızda değil.
1. "Uygulama bulunamadı" (/api/generate'den HTTP 404)
Steam'nin appdetails uç noktası success: false'yi döndürdü. Bunun en yaygın nedeni Steam listesinden kaldırılmış ancak makinenizde hâlâ yüklü olan bir uygulamadır. Steam, appdetails'nin listeden kaldırılan bazı uygulamalar için erişilebilir, diğerleri için ise erişilemez olmasını sağlar. Bizim açımızdan geçici bir çözüm yok; bu durumda ne yapmanız gerektiğini öğrenmek için manifest-files sayfasına bakın.
İkinci en yaygın neden App ID'deki bir yazım hatasıdır. App ID'ler tam sayılardır; "Portal 2" 620 (sondaki boşluk) veya 0620 (baştaki sıfır) değil, 620'dir. Boşluk bırakmadan yeniden yapıştırın.
2. "Şube bulunamadı"
Hedef uygulamada bulunmayan bir şube adı yazdınız. Steam şube adları büyük/küçük harfe duyarlıdır ve tam olarak eşleşmelidir: public, beta, beta_1, ptb, experimental. Alanı boş bırakırsanız kamu şubesine ulaşırsınız.
Belirli bir uygulamaya yönelik mevcut dalları keşfetmek için SteamDB'nin dallar sekmesini kontrol edin; bu sayfa, dal adları ve her birinin yapı kimliği için yetkili kaynaktır.
3. "Hız limiti aşıldı"
Son 1,5 saniyede IP'nizden birden fazla /api/generate isteğinde bulundunuz veya son 300 ms'de üçten fazla /api/search isteğinde bulundunuz. Bir süre bekleyip tekrar deneyin. Hız sınırı yasağını "kilidini açmanın" bir yolu yoktur; sınır IP başına otomatiktir ve kendi kendine sıfırlanır.
Daha yüksek aktarım hızına (derleme sunucusu, otomasyon hattı) meşru bir ihtiyacınız varsa, public API kullanın ve isteklerinizi bir geri çekilme döngüsünün arkasına koyun. Birden fazla IP ile hız sınırının aşılması, kalıcı bir engellemenin temelidir.
4. "Steam uygulama ayrıntıları zaman aşımı"
Steam appdetails uç noktası 5 saniye içinde geri dönmedi. Bu yaklaşık olarak her birkaç bin istekte bir gerçekleşir. Jeneratör, Retry-After: 2 başlığına sahip bir 503 döndürür. Oluştur düğmesine tekrar tıklayın; Steam'nin uç önbelleği ısındığı için ikinci deneme neredeyse her zaman başarılı olur.
5. "Bildirim dosyasını boşalt"
Bildiri başarıyla indiriliyor ancak 0 bayt boyutunda veya yalnızca AppState başlığını içeriyor ve hiçbir alanı yok. Bu, uygulamanın halka açık deposu olmadığı anlamına gelir; uygulama Steam'nin kataloğunda mevcuttur ancak hiçbir yapı yayınlanmamıştır. Hâlâ "Çok yakında" durumunda olan uygulamalar, yapıları kapalı beta ile sınırlı olan uygulamalar ve bazı yayıncı araçları için yaygındır.
Bizim açımızdan herhangi bir düzeltme yok. Yayıncı bir genel yapıyı gönderdiğinde, oluşturucu App ID için boş olmayan bir bildirim döndürmeye başlayacaktır.
SteamTools.games vs Watt Toolkit vs GreenLuma vs SteamDB
Hangi aracın ne yaptığını bilmek yardımcı olur, çünkü aynı Steam kilit açma konuşmalarında dördünden de bahsedilir.
| Araç | Nedir | Ne işe yarar | Ne zaman kullanılmalı |
|---|---|---|---|
| SteamTools.games (bu site) | Bir web bildirimi + Lua oluşturucu | SteamTools'nin ihtiyaç duyduğu iki dosyayı oluşturur; Steam kurulumunuzu değiştirmez | Hiçbir şey yüklemeden belirli bir uygulama için bildirimi ve Lua'yi istediğinizde |
| Watt Toolkit (eski adıyla Steam++) | SteamTools çatalı içeren bir Steam yardımcı program paketi | Yerel olarak çalışır; ağ hızlandırma, başarı kilit açma ve SteamTools masaüstü kilit açma özelliği sağlar | Tek seferlik bir manifesto değil, tam bir yerel Steam mod paketi istediğinizde |
| SteamTools (masaüstü istemcisi) | Steam depo anahtarı önbelleği ve Lua çalıştırıcısı | depotcache ve scripts/'den manifest + Lua'yi okur ve bunları Steam başlatıldığında çalıştırır | Dosyalara sahip olduğunuzda ve uygulamanın kilidini gerçekten açmak istediğinizde |
| GreenLuma | Farklı bir mekanizma kullanan ayrı bir Steam kilit açıcı | İsteğe bağlı depoları kabul etmek için Steam yamalarının kendisi | SteamTools uyumlu olmayan bir kilit açma işlemine ihtiyacınız olduğunda (nadir) |
| SteamDB | Salt okunur bir Steam meta veri izleyicisi | Bir uygulama için hangi buildid'nin, depoların ve şubelerin mevcut olduğunu gösterir | Şube adlarına bakmanız veya en son yapıyı doğrulamanız gerektiğinde |
Bu araçlar rakip değildir; aynı iş akışının farklı katmanlarını kapsarlar. SteamTools.games, SteamTools'ye (masaüstü istemcisi) aktarılır; bu, çoğu insanın "SteamTools" derken kastettiği şeydir.
Performans ve sınırlar
- Site Cloudflare'nin uç ağında barındırılmaktadır. Önbellek tahliyesinden sonraki ilk istek soğuk başlatmadır (~600–1200 ms); aynı AppID'ye yapılan sonraki istekler sıcaktır (~150–300 ms).
/api/generate, IP başına 1,5 saniyede 1 istekle hız sınırlıdır./api/searchIP başına 300 ms'de 1'dir. Bu sınırlar kasıtlıdır, tartışılamaz ve Steam'ninappdetailsuç noktasının aynı zamanda yukarı akışta hız sınırlı olması nedeniyle mevcuttur.- Jeneratör 100'den fazla depoya sahip uygulamaları desteklemez. 30'dan fazla uygulamaya sahip gerçek bir uygulama görmedik. Bir tane bulursanız, App ID ile bir hata bildirin.
- Oluşturucu,
2,147,483,647'nin (int32 sınırı) üzerindeki uygulama kimliklerini desteklemez. Şimdiye kadar çözdüğümüz en yüksek App ID, düşük 4 milyon aralığında; Steam'nin kendisi daha yüksek kimlikler atamaz.
Hizmet ne yapmaz
- Makinenizdeki hiçbir oyun dosyasını değiştirmez.
- Steam'nin DRM'sini, lisans kontrollerini veya kimlik doğrulamasını atlamaz.
- Arama geçmişinizi bir sunucuda saklamaz. Ana sayfadaki "En Son" şeridi bizim tarayıcımızdan değil, tarayıcınızın
localStorage'sinden okunur. - Hesap, e-posta veya telefon numarası gerektirmez.
- Hiçbir oyun içeriğini paketlemez veya yeniden dağıtmaz. Ürettiği iki dosya küçük metin dosyalarıdır (bildirim 4 KB'nin altındadır; Lua 1 KB'nin altındadır).
Hizmetin söylediklerini yaptığını doğrulamak istiyorsanız sunucu tarafının tamamı açık kaynak projesinin src/routes/api/ ve src/server.ts'sindedir. İstemci tarafı src/blocks/generator.tsx'dedir. Her kod yolu bir veya iki dosyadan oluşur; inceleyemeyeceğiniz bir yapım adımının arkasında hiçbir şey gizli değildir.
Daha fazla okuma
- SteamTools'yi yükleyin — Windows / macOS / Linux masaüstü istemcisi
- Manifest dosyalarının açıklaması — dosyaların içeriği
- Steam App ID nasıl bulunur — App ID'yi bilmediğinizde
- SSS — daha uzun, daha derin soru listesi
- Oluşturucu hatalarını giderme — yukarıdaki hata tablosunun blog sürümü
- Geliştiriciler / API — otomasyon ve komut dosyasıyla kullanım için
Ayrıca bakınız
- Steam bildirim dosyası nedir ve onu SteamTools ile nasıl kullanırsınız? — eksiksiz ön kapı kılavuzu; bu sayfa bunun bir kısmına daha derin bir bakış.