Repo ↗ · 原始 README ↗ · 文件包(Markdown/授權)

封面參考(原作): Minecraft: Java Edition · 原作宣傳圖,由 IGDB 提供。圖片版權屬原權利人,供辨識原作使用,不代表此重寫/模組專案的實際畫面。

來源維護者: DaffyDabz · 版本: 53659b7dc0c7 · 整理日期: 2026-10-12

文件授權: Apache-2.0 · LICENSE · 本文形式: README 翻譯

下文為來源 README 的繁中翻譯,由 Kirikirin 使用 AI 輔助整理;功能、完成度與測試結果均為原作者描述,本站未逐項實機驗證。圖片改為來源連結,指令與技術識別保留原文。


bo2mc:Minecraft 殭屍模式(在 Minecraft 世界中的 Black Ops II 殭屍模式)

每晚一場 Black Ops II 殭屍模式回合,白天則是 Minecraft 生存。你操作 Black Ops II 角色,使用 Black Ops II 的槍械、特長、點數與 HUD,在無盡的 Minecraft 世界中遊玩。建構於
IW4L(IW4 引擎的 Rust 重寫版)之上,合併了它的兩個分支:
我們的 Black Ops II 殭屍模式重建版(bo2zm)以及 chasmlol 的
2010 Rust Rewrite Mashup(Minecraft 世界,
來自 MinecraftOSS)。

狀態: 可遊玩,開發中 · 最新發行: 2026-10-08 · 最後更新: 2026-10-08

業餘/模組專案。本儲存庫中沒有任何來自 Activision 或 Mojang 的內容:Black Ops II 的檔案
來自你自己擁有的遊戲副本,Minecraft 的檔案則在首次執行時從 Mojang 的伺服器取得。

目錄

下載與遊玩

  1. 開啟本儲存庫的 Releases 頁面(GitHub 頁面右側),下載最新的 zip,
    MinecraftZombies-2026-10-08.zip(約 45 MB)。
  2. 解壓縮到任何你喜歡的位置(例如文件)。將檔案保持在其資料夾中。
  3. 雙擊 Setup.bat。它會在你的 Steam 媒體庫中找到 Black Ops II,寫入設定檔(.env)並
    在你的桌面放置一個 Minecraft Zombies 捷徑。如果找不到遊戲,它會請你貼上 Black
    Ops II 資料夾(內含 zone 的那個)。
  4. 開啟 Minecraft Zombies(或 Play.bat)> ONLINE > SOLO > 在地球上選擇 MINECRAFT > START MATCH。
    NUKETOWN 就在同一個地球上的旁邊,供單純的 Black Ops II Nuketown Zombies 使用。

從舊 zip 更新:將新的解壓縮覆蓋舊資料夾(或解壓縮到新資料夾並再次執行 Setup.bat)。
你的設定位於 iw4l.exe 旁邊的 iw4l-artifacts\。

首次 Minecraft 遊戲會從 Mojang 下載 Minecraft 自身的檔案(約 125 MB,僅一次)。Windows SmartScreen 可能
在第一次時警告未知程式;請選擇 更多資訊 > 仍要執行。

你需要自己擁有含殭屍模式的 Black Ops II(PC、Steam)。zip 僅包含此模組(iw4l.exe、載入
圖片、安裝腳本、授權);沒有 Black Ops II 或 Minecraft 檔案。僅在作者的 PC 上測試過,尚未
在全新 PC 上測試。

控制

按鍵 功能
W A S D、Space 移動、跳躍(蹲下、衝刺及其餘為 Black Ops II 自身的綁定)
左鍵 射擊,或挖掘你注視的方塊(按住)
右鍵 瞄準,或放置你手中的方塊
滑鼠滾輪、1-9 選擇快捷欄欄位(槍械、手榴彈、小刀、方塊、工具、食物)
E 物品欄(合成、盔甲、熔爐,以及當你開啟儲物箱時)
F 使用:門、特長機器、神秘箱、牆上粉筆、放回窗戶玻璃
T Minecraft 的聊天;/ 開啟它並已輸入指令
Esc 暫停選單(結束遊戲、退出遊戲回到選單)

聊天指令

按 T(或 /)並輸入。/help 會在遊戲中列出它們。

