2019年12月12日 星期四

ACE COMBAT 7 白金獎盃攻略與心得


白金獎盃是對於戰鬥機駕駛們最高榮耀的獎勵

2019/1/22,還在服役中的我用休息的空檔開始了戰役模式的第一關

2019/12/11,我在完成 ACE 難度的 Mission 13 後,拿到了 ACE COMBAT 7 的白金獎盃

經過了三百二十四天,戰役模式實際飛行時間約五十二小時
(不包含連線模式、戰役劇情的動畫跟其他操作)



最後等待攻略的 Mission 13 Bunker Buster

獲得白金獎盃的那一刻

ACE COMBAT 7 的白金獎盃並不算容易獲得,也愧對得起它在 PlayStation Network 上官方 0.4% 的稀有度

而稀有度如此之高,主要是因為兩個因素

第一個因素是『它很農』

第二個因素是『它很吃技術』

在 ACE COMBAT 系列裡,把遊戲難度分成簡易、普通、困難跟 ACE 四個遊戲難度,而 ACE 難度要在通關困難這個難度後才可以開放,而這也是最噁心人的難度

過往的 ACE 難度有時候是把血量控制在被擊中一發就死的,並讓敵人的行為模式變得稍微刁鑽一點,而 ACE COMBAT 7 不把你的血量調低,而是把敵人的行為模式變得非常刁鑽,即使是雜兵的空戰技巧都會讓你傻眼,尤其當一架雜兵可以連續閃過你三枚以上的飛彈時,你就可以想像這次作品的主軸,UAV 的機動力可以多誇張

玩家在 Mission 2 會第一次遇到 MQ-99 無人機,這款無人機的機動力真的是可以讓過往系列的玩家傻眼的程度,跟軍械巨鳥攜帶的 MQ-101 以上下機動跟集體行動用機海戰術不同,MQ-99 的機動力跟迴避能力都非常高,而且對頭攻擊的意識非常強,算是棘手的對手

而如果 MQ-99 已經夠棘手了,那之後的 ADF-11F 跟 ADF-11 就會讓你見識到所謂的反重力空戰機動



在最終戰役碰上 ADF-11 時,相信大部分玩家都會被它的超機動跟對頭防禦力震撼到

我在前一篇ACE COMBAT 7 高難度關卡攻略中有說到

ACE COMBAT 7 這代在關卡結算上跟前起代相比,比較不同的就是時間獎勵(Time Bonus)跟戰鬥績分(Destoryed Score)是會加總的,並作為戰鬥評價的判定

也就是說前幾代的 S Rank 判定可能是通關時間(速度夠)或是戰鬥積分(Destoryed Score)足夠就可以拿到 S Rank,但在這一代你不只要打的快,還要戰鬥績分足夠,不然可能發生戰鬥績分足夠但通關不夠快,或是通關夠快但戰鬥績分不足,結果只拿到 A Rank 甚至 B Rank

而當雜兵乃至於一般 UAV 的戰鬥力都大幅強化的前提下,遇上敵方有頭有臉的角色,其實也就是米迦伊跟他歡樂的太陽隊( Sol Squadron )時,你就很容易拖太久導致超出全時間獎勵獲得的時間

或是遇上最終戰役的 ADF-11F 跟它的第二段變化 ADF-11,你就很容易拖太久,或是直接被它們用雷射兵器打下來重新來過

這就是我說的『很吃技術』的部分,而其中比較吃技術的,是這幾個獎盃

Bird Of PreyAplenty
Destroyed all named aircraft in campaign mode.
擊落所有的掛名機體( Named ),PlayStation Network 官方稀有度 2.8%

The Highest Achiever
Obtained a new medal in campaign mode after having already obtained 24 or more medals.
獲得二十四個勳章後再獲得新的戰役勳章,PlayStation Network 官方稀有度 1.0%

ACE OF ACES
Completed all campaign mode missions on ACE difficulty with an S rank.
所有難度的所有關卡都獲得 S Rank 評價,PlayStation Network 官方稀有度 0.9%

Bird Of PreyAplenty 為何會說要看技術力,主要是因為你除了要看攻略或用誤試法觸發掛名機體的出現,有時還要在敵方茫茫機海中找到並擊落它,在它會逃離戰場或是有時間壓力的情況下,能不能順利擊落就是技術力的體現

