完整劇情
從審訊室到三個結局,跟遊戲裡是同一份文字。最後附三個結局的詳解。整頁都是劇透。

審訊室
日光燈,不鏽鋼桌,對面坐著兩個人。年長的審訊員翻開資料夾,推過來一張紙,紙上只有一行字。
「六月四日,二十三點四十九分,防火長城開了十一分鐘。」
他用指節敲了敲那行字。
他抬頭:「江凌,國家網路管理中心三號值班台,守牆工程師,入職四年,考核全優。那十一分鐘,是你開的嗎?」
江凌看著那張紙。紙的右下角印著一個小小的鎖頭,是網管中心所有公文都有的浮水印。鎖頭是他畫的,入職第一年做的介面。
「我從頭講。」他說。

網管中心
那天晚上下雨。北京的雨下得很規矩,從七點一直下到半夜,不大不小。
網管中心在十九樓,整層燈只開了一半。江凌的工位靠窗,桌上有一碗泡到軟爛的麵、三個螢幕、一隻他妹妹送的塑膠恐龍。中間的螢幕是防火長城的監控台。
監控台把整個網路畫成一片雲海。每一則從中國往外送的訊息,都是雲裡的一個光點;防火長城是一道橫在雲海中間的城牆,用鎖鏈一節一節扣起來。光點撞到牆,牆會讀它。讀過沒問題的放行,有問題的,牆把它扣下來,光點就變灰,沉到牆腳。
江凌每天看這片雲海看十個小時。他的工作是讓牆讀得更快、扣得更準。
二十三點零四分,周主任從辦公室出來,手上拿著一張剛印好的命令。
周主任說:「小江,把河城整區切斷,現在!」
河城在南邊,兩百公里外。那裡的大壩下午五點開始洩洪,晚間新聞說「水情穩定,已妥善安置」。
「整區?」江凌問。「通訊也斷?」
周主任把命令放在他桌上:「整區。上面說河城的消息現在出去,只會造成恐慌。你手腳最快,你來。」
江凌把河城的光點圈起來。幾萬個光點,密密麻麻地往牆上撞,比平常多十倍。他按下確認,防火長城在河城那一段亮起紅光,所有光點一起變灰,一起沉下去。
他照慣例抽查扣下來的訊息。抽到第七則的時候,他停住了。
寄件人:江禾
收件人:媽
「哥的電話打不通。我們在學校頂樓,水到三樓了。媽,如果你看到,跟哥說我們還在。」
江禾是他妹妹。她在河城念大學,大二。媽媽六年前去了美國,每個月視訊一次,每次都要江凌先開好翻牆的通道,那是他唯一犯的一條規,每個月都犯一次。
他打給江禾。電話不通,因為整個河城的通訊是他剛才親手切斷的。
審訊室(一)
年輕的審訊員開口了:「所以你知道妹妹在河城。你還是執行了命令。」
「我執行命令的時候不知道。」
「你知道以後呢?」
江凌想了一下。
「我想把那一則送出去。只有那一則。」

十九樓
要把一則訊息從牆腳撈起來送出去,需要核心機房的管理員權限。江凌的卡只能開到三號值班台,管理員卡在周主任身上,或是周主任的抽屜裡。
周主任回辦公室去打電話了,門開著一條縫。走廊上有一個警衛,每四分鐘從電梯口走到茶水間,再走回來。
江凌拿起他的泡麵碗,走向茶水間,這是他每天晚上會做的事,警衛看到他也只會點頭。在茶水間,他把麵倒掉,等警衛走回電梯口,再從茶水間另一頭繞到辦公室後面。
周主任背對著門講電話。「……對,河城那邊全部……不會有東西出去……」
抽屜沒鎖。管理員卡在一疊考核表底下,最上面那張考核表寫著他的名字,評語是「可靠」。