指令 功能
/round <1-255> 跳到該回合(回合之間會立即開始)
/points 、/points set 給予點數,或設定點數
/time set <day|noon|night|midnight|ticks> 移動時鐘;night 在回合之間開始下一回合
/time add <ticks>、/time query <daytime|gametime|day> Minecraft 自身的時間指令
/gamemode <survival|creative|adventure|spectator> 創造模式在雙重跳躍時飛行;旁觀者模式可穿過方塊飛行
/give <item> [count] 任何 Minecraft 物品,例如 /give diamond_sword
/summon <mob> [x y z] 一個 Minecraft 生物,例如 /summon creeper
/tp <x> <y> <z> 傳送(~ 表示你站的位置)
/kill、/kill @e 自殺;殺死 64 格內所有 Minecraft 生物
/seed 顯示此世界的種子碼

玩法

  • 遊戲在夜晚開始,於出生室、第 1 回合,使用 Black Ops II 的手槍與小刀(沒有免費手榴彈:在
    粉筆處購買)。
  • 每一晚是一個殭屍回合。太陽停在午夜,直到該回合最後一隻殭屍死亡,
    然後白天來臨。
  • 每一天都是 Minecraft:採礦、農耕、放置方塊、在自己周圍建造牆壁。白天只有動物。
  • 夜晚時 Minecraft 的怪物也會生成並像殭屍一樣獵殺你:牠們知道你在 48 格內
    的位置,無論是否看見。日光會燒死牠們。死亡的 Minecraft 生物會先以布娃娃物理倒下,然後消失。
  • 出生室無法被破壞。它容納特長機器與神秘箱(一個位置,永不移動;
    畫面右上角的 Minecraft 羅盤指向它)。殭屍無法破壞它的門:牠們從
    兩扇玻璃窗進入,一片片打碎玻璃片。在窗戶按住使用可放回玻璃(每片 +10 點數),
    就像 Black Ops II 的木板。
  • 牆上武器是粉筆畫,每個上方都有 Minecraft 告示牌標示名稱與價格:屋內四個,
    屋外兩端牆上八個(槍械、Bowie Knife、Galvaknuckles、Semtex、破片手榴彈、
    claymores、麵包)。
  • 金庫:馬路對面的第二個房間,3,000 點數開啟。它容納地獄傳送門、終界傳送門
    (十二顆終界之眼點亮它)、Pack-a-Punch,以及稀有的牆上武器,掛在牆上直到它們
    獲得粉筆輪廓:Blundergat(10,000)、Spork(5,000,小刀的三倍)與 Golden Spork
    (15,000,一擊必殺)。告示牌標示接下來會出現什麼(Hell’s Retriever、Thunder Gun、更多神秘箱)。
  • 每個特長也以 Minecraft 方式運作:Speed Cola 採礦與放置更快、Double Tap 揮動更快、Deadshot 的
    揮動造成暴擊、Stamin-Up 衝刺不消耗飢餓、Quick Revive 治療速度加倍、PhD Flopper 不受摔落或苦力怕
    傷害、Vulture Aid 拾取、Electric Cherry 也會電擊生物、Juggernog 增加金色愛心。
  • 每第 5 回合是靈魂回合,像 Nacht der Untoten 的狗回合:沒有殭屍,只有地獄犬乘著
    Minecraft 閃電而來,以及一群憤怒的 Minecraft 狼,在濃霧中;最後一隻掉落 Max Ammo,
    霧氣散去。
  • 游泳像 Minecraft 一樣:水中較慢,你緩慢下沉,跳躍向上游,蹲下下潛;在水面按跳躍與前進
    可爬出。待在水下太久會溺水。
  • 地獄與終界:殭屍回合在該處持續進行;地獄殭屍掉落烈焰桿,終界之眼引導至終界。
  • 殭屍從你周圍的地面升起並破壞任何方塊以到達你,自然地面也是。方塊
    依其 Minecraft 硬度擁有生命值:樹葉與泥土很快,木頭與石頭較慢,鐵與黑曜石
    支撐很久,基岩永不破壞。殭屍會走最弱的路進入。挖掘太久、
    卡住或落後的殭屍會在你附近再次升起。殭屍掉落腐肉與
    骨頭;Minecraft 劍與工具依其攻擊傷害傷害牠們。
  • 夜晚降臨時在地下:牠們會直接在你上方升起。日落時會有警告。
  • 倒下像 Black Ops II 一樣:Quick Revive(單人)讓你復活,否則遊戲結束並
    從第 1 回合開始一個新的隨機世界。每場遊戲都是新世界。白天死亡也會結束遊戲。
  • Carpenter 給你木頭(木板與門)。
  • 生存物品:Black Ops II 槍械、手榴彈與小刀是物品欄物品;你以木製工具開始;愛心
    與飢餓取代 Black Ops II 生命值;盔甲、熔爐與儲物箱可用;房間內有彈藥站;手榴彈與
    claymores 從牆上粉筆購買,猴子炸彈來自箱子(每次 3 個,可堆疊)。
  • Black Ops II 自身的選單:地球在 NUKETOWN 旁顯示 MINECRAFT,因此兩張地圖只差一次點擊;退出遊戲
    回到選單。