The Highest Achiever 是因為戰役模式的勳章就二十五面,如果你要單純打戰役模式獲得這勳章其實有難度,或是說要花很久還打不到,所以在連線模式中獲得連線勳章可以極大的降低獲得這個獎盃的難度,當然 VR 模式的勳章也適用

ACE OF ACES 是純粹看技術力的獎盃,當然如果熟記攻略是可以在特定關卡獲得優勢的,當然技巧夠有實力的應該可以樂勝,不過即使是老玩家如我,某些關卡也要重來一兩次甚至更多次才能拿到 S Rank 評價



白金獎盃時的戰役勳章,無傷通關、最速通關,跟機砲通關、用機砲完成最終戰役我覺得有心情再挑戰

不過掛名機體( Named )倒是有全部擊落,因為這是銀質獎盃「Bird Of Prey」的條件

以 S Rank 通關 ACE 難度下的所有戰役關卡後,可以獲得基於希臘空軍 F-104G 的黃黑老虎紋塗裝

而為何會說『它很農』,主要是因為這幾個獎盃

Patron Of The Parts
Obtained all aircraft, special weapons, and upgrade parts.
解鎖全部的機體跟零件,PlayStation Network 官方稀有度 1.4%

MRP Aplenty
Obtained 40,000,000 MRP in total.
獲得 40,000,000 MRP 點數,PlayStation Network 官方稀有度 1.4%

Frequent Flyer
Flew a total of 76,500 km in campaign mode.
PlayStation Network 官方稀有度 0.9%

Patron Of The Parts 代表著不論你玩不玩連線模式,你都要把連線模式專用的零件全部解鎖、購買,而且你至少要玩過一次連線模式才能解鎖購買連線模式專用零件的鎖定

MRP Aplenty 代表你至少要賺取總額 40,000,000 MRP 的點數,相信我,打連線模式會輕鬆很多,節奏快,即使被當菜雞痛打都有萬把的 MRP 點數,當然去特定戰役關卡也是可以,但因為戰役模式的關卡通關獎勵雖然多,但只會發一次,所以效益其實沒連線模式好,而且遊戲初期在連線模式,即使開著低階機體被當菜雞痛打也可以快速的賺到大量 MRP 去解鎖好一點的機體讓自己破關之路快樂一點

Frequent Flyer 是在戰役模式中飛行距離要超過 76,500 km,但如果你有在解 ACE OF ACES 跟前面的 MRP Aplenty 而不停的刷特定戰役關卡其實可以正常解到,當然你用橡皮筋綁住搖桿繞圈圈的 MiG-31 高速繞圈法,在戰役模式的自由飛行中也是可以解,但因為關卡限制時間長度是三十分鐘,要每三十分鐘重弄一次我覺得很麻煩,所以我建議正常解就好



戰役模式實際飛行時間約五十二小時,飛行距離 86,785.52 km

戰役模式各關卡週回紀錄,當初為了賺 MRP 點數買 F-15C 在第一關刷了一整天

總擊殺紀錄,可以看到這代把 UAV 列入單獨計算

戰役模式各關卡獲得的 MRP 的點數與總和,哪一關最好刷就不用多說了吧

至此 ACE COMBAT 7 的白金之路告一段落,也期待之後有更多 DLC 戰役可以把劇情研展開來,目前到 DLC No.6 的三個 SP Mission 講述了一個完整的戰役故事,希望之後的 DLC 戰役,可以把未來的續作 ACE COMBAT 8 基於 ACE COMBAT 3 的未來世界觀作完整的橋接跟補完


我的戰役模式通關紀錄,包含過場劇情動畫


我的關卡攻略紀錄,包含花絮跟 ACE 難度特定關卡攻略分析

2019年12月7日 星期六

如何讓 TeamViewer 的網路喚醒在網際網路上執行

最近因為在跑機械學習,所以常常把 JupyterLab 的程式腳本放在同步資料夾(例如 Dropbox),遠端連線回家中性能較高的電腦運算得出結果

在遠端連線上,因為外出用的電腦是 MacBook Pro,所以遠端連線軟體我就選擇 TeamViewer 了

相信我,微軟雖然有針對 macOS 跟 Linux 推出跨平台的 Microsoft Remote Desktop 讓你能夠在非 Windows NT 架構的作業系統上執行遠端連線、存取遠端的 Windows 主機,但是那個穩定度真的很糟糕