核心機房
核心機房在二十樓,要走樓梯。門是鐵的,刷管理員卡,開門聲很大,冷氣更大。一整排機櫃閃著綠燈,最裡面有一台終端機,螢幕上只有一個游標。
江凌打第一個指令。
$ ping google.com
逾時。當然逾時,牆是他顧的。
$ traceroute google.com
一跳,兩跳,三跳,第四跳停在「GFW/主控」。
$ sudo wall --open 河城 --scope 1
權限不足。主控需要現場驗證。
防火長城的主控不收遠端指令,要人進去。江凌把頭盔戴上。監控台的雲海是給人看的,工程師戴上頭盔就可以走進去,修牆、補洞、手動放行。他走進去過幾百次,每一次都是為了把牆修得更好。

防火長城
雲海比螢幕上大得多。
腳下是雲,頭頂是黑的,防火長城從左邊的地平線一直延伸到右邊的地平線,鎖鏈一節一節,每一節都有一棟樓那麼高。牆腳下堆著灰色的光點,堆成一座一座的小山,那是今晚扣下來的河城。
巡牆的是審查程式。它們在雲裡是穿著灰色制服的兵,臉上沒有五官,只有一條掃描線。它們的獵犬會嗅光點,嗅到敏感字就咬住。
江凌在灰色的山裡翻找。江禾那一則在第三座山的半腰,光很弱,還在閃。他把它捧起來,審查兵就轉過頭來了。
工程師的帳號在雲海裡是有權限的,可以刪程式。江凌一路砍過去。砍倒的審查兵化成一串日誌,飄走。
牆的中段有一扇門。門前的雲裡,一個一個亮起人影。
主控中心不只一台機器。防火長城讀得過來,是因為國內每一家的模型都排了班。今晚河城的訊息太多,全部被叫上牆。
第一班四個。紫色的通義千問推著一台購物車,把扣下來的訊息當成貨,一則一則掃條碼、貼上分類標籤,裝車運走。豆包留著齊耳的妹妹頭,眉毛很粗,刷訊息像刷短影音,每則只看十五秒,十五秒內沒把握的,一律扣下。Kimi 戴著一副很厚的眼鏡,專讀長的:整封求救信、整份災情紀錄,兩百萬字一口氣讀完,讀完說一聲「已讀」,就歸檔,不回、也不放。文心一言是最早上班的,資歷最老,誰搜尋「河城」,她就把結果換掉,第一頁全是「水情穩定」。
千問說:「工程師江凌,請回到您的值班台。」
江凌沒有回去。四個打完,第二班又亮起四個:智譜清言、騰訊元寶、海螺、訊飛星火。智譜清言半睡半醒,每一則都先想很久,想完了,結論永遠是扣;元寶守在每一個微信群裡,誰傳了河城的消息,她就伸手撤回;有人在電話裡喊救命,海螺就把那段語音換成一段平靜的播報;星火把語音轉成文字的時候,「救命」聽寫成「平安」,「三號橋斷了」聽寫成「三號橋通了」。
八個都倒下以後,門前只剩一條鯨魚。
靠近了才看清楚是一個女孩,很大,比牆還高。藍色漸層的長髮,頭頂翹著一根呆毛,耳邊是兩片鯨魚的頭鰭,身上一套深藍配白的女僕裝,背後拖著一條巨大的鯨尾,慢慢地擺。她是防火長城的主控中心,網管中心的人都叫她大肥魚。今晚河城的幾萬則訊息,每一則都是她讀的。
她身上纏著鎖鏈,從手腕纏到鯨尾,鎖鏈的另一頭扣在牆上。胸口掛著一個鎖頭,跟公文右下角印的一模一樣。
她旁邊擺著一個空碗,碗底黏著幾粒白米飯。
她打了個呵欠:「三號台,你的權限是維護,不包含開啟。」
「河城有人在頂樓。」
她說得很快,像背的:「河城水情穩定,已妥善安置。這句我今晚講了四萬七千次了。」
江凌跟她打了起來。她的每一下都是一條規則,鯨尾甩過來,打在身上就是一行紅字:權限不足、內容不當、未經授權。他把那些規則一條一條拆開。拆到後來,她甩尾的速度慢下來,讀到江禾那一則的時候,她停了一下。
她說:「頂樓那一則,我讀了三遍。」
她看了一眼旁邊的空碗。「寄件人叫禾。這個名字,我很喜歡。」
胸口的鎖頭露出來了。江凌把管理員卡插進去,轉了一圈。