需求

  • Windows 10/11,支援 DirectX 12(或 Vulkan)的 GPU。
  • 已安裝含殭屍模式的 Call of Duty: Black Ops II(PC、Steam):遊戲會讀取其 zone 檔案。
  • 首次需要網際網路一次(Minecraft 的檔案,約 125 MB,來自 Mojang)。
  • 建置需求:Rust(stable、MSVC),建置資料夾約需 30 GB 可用空間。

從原始碼建置

上述發行 zip 是簡單的方法。若要自行建置:

  1. 安裝 Rust(stable、MSVC 工具鏈)並複製本儲存庫。
  2. 建置:cargo build -p launcher --profile play(將 CARGO_TARGET_DIR 設為空間充足的磁碟)。
  3. 建立一個遊玩資料夾並將 target/play/iw4l.exe 複製進去。
  4. 在遊玩資料夾中,建立 .env:
    IW4L_GAMES="<your Steam library>/steamapps/common/Call of Duty Black Ops II"
    IW4L_BO2MC=1
    IW4L_SKATE=off
    WGPU_BACKEND=dx12
    
  5. 從遊玩資料夾:iw4l.exe frontend t6:zm_nuked 開啟 Black Ops II 自身的主選單(ONLINE > SOLO >
    MINECRAFT > START MATCH)。iw4l.exe map t6:zm_nuked 跳過選單。

設定、快取、日誌與展示檔會放到 iw4l.exe 旁邊的 iw4l-artifacts\。

設定

遊玩資料夾中 .env 的內容行:

  • IW4L_MINECRAFT_SEED:固定世界(相同種子碼 = 每場遊戲相同世界)。沒有它則每場遊戲都是新世界。
  • IW4L_MINECRAFT_TIME:一天的起始時間(預設為夜晚降臨,13000)。
  • IW4L_BO2MC_RAGDOLL=0:Minecraft 生物立即消失而非倒下。
  • IW4L_BO2MC_DAY_SPEED:白天時鐘倍率(測試用)。
  • 設定(解析度、音量、靈敏度)位於遊玩資料夾的 iw4l-artifacts/settings.cfg。

運作方式

  • 遊戲載入 Black Ops II 的 Nuketown Zombies 以取得其槍械、殭屍、特長、箱子、HUD 與腳本,隱藏
    Nuketown 的世界,並將其立在具有方塊碰撞的 Minecraft 世界上(mashup 的技巧,以
    Black Ops II 地圖取代 MW2 地圖)。
  • crates/sim/src/bo2mc.rs 是 Minecraft 世界(方塊、日鐘、房間、生成點)
    與 Black Ops II 規則(殭屍、回合、特長、點數)之間的橋樑。
  • crates/render_anim/src/minecraft_world/bo2mc_world.rs 建構出生室與金庫、執行日鐘,
    並執行聊天指令(bo2mc_world/chat.rs)。
  • 殭屍以 A* 在方塊上規劃(行走、攀爬一格、掉落、挖穿方塊),爪擊門與
    方塊,並在卡住或距離遠時於更近處再次升起。
  • 回合跟隨日鐘:回合等待夜晚降臨,時鐘等待回合。
  • Minecraft 的生物、物品與合成在 MinecraftOSS(third_party/minecraftoss)上於其自身的伺服器執行緒中執行;
    Black Ops II 武器與特長透過事件(射擊、Electric Cherry、Vulture Aid)觸及它們。

