Steam bildirim dosyalarının açıklaması
appmanifest_*.acf dosyası nedir, içinde ne var, SteamTools'nin neden buna ihtiyacı var ve bir metin düzenleyicide nasıl okunacağı.
Son güncelleme: 2026-07-05
Her SteamTools kilidinin açılması için iki dosya gerekir. Bu sayfada ilk dosya olan appmanifest_<APPID>.acf dosyası, bir metin düzenleyicide okuyabileceğiniz ve her satırın ne yaptığını anlayabileceğiniz kadar ayrıntılı olarak açıklanmaktadır. Lua dosyası işin kolay kısmıdır (SteamTools'ye hangi depoların yükleneceğini söyleyen kısa bir komut dosyasıdır); manifesto insanların kafasını karıştıran kısımdır. Ayrıca manifest dosyasında bulunabilecek her yaygın hatayı ve uç durumu gözden geçiriyoruz, böylece bir dahaki sefere vahşi doğada bir hata gördüğünüzde, onunla ne yapacağınızı tam olarak bilirsiniz.
Dosya nedir
Manifest, Valve'nin "ACF" (Uygulama Yapılandırma Dosyası) formatında küçük bir metin dosyasıdır. ACF, INI'ye benzer şekilde bölüm başlıklarına sahip bir anahtar/değer biçimidir. Steam, steamapps dizinine şimdiye kadar yüklediğiniz her uygulama için bunlardan birini yazar. Adlandırma kuralı appmanifest_<APPID>.acf'dir; burada <APPID>, oyunun App ID'sidir.
SteamTools'nin çalışması için, SteamTools'nin izlediği bir klasörde (genellikle <SteamTools>/depotcache/) bulunan bu dosyanın bir kopyasına (veya doğru depoları ve yapıyı işaret eden bir kopyaya) ihtiyacınız vardır. Bildirinin, Steam'nin kurulumunuz için yazdığı dosyanın aynısı olması gerekmez; yalnızca doğru uygulamanın doğru yapısını tanımlaması yeterlidir. SteamTools, hangi deponun hangi yapısının alınacağını bilmek için bildirimi okur ve hangi şifre çözme anahtarının kullanılacağını bilmek için Lua dosyasını (ikinci indirme) okur.
Bir bildirimin içinde ne var?
Gerçek bir appmanifest_400.acf (Portal) şuna benzer:
"AppState"
{
"appid" "400"
"name" "Portal"
"installdir" "Portal"
"StateFlags" "4"
"UpdateLocalTime" "Wed Jan 1 12:34:56 2025"
"buildid" "1234567"
"LastOwner" "12345678901234567"
"BytesToDownload" "0"
"BytesDownloaded" "0"
"AutoUpdateBehavior" "0"
"UserConfig"
{
"language" "english"
}
"MountedDepots"
{
"400" "2345678"
}
}
Ne arayacağınızı bildiğinizde bu alanların çoğu kendi kendini açıklayıcı niteliktedir. SteamTools için önemli olan iki şey şunlardır:
appid— App ID. Dosya adıyla eşleşmelidir. SteamTools dosya adına bile bakmaz, ancak Steam, dosya adıappmanifest_<appid>.acfile başlamıyorsa bildirimi yüklemeyi reddeder. Yani eşleşmeleri gerekiyor.MountedDepots— depo kimliğinden söz konusu deponun yapı kimliğine eşleme. SteamTools bunu her deponun hangi yapısının indirileceğini bilmek için kullanır.MountedDepotsboş veya yanlışsa SteamTools doğru yapıyı bulamaz ve oyun başlamaz.
Diğer alanlar (UpdateLocalTime, UserConfig, LastOwner, vb.) Steam'nin defter tutma alanıdır. SteamTools bunları yok sayar. Oluşturucu bunları içermiyor çünkü LastOwner'yi başka birinin bildiriminden kopyalamak sizin değil, onun Steam kurulumuna işaret edecektir; bu bir gizlilik ve doğruluk sorunudur.
Jeneratörün size gerçekte sağladığı şey
Bu siteden bir bildirim talep ettiğinizde SteamTools'nin ihtiyaç duyduğu alanları içeren küçük bir metin dosyası alırsınız, başka hiçbir şey almazsınız. Özellikle:
-appid
name(istek zamanındaappdetails'den çözümlendi)installdir(Steam'nin kurulum dizini kuralı, küçük harflerle yazılmıştır)buildid(en son genel yapı veya istediğiniz şubenin yapısı)MountedDepots, uygulamada depo başına bir girişle
UpdateLocalTime, UserConfig veya LastOwner'yi eklemiyoruz çünkü SteamTools bunları okumaz ve bunları başka birinin manifest dosyasından kopyalamak sizinkine değil, başka birinin Steam kurulumuna işaret eder.
Oluşturucudan gelen bildirim, depo sayısına bağlı olarak genellikle 200-600 bayttır. Bunu, 2–4 KB olabilen tam Steam bildirimiyle karşılaştırın.
60 saniyede Lua dosyası
Lua dosyası (indirdiğiniz iki dosyadan ikincisi), SteamTools'ye bu uygulama için hangi depoların yükleneceğini söyleyen küçük bir komut dosyasıdır. Tipik bir 400_public.lua kabaca şöyledir:
addappid(400, 1, "abcdef0123456789abcdef0123456789")
setmanifest("2345678", "1234567890abcdef1234567890abcdef")
addappid(<appid>, 1, <depot_key>)uygulamayı kaydeder ve birincil deposu için şifre çözme anahtarını sağlar.setmanifest(<depot_id>, <manifest_id>), SteamTools'yi söz konusu deponun belirli yapısına işaret eder.
Oluşturucu, hem depo anahtarını hem de bildirim kimliğini genel Steam verilerinden türetir. Gizli bir sos yok. Depo anahtarı, Steam'nin halka açık olarak yayınladığı 32 karakterlik onaltılık bir dize olan deponun şifre çözme anahtarıdır. Bildiri kimliği, deponun yine herkese açık olan bildirim dosyasının SHA-1'idir.
SteamTools neden her iki dosyaya da ihtiyaç duyuyor?
Bölünme kasıtlıdır:
- Bildirim, SteamTools'ye uygulamanın hangi yapısının yükleneceğini söyler.
- Lua dosyası, SteamTools'ye nasıl yükleneceğini (hangi depolara, hangi şifre çözme anahtarına) söyler.
Elinizde yalnızca manifest varsa SteamTools deponun şifresini nasıl çözeceğini bilmiyor. Yalnızca Lua dosyanız varsa SteamTools hangi yapıyı yakalayacağını bilemez. Her iki dosya da gereklidir ve App ID üzerinde anlaşmaları gerekir.
.acf manifest .lua script
│ │
│ "I want build 1234567 │ "use depot key X for app 400,
│ of app 400, with depots │ and point at manifest Y for
│ 400 → 2345678" │ depot 2345678"
│ │
└──────────┬───────────────────┘
▼
SteamTools
(desktop client)
│
▼
game launches with
the right decrypted
build
Dallarla ilgili bir not
Bazı oyunlarda public'ye ek olarak beta veya ptb dalı bulunur. Oluşturucu, kullanıcı arayüzünde bir "Şube" alanı gösterir; bunu ayarlarsanız, döndürülen bildirim ve Lua genel yapı yerine o dalın yapısını hedefler. Varsayılan public'dir.
Şube adı, Steam'nin gösterdiği adla tam olarak eşleşmelidir. Ortak değerler public, beta, beta_1, ptb ve experimental'dir. Hangi şubeyi istediğinizden emin değilseniz alanı boş bırakın, halka açık yapıya kavuşacaksınız.
Belirli bir uygulamaya yönelik mevcut dalları keşfetmek için App ID için SteamDB'nin dalları sekmesini kontrol edin. SteamDB, şube adları ve her birinin buildid'si için yetkili kaynaktır.
Sık karşılaşılan uç durumlar
Bunlar, temel "dosyayı depotcache'ye bırakma" akışının kapsamına girmeyen durumlardır.
Herkese açık deposu olmayan uygulamalar
Bazı uygulamalar Steam'nin kataloğunda mevcuttur ancak yayınlanmış yapıları yoktur. Aramada görünüyorlar, bir App ID'ye sahipler, ancak appdetails boş bir depo listesi döndürüyor. Oluşturucu 0 baytlık bir bildirim veya yalnızca AppState başlığını içeren bir bildirim döndürecektir. Nasıl çalışır sayfasında bunun için özel bir hata var.
Şifreli ve şifrelenmemiş depolar
Oyunun "DRM'siz" olup olmadığına bakılmaksızın Steam üzerindeki her depo şifrelenir. Şifreleme, oyun dosyalarının kendisine değil depo parçalarına uygulanır; SteamTools depo anahtarını aldığında oyun dosyalarının şifresi çözülmüş olarak ortaya çıkar. Lua dosyası, SteamTools'ye bu anahtarı veren dosyadır.
Bu nedenle Lua dosyası "DRM yok" olarak tanıtılan oyunlar için bile zorunludur. DRM, Steam atölye düzeyindedir (oyunun sahibi hiçbir Steam hesabı yoktur), depo düzeyinde değildir (depo parçaları hala kablo üzerinde AES şifrelidir).
Film Müzikleri ve DLC
DLC ve film müzikleri normal Steam uygulamalarıdır. Kendi App ID'leri, kendi manifestleri ve kendi Lua dosyaları var. Bir DLC'nin veya film müziğinin kilidini açmak için, temel oyunun değil, DLC'nin App ID'si için + Lua bildirimini oluşturun. Yaygın DLC'ler "Orijinal Film Müziği" (200.000'lerin zirvesinde App ID) ve "Sezon Bileti" (App ID değişiklik gösterir) gibi şeylerdir.
Kilidini açmak istediğiniz bir temel oyun + DLC kombinasyonunuz varsa iki bildirim/Lua çiftine ihtiyacınız vardır: biri temel oyunun App ID'si için ve diğeri DLC'nin App ID'si için. Her ikisi de aynı depotcache ve scripts klasörlerine gider.
Bölgeler arası depolar
Bazı oyunlar farklı bölgeler (CN, AB, ABD, ASYA) için ayrı depolar yayınlar. Oluşturucu, Steam müşterinizin bölgesiyle eşleşen depoları seçer. Bölgeleri değiştirirseniz bildirimi yeniden oluşturun; MountedDepots eşlemesi farklı olacaktır.
Araçlar (Proton, Steamworks, Kaynak SDK)
Proton, Kaynak SDK ve Steamworks Ortak Yeniden Dağıtılabilir Öğeler gibi araçlar normal Steam uygulamalarıdır. Aynı şekilde kilitleri açılabilir. App ID'ler iyi bilinmektedir (Proton, 858280; Steamworks, 243750'dir).
Listeden kaldırılan uygulamalarla ilgili bir not
Bir oyun Steam'den kaldırıldıysa manifest ve Lua bu oluşturucuda hâlâ mevcut olabilir ancak çalışmazlar. SteamTools yukarı akış da listeden kaldırılmış bir uygulama için çalışan bir yapı elde edemez ve SteamDB de alamaz. Bunun geçici bir çözümü yok; listeden kaldırılan bir uygulamayı kullanmaya devam etmenin tek yolu, listeden çıkarılmadan önce uygulamanın bir kopyasını yüklü tutmak ve uygulamayı asla kaldırmamaktır.
Listeden kaldırılan bazı uygulamalar, listeden kaldırıldıktan sonra birkaç hafta boyunca Steam'nin appdetails uç noktası aracılığıyla teknik olarak erişilebilir durumda kalır. Bu pencere sırasında, jeneratör çalışma bildirimini döndürecektir. Pencere kapandıktan sonra 404 döndürecektir ve bizim yapabileceğimiz hiçbir şey yoktur.
Bir bildirimin doğruluğunun doğrulanması
depotcache'ye bir bildirim bırakmadan önce bu kontrol listesini gözden geçirin:
- Dosya adı
appidile eşleşiyor. Dosyaappmanifest_<APPID>.acfolmalı ve içindekiappidalanı eşleşmelidir. Eşleşmiyorlarsa SteamTools bunu reddedecektir. namebeklediğiniz oyunla eşleşir. Ad yanlışsa App ID yanlıştır.MountedDepotsboş değildir. Boş birMountedDepotsbloğu, uygulamanın genel yapıya sahip olmadığı anlamına gelir.- Yapı makul görünüyor. Steam yapı kimlikleri, genellikle 7-8 basamaklı tam sayılardır ve zamanla büyürler.
1veya0'ninbuildid'si yanlış.
Dördü de geçerse manifest iyidir. depotcache'ye bırakın, Lua'yi scripts'ye bırakın, SteamTools'yi yeniden başlatın.
Sorun Giderme: "Dosyaları bıraktım ama SteamTools oyunu hala kilitli olarak gösteriyor"
On vakadan dokuzunda aşağıdakilerden biri sebeptir:
- Bildirimi yanlış klasöre koydunuz. Bir alt klasörde değil, SteamTools kurulumunuzun kökündeki
depotcacheklasöründe olmalıdır. - Lua'yi yanlış klasöre koydunuz.
depotcache'de değil, SteamTools kurulumunuzun kökündekiscriptsklasöründe olmalıdır. - SteamTools'yi yeniden başlatmadınız. Dosyalar SteamTools başlatıldığında okunur. SteamTools çalışırken bunları kopyalarsanız hiçbir şey olmuyor.
- Bildirimdeki yapı Steam'nin sunduğu yapıdan daha eski. Bildiriyi yeniden oluşturun — yenideki yapı kimliği en son genel sürüm olacaktır.
- Lua'deki dal, bildirimdeki dalla eşleşmiyor. Dal alanını
betaolarak ayarlarsanız ancak Lua,publiciçin oluşturulmuşsa, kabul etmeyeceklerdir. Her iki yerde de aynı dalla yeniden oluşturun (jeneratör bunu varsayılan olarak yapar). - Lua'deki depo anahtarı yanlış. Bu nadir görülen bir durumdur; deponun yeniden anahtarlandığı anlamına gelir. Jeneratör bir sonraki istekte yeni anahtarı alır.
SteamTools.games manifestosu vs ham Steam manifestosu vs GreenLuma manifestosu
Biçim aynı, ancak içerik farklı.
| Kaynak | appid'ye sahiptir | Doğru MountedDepots | LastOwner'ye sahiptir | SteamTools ile çalışır |
| ----------------------------------------- | ------------------- | ------------------------ | ----------------------- | ------------------------------------------------------------------------ | ----------------- |
| Bu jeneratör | Evet | Evet (en son genel yapı) | Hayır (gösterilmedi) | Evet |
| Ham Steam bildirimi (kendi yüklemenizden) | Evet | Evet (kurulu yapınız) | Evet (Steam kimliğiniz) | Evet, ancak LastOwner sizin kendi kimliğinizdir, bu da sorun değil |
| Bir arkadaşın paylaştığı manifesto | Evet | Evet (kurulu yapıları) | Evet (Steam kimlikleri) | Evet, SteamTools, LastOwner'yi yok sayar |
| GreenLuma bildirimi | Evet | Bazen | Hayır | Bazen — GreenLuma'nin bildirim biçimi bir alt kümedir ve MountedDepots | 'ı içermeyebilir. |
Kısacası: appid ve MountedDepots doğru olduğu sürece herhangi bir kaynaktan gelen bildirim SteamTools ile çalışır. Diğer alanlar SteamTools amaçları için gürültüdür.
Daha fazla okuma
- SteamTools.games nasıl çalışır — bildirimi oluşturan dört adımlı akış
- Sorun giderme kılavuzu — oluşturucunun döndürebileceği dört hata ve her birinin nasıl düzeltileceği
- SteamTools yukarı akış belgeleri — SteamTools'nin bildirim ve Lua ile bunları yerleştirdikten sonra ne yaptığını açıklayın
- SteamDB uygulama sayfası —
buildidve depo listesi için yetkili kaynak - Steam App ID nasıl bulunur — bir oyun adınız olduğu halde App ID olmadığında
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ış.