銀河生死鬥 : 復仇

魔劍

美國陸軍

魔獸爭霸III 寒冰覇權

Linux 相關文件

各式文件

網站連結

檔案下載

各式圖片

[ 新聞 ]  [ 更新紀錄 ]  [ 記事本 ]  [ 注意事項 ]  [ 關於本站 ]  [ 電子郵件 ]

[ 04 / 01 / 2010 ]

Darkest Hour: Europe '44-'45(以下簡稱 Darkest Hour)是 Red Orchestra: Ostfront 41-45 的免費模組。不同於主程式的東線戰場、德軍 vs. 俄軍的內容,Darkest Hour 將場景搬到更為一般人所熟知的西線戰場,也就是英美 vs. 德軍。然而 DR 並不是要寫 Darkest Hour 的遊戲評析,而是分享一些在遊戲中所引發、對於美德兩國步兵裝備和戰術上的感想(沒錯,今天不談坦克也不談英軍)。

原本 Red Orchestra 中的雙方步兵武裝尚屬平衡,甚至德軍某些程度還小佔了點優勢:例如擁有性能卓越的 MG34、MG42 機槍,以及當時首創的 StG44 突擊步槍(不過量少)等等。但是到了 Darkest Hour,DR 只能說美軍步兵的火力水平實在德軍之上,並且這樣的落差明顯影響遊戲勝負!

真有那麼明顯嗎?請聽 DR 娓娓道來……首先最大的關鍵是美軍所使用的 M1 加蘭德步槍(M1 Garand) 。

M1 加蘭德的優勢在於半自動,當時手動步槍還是各國陸軍的主流,但老美卻是唯一的例外,美國在二戰時期全面換裝 M1 加蘭德,原因來自於老美認為步兵班中的每一個人都應該要能夠發揚火力,這點跟德軍的思維就很不一樣。德軍的步兵班是機槍導向,機槍手才是火力,至於其他人 的「存在目的」則主要是為了掩護機槍手……

OK,我們都知道老美最終贏了戰爭,半自動/全自動步槍也在二戰後取代手動步槍成為世界主流,但回到 Darkest Hour 這款模組,史實上的思維歧異怎麼會具體的影響到虛擬的電玩遊戲?原因有以下幾點:

1.
美軍步兵最至少都擁有半自動步槍,德軍則否,因此美軍在遊戲裡的個人生存能力明顯在德軍之上,這尤其體現在巷戰和室內戰,德軍在相對上要擁有密切的團隊合作才能生存。

2.
手動步槍射擊所需的間隔太容易使敵人脫身或反擊,使用半自動步槍則否,若處於良好射擊位置甚至可以有效牽制整個班或是構成火力壓制。

3.
除了 M1 加蘭德外,美軍的其它步兵武器也都是一時之選(M1 卡賓、湯普森、BAR 等),因此就算有部份德軍步兵可以使用較有火力的武器,整體也不具戰場優勢。

4.
德軍比美軍更依賴非個人、以班為單位的作戰方式,但在雜魚充斥的虛擬電玩世界裡很難確保團隊性……

可能有曾經玩過「決勝之日」(Day of Defeat, DoD)的玩家會覺得:DoD 的雙方裝備也是如此,但玩起來並沒有特別不平衡啊?呃,這是因為 DoD 並不需要貼腮射擊、也不需要自己拉槍機,但這兩個動作在 Red Orchestra/Darkest Hour 裡卻都是必要的……

雖然 Darkest Hour 在設定上已經給德軍提昇一個等級:許多關卡的德軍都是黨衛軍(Waffen-SS),半自動、全自動武器的可用比例也因此提高,但美軍普遍使用 M1 加蘭德所產生的火力優勢在遊戲裡頭仍然明顯。

附註:不知為何,Darkest Hour 玩起來竟然會讓 DR 聯想到《集結號》這部電影,反而不是一狗票的西方二戰電影……

[
11 / 12 / 2009 ]

上 週日(11/08)一整天 DR 的網站(Fedora 10)都無法順利連結,而前因是 DR 在前一日、也就是週六做例行的套件更新以及自動關機程序,隔天出門前將伺服器開機後走人,後來發現網站連不上,等到晚上回家後才發現 httpd 因為 mod_secuity 模組的關係無法啟動。查看錯誤訊息是無法載入設定檔案,於是去檢查設定檔所在的目錄,發覺路徑不對,就調整了一下,但檔案也有缺,所以就想上網查清楚到底 怎麼回事,才發現是套件出了包:

https://bugzilla.redhat.com/show_bug.cgi?id=533124

只要把套件從 2.5.10-1 更換成 2.5.10-2 即可,不過在那當下 yum 更新還抓不到最新的套件,DR 只好從這裡抓下來解決:

http://koji.fedoraproject.org/koji/buildinfo?buildID=140180

更新之後,httpd 可以啟動了,然而新的問題是 DR 網站裡一個叫做「document.gif」的圖檔被擋住了,查看 error.log 發現又是 mod_secuity 所為:

[Thu Nov 12 00:26:05 2009] [error] [client 61.64.173.115] ModSecurity: Warning. Operator GE matched 5 at TX:anomaly_score. [file "/etc/httpd/modsecurity.d/base_rules/modsecurity_crs_60_correlation.conf"] [line "41"] [msg "Transactional Anomaly Score (score 20): Detects very basic XSS probings"] [hostname "darkranger.no-ip.org"] [uri "/image/document.gif"] [unique_id "SvrlnX8AAAEAAC0TRNwAAAAA"]

查了一 下什麼是 XSS,原來就是傳說中的「跨網站指令碼攻擊」,但是這個圖檔非常單純,憑什麼擋下來?所以 DR 做了點實驗,把 document.gif 重新命名為 document2.gif,竟然就過了,這規則也太腦殘了吧?然而 DR 的網頁都是手工的 HTML,為了一條有問題的規則動輒挖出所有網頁改內容,儘管用批次處理做得到卻不太應該,應該還是要從規則著手才是。

於是把 modsecurity_crs_60_correlation.conf 裡頭那行規則註解掉,再將 httpd reload,log 雖然沒訊息了,但圖檔還是被擋,這時 DR 陷入了極大的困惑和不解,並且驚覺自己對 mod_secuity 的設計非常非常的不熟!接下來 DR 查了點文件,認為 modsecurity_crs_60_correlation.conf 大概只是處理 log 的輸出,真正的抵擋規則在別的檔案,直接按字面上檢查 modsecurity_crs_41_xss_attacks.conf 卻看不出個所以然。只好使出殺手鐧,設定檔一個個給 httpd 載進去試,看是載了哪個檔案後被擋下來。然而最後一路到 modsecurity_crs_49_enforcement.conf 才擋下來,而裡頭的規則只是按分數執行抵擋結果而已,並沒有判定 XSS 攻擊的部份。顯然各個設定檔有交互參照性,試到這裡就夠了,還是有請專業吧。

最後 DR 把問題丟到 Core Rule Set 的 mailing list,得到以下的回覆:其實要檢查的是 modsec_audit.log,裡頭可以找到究竟是哪裡的規則把它擋下來,於是 DR 參照 log,鎖定 modsecurity_crs_41_phpids_filters.conf 這個檔案,將裡頭的一條規則註解掉解決,在還沒搞清楚如何撰寫規則前就先這樣處理了。

補充資料,以 mod_security 的中文文件來說,以下這篇是 DR 目前為止找到最「好看」的:

http://support.oss.org.tw/wiki/index.php/ModSecurity

[
10 / 14 / 2009 ]

DR 總是想再寫點關於 Linux、應用軟體、甚至是遊戲相關的文章,無奈最近實在是忙,而這個「忙點」最極致應該會一路延續到聖誕節……不過至少在這週主日過後,DR 可能是會有空寫點東西的。

[
09 / 07 / 2009 ]

三 號機(也就是 DR 的個人網站伺服器)原本打算從 Fedora 9 升級到 Fedora 11,然而上網查了一下發現兩個版本之間的不相容性極高(主要是因為 rpm 套件管理工具的改版),於是為求慎重,就先升級到 Fedora 10,日後的升級則再看著辦。其實三號機所提供的服務非常簡單、單純,所以要直接重灌新系統也並不困難,只是若能使用 yum 直接升級當然也較方便,相關的升級資訊可參考:

http://fedoraproject.org/wiki/YumUpgradeFaq


2009存檔2008存檔2007存檔2006存檔2005存檔2004存檔