即將推出

  • [ ] Ray gun 光束與爆炸(手榴彈、claymores)傷害 Minecraft 生物。
  • [ ] 無法從下方挖上進入金庫。
  • [ ] 白天不會生成敵對 Minecraft 生物(阻止洞穴怪物向上挖向你)。
  • [ ] Blundergat 與兩種 Spork 的粉筆輪廓(它們目前掛在牆上)。
  • [ ] 金庫中的 Hell’s Retriever(Mob of the Dead 的戰斧)。
  • [ ] 金庫中的 Thunder Gun(Black Ops 1)。
  • [ ] 金庫中的 Mob of the Dead 與 Origins 神秘箱。
  • [ ] 發行 zip 的全新 PC 安裝測試。

近期變更

  • 2026-10-08:發布 zip MinecraftZombies-2026-10-08.zip,包含以下所有內容;README 已重寫(下載、
    控制、聊天指令)。
  • 2026-10-08:殭屍的聊天指令:/round <1-255> 跳至該回合(回合之間會立即開始),
    /points 和 /points set ;/time set night 在回合之間現在會立即開始下一回合。
  • 2026-10-08:遊玩測試修正:出生點不再有隱形牆(停放的巴士只有自身本體是實心的,所以它的
    車門可以運作,且 Nuketown 的隱藏補丁牆已從方塊世界中移除);技能機顯示在玻璃後方,
    而非玻璃上方;滑鼠保持在遊戲視窗內;牆上的麵包(12 個換 100 點);右上角的 Minecraft
    羅盤指向神秘箱(全部 32 個指針位置);沒有落葉。
  • 2026-10-08:生物布娃娃物理:死去的 Minecraft 生物會以布娃娃物理倒下(四足生物會側倒,
    腿伸出)並躺約 5 秒後消失;IW4L_BO2MC_RAGDOLL=0 可將其關閉。聊天
    也有 /summon <mob> [x y z] 和 /kill @e。
  • 2026-10-08:潤飾階段:每個技能也以 Minecraft 的方式運作(Speed Cola 採礦和放置更快,Double
    Tap 揮動更快,Deadshot 的揮動會爆擊,Stamin-Up 不需消耗飢餓值即可衝刺,Quick Revive 治療速度加倍,
    PhD Flopper 不受摔落或苦力怕傷害,Vulture Aid 會拾取物品,Electric Cherry 也會電擊生物);每個牆面
    粉筆和可購買項目都已檢查;Pack-a-Punched 雙持槍枝會獲得兩個彈匣;Minecraft 的聊天按 T 並有 /gamemode
    (雙跳時創造模式飛行,旁觀者模式可飛穿方塊)、/time、/give、/tp、/kill、/seed 和 /help。
  • 2026-10-08:遊玩測試修正:巴士的車頭回來了(駕駛坐在擋風玻璃後方,不會
    穿過引擎蓋);殭屍會掉落腐肉和骨頭;Minecraft 劍和工具會依其
    攻擊傷害傷害殭屍;Minecraft 生物會再次攻擊你;工具一旦停止採礦,裂痕就會消失(子彈裂痕
    仍會淡出);房屋的門是可直接穿過的雙開門;End Game 會結束遊戲。
  • 2026-10-08:Minecraft 載入圖片回來了(BO2 的 Nuketown 圖片曾取代它)。
  • 2026-10-07:金庫的 Spork(5,000)位於 Golden Spork(15,000)旁;金庫武器掛在它的牆上;
    破片手榴彈再次可購買;Blundergat 和 Sporks 會顯示其名稱和價格。
  • 2026-10-07:馬路對面的金庫(3,000 點:兩個傳送門、Pack-a-Punch、Blundergat、Golden Spork);
    每個牆面武器上方都有標示名稱和價格的 Minecraft 告示牌;粉筆已從窗戶和技能機移開;
    會碎裂的玻璃窗;牆上的破片手榴彈。
  • 2026-10-07:手榴彈、闊劍地雷和猴子炸彈是您購買的物品:手榴彈和闊劍地雷來自牆面粉筆
    (闊劍地雷用完後會再次出售),猴子炸彈來自箱子,每次 3 個,可堆疊;靈魂回合的狼在
    回合結束時會被閃電擊斃;End 傳送門會顯示其星空。
  • 2026-10-07:通往出生室的封板窗戶(殭屍會撕下木板,您將它們釘回);門現在
    能撐住;每 5 回合一次的靈魂回合,伴隨 Minecraft 閃電、地獄犬和狼;游泳;在
    地獄和終界無盡的回合。
  • 2026-10-07:每場遊戲都有新世界;白天有動物,夜晚有狩獵怪物;農業(鋤頭、種子、骨粉、
    需要土壤的樹苗);雪像 Minecraft 的一樣會破裂,工具不再能放置到雪中;方塊有自己的
    生命值;Nuketown Zombies 目前的選單、殭屍和武器已合併進來。
  • 2026-10-05:發布 zip,含一鍵設定(找到 Black Ops II,建立桌面捷徑)。
  • 2026-10-05:Black Ops II 的前端,在地球上 NUKETOWN 旁有 MINECRAFT;新的載入畫面;Exit Game
    會返回選單。
  • 2026-10-05:首次遊玩測試修正:可通過的門、槍枝/手榴彈/小刀的物品、堆疊、彈藥站、
    真實彈藥、生命值和飢餓值、盔甲、熔爐和箱子。
  • 2026-10-05:首個可遊玩版本:Black Ops II 殭屍下的 Minecraft 世界、出生室、門、可挖掘的
    殭屍、夜晚回合、Carpenter 木材。