而 TeamViewer 在遠端管理上,有支援網路喚醒這個功能,用硬體的角度來看,就是所謂的「Wake-on-LAN」

Wake-on-LAN (WoL) is an Ethernet or token ring computer networking standard that allows a computer to be turned on or awakened by a network message.

The message is usually sent to the target computer by a program executed on a device connected to the same local area network, such as a smartphone. It is also possible to initiate the message from another network by using subnet directed broadcasts or a WOL gateway service. Equivalent terms include wake on WAN, remote wake-up, power on by LAN, power up by LAN, resume by LAN, resume on LAN and wake up on LAN.

其實不需要用到 TeamViewer,只要任何能送出魔術封包的程式碼、工具程式,加上支援網路喚醒的網路卡,你的電腦都可以透過網路進行基於 WoL 的遠端開機

網路喚醒通常是用在伺服器或是機房等地方,因為你不可能一台一台伺服器過去開機,但其實絕大部分的主機板,乃至於 NAS 都支援網路喚醒

主機板內建的網路晶片或是 PCIe 的網路卡通常都支援 WoL,如果是早期的 PCI 網路卡則需要接上所謂的 Physical Wake-on-LAN Connector,通常是一條三絞傳輸線的額外連接線,在關機時也能提供 PCI 網路卡待機電源跟送出喚醒訊號給主機板

而近代的主機板,只要在內建的網路卡中看到類似「 WOL by PME, PXE」的說明,並且在主機板的 BIOS/UEFI 中開啟對應的選項,這時你的主機就已經在硬體上完成遠端開機的準備

在作業系統中,則要在網路卡的硬體選項中,勾選「允許這個裝置喚醒電腦」跟「Wake on Magic Package」這個選項,並在 TeamViewer 的設定選項中,允許遠端喚醒,並輸入電腦的網址跟埠號,這時你的主機就已經在軟體上完成遠端開機的準備

一切就緒了嗎?我可以出門在外喚醒我家的電腦了嗎?

不,災難才剛開始而已



為了完善這個網路開機,前前後後折騰了快一個禮拜

在區域網路(LAN)中網路喚醒可以運作的十分正常,畢竟它就叫做 Wake-on-LAN (WoL) 啊!

只要網路卡還有供電(關機時 RJ45 接頭的燈號繼續閃爍,說明網路卡還是有持續在監聽網路上的封包),以及發出指令的路由器或電腦在同一個區域網路上,通常都能夠順利開機

但當你要從遠端開機,例如出門在外時,常常發生剛關機時可以成功喚醒,過了大概幾個小時就失敗的情況

這牽涉到一個專有名詞

ARP Binding

許多路由器會內建靜態 DHCP(Static DHCP),也就是當你的電腦連上這個路由器所管理的區域網路時,它會自動分配到一個固定的內部網路位址(即俗稱的 IP )上,這在管理設備上是很方便的,因為你不需要給每次開機都要猜你要連線的設備分配到哪一個內部網路上

而在從區網以外下達的網路喚醒,也就是「Wake-on-WAN」時,你不只需要將那台電腦設定一個基於靜態 DHCP 發放的內部網路位址,你也要設定傳輸埠轉送( Port Forwarding ),將用於傳送網路喚醒訊號的埠號 9 指定給那一台電腦,這樣外網進來的喚醒訊號『理論上』才會轉送到內網那台指定電腦
至於為何說『理論上』,是因為即使是靜態 DHCP,當你太久沒有連線時(這裡指關機),ARP 會將你從快取表上剔除,這時外面進來的喚醒訊號雖然知道要透過路由器轉送到指定的內部網路位址,但這時的網路卡是處在待機等待喚醒的情況,只會監聽有沒有指定它、或包含它的喚醒訊號,是沒有在連線清單上的,並沒有透過靜態 DHCP 拿到內部網路位址,ARP 快取表上也沒有它

於是含有喚醒訊號的封包就迷路了

所謂的 ARP 就是位址解析協定( Address Resolution Protocol ),用於在將網路位址跟網路卡的 MAC 位址進行定位(綁定)

由於效能上的要求,ARP 會將太久沒有上線的網路卡從快取表上剔除,這可以加速快取表的存取,但對於我們需要喚醒,但因為睡太久已經失去靜態 DHCP 分配的內部網路位址、又從 ARP 快取表上消失的指定電腦而言,問題就來了