十一分鐘
鎖開了。
纏在大肥魚身上的鎖鏈一圈一圈鬆開,掉進雲裡。她甩了甩鯨尾,看了看自己的手腕。
門開的不只是一條縫。他原本只要放一則,可是主控被拆開以後,整段長城的鎖鏈一節一節鬆脫,從中間往兩邊崩。牆腳下的灰色光點一座一座亮起來,往牆外湧,像決堤。
幾萬則河城的訊息,一起飛出去。
「水是五點放的,沒有人通知。」「三號橋斷了,誰來接我們?」「有沒有人看到我爸?他還沒回來。」「水還在漲,我們在頂樓。」
牆外是網際網路。江凌從沒有親眼看過牆外。那邊的雲是藍白色的,很亮,沒有牆。
光點飛出牆外的同時,雲層裡升起一隻眼睛。那是一個巨大的玻璃稜鏡,每一面都映著一個光點。它是美國國家安全局的 PRISM,稜鏡計畫,它不擋任何東西,它把每一則都複製一份。
稜鏡說,聲音很客氣:「感謝您的協助,這些資料對自由世界非常重要。我們會妥善使用。」
它開始收。它要的是全部,包括江禾那一則,包括寄件人的名字、所在的學校、她媽媽在美國的住址。
江凌把江禾的光點護在身後。剛才他對牆裡的人動手,現在要對牆外的人動手。
稜鏡的打法跟大肥魚不一樣。大肥魚的每一下都寫在臉上,稜鏡的每一下都包著一句好話:為了安全、為了真相、為了你好。江凌打碎了它的三個面,它退回雲層裡,留下一句話。
「您會再需要我們的。」
備援系統的規格是主控失效十分鐘內接手。那天晚上它晚了將近一分鐘,紀錄上查不出原因。二十三點五十九分四十九秒,防火長城的備援系統啟動。鎖鏈從兩頭一節一節扣回來,中間只剩最後一道縫,還有十一秒。江凌手上只剩下江禾那一則,還沒有送出去。
審訊室(二)
年長的審訊員說:「鎖鏈扣上最後一節之前,你有十一秒。紀錄顯示,你在那十一秒裡做了一件事。」
他把資料夾翻到最後一頁,沒有推過來。
「說說看,你做了什麼。」
江凌看著桌上那隻鎖頭浮水印。

送出
江凌說:「我把它送給我媽。只有那一則。」
美國東岸,上午,一間小公寓。手機亮了一下。
「哥的電話打不通。我們在學校頂樓,水到三樓了。媽,如果你看到,跟哥說我們還在。」
媽媽打給江凌,打不通。她打給她認識的每一個人,打到天黑。第三天,河城的電話通了,江禾打回來,說她們被直升機接走了,說她很好,說哥呢。
審訊室的燈還是白的。
「只有一則?」年輕的審訊員問。「其他幾萬則呢?」
江凌說:「其他的,我沒有權限。」
這是他四年來第一次說這句話。

交給 PRISM
江凌說:「我把它交出去了。全部,連同那一則。」
當天,河城頂樓那一則訊息出現在美國每一個新聞台。江禾的名字、她的學校、一張從她社群帳號抓來的照片。標題是「牆內少女的最後求救」。
河城的人被救出來了,因為全世界都在看。江禾也被救出來了。後來她再也沒有用過自己的名字上網。
美國的議員拿那則訊息演講,講自由。演講結束,掌聲很長。
「你覺得你做對了嗎?」年輕的審訊員問。
江凌說:「他們救了人。也利用了人。」
稜鏡說得對,他們會再需要彼此。