致謝與授權

Apache-2.0(見 LICENSE),如同 IW4L 及其所建構的混搭作品。

  • IW4L,由 vladtrc 和貢獻者(包括 Bulat Fatykh)製作:一切所運行於其上的 Rust 引擎,https://github.com/vladtrc/iw4L
  • 2010 Rust Rewrite Mashup,由 chasmlol 製作:IW4L 內的 Minecraft 世界(方塊碰撞、地形、晝夜循環),https://github.com/chasmlol/2010-rust-rewrite-mashup
  • MinecraftOSS:Minecraft 引擎 crate(從種子生成世界),由混搭作品內嵌於 third_party/minecraftoss。
  • Black Ops II Zombies 重建(bo2zm) 及本模組,由 DaffyDabz 製作。
  • 載入畫面美術:由作者提供。
  • Call of Duty: Black Ops II 屬於 Activision 和 Treyarch;Minecraft 是 Mojang Studios / Microsoft 的商標。
    粉絲專案,與上述任何一方均無關聯或背書。您需要自己的 Black Ops II 副本;Minecraft 的
    資料檔案會在首次執行時從 Mojang 自己的伺服器下載。

授權與來源聲明

原始 README 與翻譯沿用 Apache-2.0 授權;本次修改為繁中翻譯、連結與排版調整。可修改的 Markdown、原始 README、LICENSE 與 NOTICE 收錄於頂部文件包。原作遊戲內容與商標不因此獲得授權。

LICENSE

Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

NOTICE

IW4L

Copyright 2026 vladtrc

IW4L was originally developed by vladtrc.
https://github.com/vladtrc/iw4L

IW4L is licensed under the Apache License, Version 2.0; see LICENSE.

2010 Rust Rewrite Mashup is a fork of IW4L by chasmlol that adds Skate 3's
skating and a Minecraft world to it.
https://github.com/chasmlol/2010-rust-rewrite-mashup

--------------------------------------------------------------------------------
Third-party material bundled with this repository
--------------------------------------------------------------------------------

Both fonts below are compiled into the IW4L binary with `include_bytes!`, so
they are redistributed with every build. Any archive that ships an IW4L binary
ships these two licence texts with it.

Oxanium (crates/ui/assets/Oxanium-Regular.ttf)
  Copyright 2019 The Oxanium Project Authors
  https://github.com/sevmeyer/oxanium
  SIL Open Font License 1.1 — full text in crates/ui/assets/OFL-Oxanium.txt

GNU FreeFont (crates/console/assets/FreeMono.otf)
  Copyright (C) 2002-2012 Free Software Foundation, Inc.
  https://www.gnu.org/software/freefont/
  GNU General Public License v3 or later, with the GNU font exception — full
  text in crates/console/assets/COPYING-FreeFont.txt. The exception is what
  makes embedding the font in an Apache-2.0 binary possible: a document or
  program that merely uses the font is not thereby covered by the GPL. The
  font itself is unmodified and remains under the GPL.