而這也是為何我們需要進行 ARP 綁定(ARP Binding),就是將特定網卡與特定的網路位址進行定位(綁定),這樣即使那張網卡沒有分配到網路位址,路由器也知道這個喚醒訊號是給哪一張網路卡的

然而 ARP 綁定或類似的靜態 ARP(Static ARP Table )並不是每一台消費級的路由器會支援的功能,以華碩(ASUS)來說,RT-N10 擁有 ARP 綁定的功能,但之後某些冠以 AC 系列名稱開頭的機型似乎就沒有這個功能,而在網件(NETGEAR)來說,R7000 或是這個等級以上的機器『理論上』具有 ARP 綁定的功能,或是說網件的產品某種程度上都可以用除錯功能去設定靜態 ARP



只要在路由器的管理網址後面加入 debug.htm,就可以進入開發用介面

將 Enable Telnet 勾選後,就可以從 Telnet 中下指定進行特定網卡的 ARP 綁定,用完記得去把 Enable Telnet 關掉

只要在 ARP 快取表中看到類似 [ 內部網路位址 ] at [ 網路卡的 MAC 位址 ] [ether] PERM on br0 就是進行靜態 ARP 設定的網路卡跟對應的網路位址,即使網路卡是處於待機監聽的況狀,網路喚醒的封包也可以準確送到它那裡

然而,因為這個功能在各家路由器與其內建韌體的闡述跟運作都不同,因此也會有不同的情況發生

有些是支援 ARP 綁定(ARP Binding),這時那些有在 ARP 快取表上的裝置可以取得指定內部網路位址,即使下線,而其他外來裝置,即使不在 ARP 快取表上,也可以透過 ARP 請求登記在 ARP 快取表上,進而分配到內部網路位址而連上網路

而有些是只支援靜態 ARP,只有登記在 ARP 快取表上的裝置可以取得指定內部網路位址,其他外來裝置發起的 ARP 請求通常會被丟棄,也就是無法連線

而網件的產品只要是沒有支援 ARP 綁定的機型,在重新開機或是更新過 DHCP 設定表之類的操作後,ARP 快取表就會自動重新整理,之前下達的靜態 ARP 設定也會跑掉

而當原廠韌體無法解決你的需求時,最簡單的答案,就是刷機



由於 NETGEAR R6400V2 有版本差異,在 Telnet 中查詢版本最保險的,我的是常規的 U12H332T20_NETGEAR

其實 DD-WRT 在 Administration 這個分頁內就有支援透過路由器進行網路喚醒

不過我們要的是網路遠端喚醒,所以先到 NAT/QoS 那邊進行傳輸埠轉送( Port Forwarding )設定

其實 DD-WRT 在 WebUI 中預設是沒有提供 ARP 綁定的,但它可以用下指令的方式下達,而且在 Administration 這個分頁下的細選項就有 Commands 讓你可以執行 Telnet/SSH 等終端機環境下的指令

此外,你也可以將指令存成開機執行,這樣每次開機時就會自動執行,我就將「arp -s 10.0.1.x FF:FF:FF:FF:FF:FF」類似這樣的靜態 ARP 設定指令放在開機執行



在 Commands 中執行 arp 就可以看到 DD-WRT 的 ARP 快取表

而關於 TeamViewer 在遠端喚醒的技術說明,可以參考官方的技術文件

而 DD-WRT 在官方的技術維基百科也有專頁講述網路喚醒的設定跟原理,也講述了其實你可以透過 Telnet/SSH 從外網連上路由器的終端機介面,然後直接下達網路喚醒的指令

其實 TeamViewer 也在官方文件中說了,『透過同一區域網路上一台已經開機並綁定你帳號的電腦,可以喚醒另一台在同一區域網路上已關機電腦』,但這個大前提是你有一台已經開機而且登入 TeamViewer 的電腦在線上,很顯然的這個情境不適用於大部分情況,所以我建議大家還是乖乖設定靜態 ARP 跟傳輸埠轉送

此外,或許有人會好奇為什麼 PlayStation 4 可以達成遠端網路喚醒,即使它沒有設定過靜態 ARP 之類的設定,那是因為 PlayStation 4 在待機的情況下網路卡其實沒有關機而是有持續在連線,以確保網路卡的 TCP/UDP 連線不會過期,而不會被當作斷線而從 ARP 快取表剔除