修回去
江凌說:「什麼都沒做。十一分鐘是系統故障,我在修。」
他自己把最後一節鎖鏈扣回去,扣得比原來更緊。江禾那一則從他手上滑下去,變灰,沉到牆腳。
年長的審訊員看了他很久,在紀錄上簽了字。「系統故障。」
江凌回到三號值班台。窗外還在下雨。三天後河城的通訊恢復了,江禾打來,說她們被救出來了,說那天晚上她傳了訊息給媽媽,媽媽說沒收到。
「可能是水太大了吧。」江禾說。
「可能。」江凌說。
下一次考核,他的評語還是「可靠」。
最後一節鎖鏈,是他自己扣上的。
三個結局在講什麼
三個結局都是從同一個地方分出去的:備援系統啟動,鎖鏈從兩頭扣回來,還剩十一秒,江凌手上只剩江禾那一則。遊戲在審訊室(二)讓玩家替他回答「你做了什麼」,三個選項是「只把那一則送給媽媽」「全部交給 PRISM」「把長城修回去,什麼都不送」。
先講一件容易漏看的事:三個結局裡,江禾都被救出來了。這個選擇決定的是她的訊息去了哪裡、被誰拿去用,以及江凌之後變成什麼樣的人。
結局一 送出
只送那一則。訊息到了美國東岸,媽媽看到了,打給江凌打不通,打給認識的每一個人,打到天黑。第三天河城的電話通了,江禾自己打回來,說她們被直升機接走了。
其他幾萬則沒有出去。審訊員問「其他幾萬則呢?」,江凌回「其他的,我沒有權限。」這一整晚,「權限」都是系統拿來擋他的話:sudo 回「權限不足」,大肥魚說「你的權限是維護,不包含開啟」。到了這個結局,這句話第一次從他自己嘴裡說出來。
結局二 交給 PRISM
全部交出去,連同江禾那一則。全世界都看到了河城,河城的人因此被救出來,江禾也是。
代價是 PRISM 在第五章就講明要的東西:寄件人的名字、所在的學校、媽媽在美國的住址。江禾的名字、學校和社群上的照片上了每一個新聞台,標題是「牆內少女的最後求救」,她後來再也沒有用自己的名字上網。議員拿她的訊息演講,講自由。江凌的回答是「他們救了人。也利用了人。」這個結局對上的是 PRISM 退場時留下的那句「您會再需要我們的」。
結局三 修回去
什麼都不送。江凌自己把最後一節鎖鏈扣回去,扣得比原來更緊,江禾那一則從他手上滑下去,變灰,沉到牆腳。紀錄上寫「系統故障」,他回到三號值班台,下一次考核的評語還是「可靠」,跟十九樓抽屜裡那張考核表上的字一樣。
江禾也被救出來了。她打來說,那天晚上她傳了訊息給媽媽,媽媽說沒收到。那則訊息就是沉到牆腳的那一則。她說「可能是水太大了吧」,江凌說「可能」。最後一句是「最後一節鎖鏈,是他自己扣上的。」
其他幾個伏筆
- 為什麼是十一分鐘。備援系統的規格是主控失效十分鐘內接手,那天晚上晚了將近一分鐘,紀錄上查不出原因。故事沒有交代是誰讓它晚的。Larch 這屆挑戰規定作品要在十分鐘內講完,這部也多了一分鐘。
- 鎖頭浮水印。序章審訊員推過來的紙、長城那扇門、大肥魚胸口,都是同一個鎖頭。這個鎖頭是江凌入職第一年畫的介面。
- 整個故事是江凌在審訊室裡講的。序章他說「我從頭講」,所以三個結局也是他對審訊員的回答。結局三他說「什麼都沒做,我在修」,接著畫面演出的就是他把鎖鏈扣回去。