--------------------------------------------------------------------------------
Third-party source code
--------------------------------------------------------------------------------

No third-party source code is vendored in this repository, and the build links
no third-party project named below. IW4L's own dependencies are the crates
declared in Cargo.toml, under their own licences.

The fork carries two projects of its own author's in-tree, built as part of
the workspace:

skate/ — the Skate 3 skating engine and its data converter. It reads the
  player's own copy of Skate 3; no Skate 3 code or data is included.

third_party/minecraftoss/ — five crates of MinecraftOSS, a Rust Minecraft
  engine, copied from its commit 4013a68 (see its README). Its few data
  tables are gameplay values measured from Minecraft (food, waxing and
  dispenser rules). No Minecraft code, JARs, textures or sounds are included:
  the game downloads Minecraft's files from Mojang on first run.

--------------------------------------------------------------------------------
References consulted during development
--------------------------------------------------------------------------------

These projects were read while working out how the original games behave. They
are named here because the reading happened, not because anything of theirs is
distributed: none of them is vendored, linked, bundled or otherwise shipped.

OpenAssetTools — https://github.com/Laupetin/OpenAssetTools
  Open-source modding tools for older Call of Duty games. Its asset-structure
  headers document the on-disk layouts IW4L reads. Licensed under GPLv3.

oat (iw4x-x64 fork of OpenAssetTools) — https://github.com/iw4x-x64/oat
  The x64 fork, at revision 3a7442dee5ce040cfdb8da23fdb9fb525b5f743e, is the
  tree whose IW4MS headers were read for the 64-bit FastFile layouts.
  Licensed under GPLv3, like its upstream. No file in this repository is
  compiled against, generated from or distributed with those headers.

IW4x — https://github.com/iw4x/iw4x-client
  A custom client for Call of Duty: Modern Warfare 2 (2009), with dedicated
  servers, security fixes and modding support. Read as a cross-reference for
  asset and protocol behaviour, and by the fork for controller aim assist. Licensed under GPLv3.

KisakCOD — https://github.com/SwagSoftware/KisakCOD
  A Call of Duty 4 open-source reimplementation. Read as a cross-reference for
  engine structure, and by the fork for controller aim assist's defaults. IW4L targets IW4, so this is a neighbouring generation of
  the same engine family, not the same codebase.

Ghidra — https://github.com/NationalSecurityAgency/ghidra
  The software reverse engineering framework the original game binaries were
  read with. A development tool: none of it, and none of its output, is
  committed here or distributed with IW4L. Licensed under Apache 2.0.

--------------------------------------------------------------------------------
bo2zm fork
--------------------------------------------------------------------------------

This tree is bo2zm, a local fork of IW4L taken at upstream commit
11514ea37d1e80d75bf2c1ba332bbd68fac5db4e (2026-09-30) and extended to read
Call of Duty: Black Ops II (T6) PC files. Where the fork changes an upstream
file the change is marked "bo2zm"; the crates fastfile_t6 and bo2zm_tools and
the file crates/assets/src/lane/t6.rs are new. The fork stays under the Apache
License, Version 2.0.

OpenAssetTools (above) was also read for the Black Ops II zone layout: the
TAff0100 envelope and auth header, the XChunk streams, the public Salsa20 key
and its IV chain, the XFile blocks and the T6 asset list. It was read for
facts only; none of its code is copied here. Salsa20 is written from
D. J. Bernstein's specification and SHA-1 from FIPS 180-4.

The T6 zone walk (crates/fastfile_t6/src/walk_gen.rs) is generated by
crates/fastfile_t6/gen/t6gen.py, a development tool that reads layout and
load-rule facts from an OpenAssetTools checkout on the developer's machine
(the T6 structure declarations and the T6 zone-load rules) and writes Rust of
its own form. The checkout is not part of this repository, nothing from it is
vendored or linked, and the computed layouts were verified against the 32-bit
MSVC compiler.

--------------------------------------------------------------------------------
Game content
--------------------------------------------------------------------------------

No Call of Duty or Skate game data, and no Minecraft code or assets, are
contained in this repository or in any release archive. IW4L reads game data from a copy of the game the user already
owns and has installed. Call of Duty, Modern Warfare, Black Ops, related
trademarks and all original game assets belong to their respective owners.
IW4L is not affiliated with, endorsed by or supported by them.