引用 | 編輯
amore12
2008-11-26 00:57 |
樓主
▼ |
||
x0
此文網路資源轉載!!前言:這篇文章其實我原本不打算寫的,因為WIN32下服務器建立的教程實在太多了, 但應櫻寧MM的強烈要求,我還是寫了。如果你需要轉載,請註明出處,尊重他人勞動成果。謝謝! Ok, Lets get started. 你將需要: 一套正在運行的Win32系統(強烈推薦Win2003,好處是系統穩定和易於遠程維護) 一條互聯網接入線路 一些基礎的Windows服務器優化知識 一些HLDS超級管理方面的內容 硬件要求: Intel或者更加適宜的AMD處理器,主頻至少在1G以上(支持12人),(推薦20人的配置採用2G以上的主頻以取得流暢效果) 256M的內存(推薦512M內存) 基於2M速率的Cable/DSL接入(這樣大概支持10人),(推薦光纖接入,國內南方首選電信,北方首選網通,雙線會更好) 至少500M的磁盤空間(日誌及擴展) 註:如果你有專業服務器加光纖接入,那將是最理想的配置 如果你達不到要求,繼續讀下去已經沒有意義.......... 步驟一、去steam網站下載hldsupdatetool工具(http://storefront.steampowered.com/download/hldsupdatetool.exe),以便從Steam服務器下載服務器文件(這樣得出的服務器文件是最純淨和穩定的,我的純淨版服務器就是這樣製作出來的),如果你不想學習這部分內容,你可去下載我提供的「新迪酷CS1.6純淨服務器」版本,詳情請見:http://219.153.14.29:81/usr/bbs/ ... sid=ZN0q6g#pid7255)。 創建.txt文件,將以下寫內容進此txt文件,例子: START/HIGH HldsUpdateTool.exe -command update -game cstrike -dir . 將此txt文件重新命名為HldsUpdate.bat,並和HldsUpdateTool.exe放在一起,運行HldsUpdate.bat。註: 1、以上命令行僅適用於最版hldsupdatetoo.exe; 2、出現Connection Reset, WinSock Error 10054 "Connection reset by peer"時,需要找一個能正常登錄Steam的ClientRegistry.blob文件,把它複製到HLServer目錄下,再次重試。提供一個每日更新ClientRegistry.blob文件的下載地址:http://bbs.steamcn.com/viewthread.php?tid=3133&fpage=1。 步驟二、現在你已經擁有HLDS文件,,我們可以創建啟動腳本來運行你的CS1.6服務器。例如: START/HIGH hlds.exe -game cstrike +map de_dust2 +maxplayers 16 +servercfgfile 27016.cfg -port 27016 -insecure +sv_lan 0 □console +sv_region 4 將此內容保存成一個批處理文件,比如27016.bat。 參數解釋: -game cstrike 指定hlds建立的是cstrike的服務器 +map de_dust2 指定服務器開機運行時的第一張地圖為de_dust2 +maxplayers 22 指定服務器最大人數為16人 +servercfgfile 27016.cfg 指定使用27016.cfg作為服務器的配置文件,此文件必須放在cstrike目錄下。如果不指定,默認為cstrike目錄下的server.cfg文件。另外,在cs的lan game中建立的那種初級服務器,使用的是listenserver.cfg -port 27016 指定服務器的端口為27015。如果不指定,默認為2715 -insecure 關閉vac反作弊功能。vac反作弊打開的話需要先到vac服務器進行won認證。建議關閉VAC認證,使用CD反作弊器,下載地址:http://fi1.eu.unitedadmins.com/index.php?p=content&content=cd。 +sv_lan 0 指定服務器運行方式為因特模式。1為局域網模式,含義是無法在因特網列表刷新出來,但可在服務器列表中添加,並不是代表無法在因特網上找到服務器。 -console 以控制台模式啟動服務器 +sv_region 4 指定服務器區域為亞洲。利於中國玩家第一時間找到你的服務器 步驟三、配置server.cfg文件。如果在啟動參數中增加了+servercfgfile x.cfg,那麼你就要在cstrike目錄下新建立一個x.cfg文件,需要注意的是如果你想要服務器名字的支持中文顯示,你必須將其保存成UTF-8格式,負責顯示的是亂碼。在這裡我引用BoeZombie老兄翻譯的服務器配置參數說明(另外我在附件中提供了CPL、WCG等組織的比賽服務器配置文件作為參考),內容如下: 經常有朋友向我咨詢如何設置server.cfg,或者要我的server.cfg,而我的server.cfg沒有中文註釋,這次我參照國際比賽服務器server.cfg和很多資料,總結並翻譯了一個所謂的標準的比賽服務器server.cfg。 如果您的服務器名稱用中文,那麼請將server.cfg保存為UTF-8編碼。 這個server.cfg並不適合所有網絡狀況,請您根據自己的實際網絡狀況修改、增刪。 如果您覺得哪裡設置不妥或有疑問,本人期待您的批評指正、意見建議! ************************************************************** //CS1.6 比賽服務器腳本 by Boe rcon_password "rconpassword" // OP 密碼 // "" 表示沒有 hostname "CS1.6比賽專用服務器 #A01" // 服務器名稱 sv_region 4 // 服務器所在區域註冊參數 // 255=全球 // 0=美國東部 // 1=美國西部 // 2=南美洲 // 3=歐洲 // 4=亞洲 // 5=澳洲 // 6=中東 // 7=非洲 sv_rcon_minfailures 9999 // 允許輸入OP密碼 錯誤次數下限 // 達到下限則封禁對方的IP sv_rcon_banpenalty 5 // 封禁的時限 單位 分鐘 // 0=永久 sv_maxupdaterate 30 // 服務器每秒更新最大頻率 // 根據實際網絡狀況調節 // sv_maxrate / 300 = 要設的值 // 默認=30 // 局域=101 sv_minupdaterate 20 // 服務器每秒更新最小頻率 sv_unlag 1 // 玩家延時補償 // 0=關閉 // 1=開啟 (默認) sv_maxunlag 0.5 // 延時補償最大值默認 0.5 // 0.5=500毫秒 (默認) sv_voiceenable 1 // 服務器是否允許麥克風語音通訊 // 0=禁止 // 1=允許 (默認) sv_unlagsamples 1 // 延時補償數據包平均採樣數量 // 默認=1 sv_unlagpush 0 // 服務器推進延時補償 // 0=關閉 (默認) // 1=開啟 mp_autokick 0 // 自動踢除不動的玩家 // 0=關閉 // 1=開啟 (比賽默認) mp_autocrosshair 0 // 自動瞄準 // 0=關閉 (默認) // 1=開啟 mp_autoteambalance 0 // 自動平衡雙方人數 // 0=關閉 (比賽默認) // 1=開啟 mp_buytime 0.25 // 每回合購買武器裝備時間單位分鐘 // 比賽默認=0.25 mp_consistency 1 // 防止某些模型被更改 // 0=關閉 // 1=開啟 (默認) mp_c4timer 35 // C4爆炸倒計時單位秒 // 比賽默認=35 mp_decals 300 // 牆壁上的血花彈孔貼圖細節數據傳送(200-300) mp_falldamage 1 // 高處落下傷害 // 0=關閉 // 1=開啟 (默認) mp_fadetoblack 0 // 死後黑屏 // 0=關閉 (默認) // 1=開啟 mp_flashlight 1 // 手電筒 // 0=禁止 // 1=允許 (默認) mp_forcechasecam 2 // 死後跟隨 // 0=所有玩家 // 1=僅隊友 // 2=僅隊友,主視角 (比賽默認) mp_forcecamera 2 // 死後視角選擇 // 0=全部視角 // 1=僅隊友,全部視角 // 2=僅隊友,主視角 (比賽默認) mp_footsteps 1 // 腳步聲 // 0=關閉 // 1=開啟 (默認) mp_fraglimit 0 //殺人數上限(1~n),超過上限就換地圖 // 0=關閉 (默認) mp_freezetime 7 // 每回合開始凍結時間單位秒 mp_friendlyfire 1 // 友軍傷害 // 0=關閉 // 1=開啟 (默認) mp_friendly_grenade_damage 1 // 友軍手雷傷害 // 0=關閉 // 1=開啟 mp_hostagepenalty 0 // 懲罰人質殺手 // 0=不懲罰 (默認) // 1~N=人質被殺數量,超過則踢出該玩家 mp_limitteams 10 // 兩隊人數差異上限 // 超過此上限,新玩家只能當觀察員 // 比賽默認=10 sv_logbans 1 // 服務器日誌裡記錄Ban掉玩家的內容 // 0=不記錄 // 1=記錄 mp_logecho 1 // 將服務器日誌反饋到控制台 // 0=關閉 // 1=開啟 mp_logdetail 3 // 服務器日誌裡記錄攻擊信息 // 0=不記錄任何信息 // 1=記錄敵人攻擊 // 2=記錄隊友攻擊 // 3=記錄所有攻擊 mp_logfile 1 // 服務器記錄日誌為文件 // 0=不記錄 // 1=記錄 mp_logmessages 1 // 服務器日誌裡記錄談話內容 // 0=不記錄 // 1=記錄 mp_maxrounds 0 // 回合上限,達到此上限,自動重新載入新地圖 // 0=無回合上限 (默認) mp_playerid 0 // 當準星指向敵人或隊友時,顯示他們的名字 // 0=顯示所有人(比賽默認) // 1=僅顯示隊友 // 2=不顯示 mp_roundtime 1.75 // 每回合時限單位分鐘 mp_timelimit 0 // 地圖最大時限,達此時限,自動重新載入新地圖 // 0=無時限 mp_tkpunish 0 // 懲罰隊友殺手 // 0=關閉 (默認) // 1=開啟 mp_startmoney 800 // 第一回合開始金錢(800~16000) // 加時賽=10000 mp_winlimit 0 // 一方最大勝利回合數,達到此數量,自動重新載入新地圖 // 0=無限制 (默認) sv_aim 0 // 自動瞄準 // 0=關閉 (默認) // 1=開啟 sv_airaccelerate 10 // 玩家在空中移動的速度 // 默認=10 sv_airmove 1 // 在空中移動&轉向 // 0=禁止 // 1=允許(默認) sv_allowdownload 1 // 客戶端下載服務器資源 // 0=禁止 // 1=允許 (默認) sv_allowupload 1 // 客戶端上傳自己的噴圖 // 0=禁止 // 1=允許 (默認) sv_alltalk 0 // 警匪通話 // 0=禁止 (默認) // 1=允許 sv_proxies 1 // HLTV代理 // 0=禁止 // 1=允許 (默認) sv_cheats 0 // 作弊模式 // 0=關閉 (默認) // 1=開啟 sv_clienttrace 1.0 // 客戶端模型的範圍框的尺寸 // 默認 1.0 sv_clipmode 0 // 鎖定客戶端快速模式 // 0=關閉(默認) // 1=開啟 sv_contact cschina2008@163.com // 服務器構建者的聯繫郵箱 sv_friction 4 // 地面摩擦力默認 4 // 數值越低,摩擦越小 sv_gravity 800 // 重力默認 800 sv_maxrate 25000 // 服務器最大傳輸速率 <0-25000> // (服務器上傳帶寬 x 125) /服務器設定的最大人數 = 要設的值 // 0=無限制 // 局域=25000 sv_maxspeed 320 // 客戶端最大移動速度 sv_minrate 0 // 服務器最小傳輸速率 <0-25000> // 0=無限制 sv_restartround 0 // 重新開始第一回合在n秒後 sv_restart 0 // 重新開始遊戲在n秒後 // 作用等同於sv_restartround sv_send_logos 1 // 客戶端相互之間傳送噴圖 // 0=禁止 // 1=允許(同時確保sv_allowdownloads鍵值為1) sv_sendvelocity 0 // 服務器混合物理運算,適用於較好配置的服務器 // 0=關閉 // 1=開啟 sv_send_resources 1 // 自動向客戶端傳送地圖關聯的 & .res文件裡包括的資源文件 // 0=關閉 // 1=開啟(同時確保sv_allowdownload為1) sv_stepsize 18 // 玩家的步伐距離 // 默認 18 sv_stopspeed 75 // 玩家停止移動時的速度默認 75 sv_timeout 65 // 客戶端連接服務器超時的時限,達到時限則斷開連接 sv_voicecodec voice_speex // 語音通話解碼 // voice_miles是HL引擎長期以來用的語音解碼(默認),佔用帶寬較大,為32kbps // voice_speex是Valve新加入的解碼,優於voice_miles,佔用帶寬較少,為2.4kbps至15.2kbps sv_voicequality 5 // 客戶端語音通話質量(確保sv_voicecodec voice_speex) // 1=非常差...........佔用帶寬 2.4 kbps // 2=差...............佔用帶寬 6.0 kbps // 3=中等.............佔用帶寬 8.0 kbps // 4=好...............佔用帶寬 11.2 kbps // 5=非常清晰.........佔用帶寬 15.2 kbps allow_spectators 1 // 觀察員模式 // 0=禁止 // 1=允許 decalfrequency 60 // 玩家噴圖的時間間隔單位秒 edgefriction 2 // 玩家與玩家、牆壁、物體之間的摩擦 // 默認 2 host_framerate 0 // 與Demo錄製有關 // 0<n<1 為慢錄 // n=0 為正常(默認) // n>1 為快錄 log on // 開始記錄日至 pausable 0 // 客戶端暫停遊戲 // 0=禁止 // 1=允許 mapcyclefile mapcycle.txt // 地圖循環列表所在的.txt文件 // *.txt = cstrike\*.txt文件 花絮一: 在這次整理和翻譯過程中,有幾個參數的含義比較麻煩,因為要讓大家明白這些參數的意義,我測試了多次,才弄清楚: 例如:mp_forcechasecam 、mp_forcecamera這兩個參數,比賽的時候它們的鍵值均為2 。 而網上大多都是對mp_forcechasecam 的解釋: 死掉的人:0自由模式、1只能跟著自己隊友走動、2屍體視線留在原地。 後來我發現,這個解釋也是翻譯的國外的,但是CS1.5,甚至更早的版本了,所以這個解釋一直沿用到了CS1.6。 但經過我測試,當mp_forcechasecam鍵值為2時,並不是「屍體視線留在原地」,而是主視角+跟隨隊友。 那麼既然mp_forcechasecam鍵值為2時是主視角+跟隨隊友,為什麼比賽時還要將mp_forcecamera鍵值設為2呢? 經過我的多次測試得出了大家看到的解釋: mp_forcechasecam 2 // 死後跟隨 // 0=所有玩家 // 1=僅隊友 // 2=僅隊友,主視角 mp_forcecamera 2 // 死後視角選擇 // 0=全部視角 // 1=僅隊友,全部視角 // 2=僅隊友,主視角 下面我將測試過程給大家寫出來,為了簡化和便於理解,我下面的描述將mp_forcechasecam 用「A」代替,mp_forcecamera用「B」代替: 當A=0,B=0時,效果=全部視角+所有活人; 當A=0,B=1時,效果=全部視角+本隊活人; 當A=0,B=2時,效果=第一視角+本隊活人; 當A=1,B=0時,效果=全部視角+本隊活人; 當A=1,B=1時,效果=全部視角+本隊活人; 當A=1,B=2時,效果=第一視角+本隊活人; 當A=2,B=0時,效果=第一視角+本隊活人; 當A=2,B=1時,效果=第一視角+本隊活人; 當A=2,B=2時,效果=第一視角+本隊活人; 現在很容易看出,其實只要A或B其中一個鍵值為2,那麼就是[第一視角+本隊活人],比賽服務器則是為了確保萬無一失,而將兩個參數的鍵值都設為了2。 **************************************************************** 花絮二: 還有值得一說的的參數,就是: sv_voicecodec voice_speex 語音通話解碼選擇,voice_miles是HL引擎長期以來用的語音解碼(默認),佔用帶寬較大,為32kbps,而voice_speex是Valve新加入的解碼,優於voice_miles,佔用帶寬較少,為2.4kbps至15.2kbps 。 大家仔細看看自己的CS(CZ)客戶端、服務器端的主目錄,就會發現voice_miles.dll和voice_speex.dll文件,說到speex解碼,我想用過TeamSpeak2的朋友可能都記得,TS2採用多種語音解碼,其中就包括speex解碼,而且在TS2里,我認為通話效果最好的就是speex解碼!而且帶寬有多種選擇! 而CS默認是用voice_miles,根據國外資料表明,該解碼佔用帶寬較大,不被推薦。所以這次的server.cfg整理過程中,我向大家推薦speex解碼。 sv_voicecodec voice_speex // 語音通話解碼 // voice_miles是HL引擎長期以來用的語音解碼(默認),佔用帶寬較大,為32kbps // voice_speex是Valve新加入的解碼,優於voice_miles,佔用帶寬較少,為2.4kbps至15.2kbps sv_voicequality 5 // 客戶端語音通話質量(確保sv_voicecodec voice_speex) // 1=非常差...........佔用帶寬 2.4 kbps // 2=差...............佔用帶寬 6.0 kbps // 3=中等.............佔用帶寬 8.0 kbps // 4=好...............佔用帶寬 11.2 kbps // 5=非常清晰.........佔用帶寬 15.2 kbps 步驟四、配置motd.txt文件。此文件的作用是進入服務器時,所顯示的歡迎窗口的內容,這是一個HTML格式的文件,如果你不懂HTML語法,建議你不要在它上面花費精力,你可用我附件中文件自行修改。當然如果你想要你服務器凸顯個性,你就要好好去學習一下HTML語法了 步驟五、配置mapcycle.txt文件。mapcycle.txt是地圖文件循環的順序文件,裡面寫的都是地圖文件名,不帶後綴,如cs_747.bsp,只取cs_747。地圖在Hlserver\cstrike\maps目錄下,將你想循環的地圖挑出來,然後將文件名按上面所說的規則輸入mapcycle.txt中,每個地圖之間用硬回車隔開。加入的新地圖不僅要把.bsp文件拷到Hlserver\cstrike\maps目錄下,也要在mapcycle.txt裡面加入新地圖的名稱,切記! 步驟六、破解你的HLDS服務器為免steam認證。附件有下載,下載破解文件並覆蓋到HLDS的根目錄即可。 步驟七、加載CD插件。,如果不明白的可發帖咨詢我。其它插件(比如服務器加速插件、AMXX、AMX等). 步驟八、啟動服務器。執行你建立的服務器啟動腳本27016.bat文件即可。 至此,一個簡單的、基本的CS服務器建立完成。建議再去學習我的另外一篇文章《CS1.6服務器網絡參數配置說明(如何當好一個合格的OP)》。 x0
|