當前位置:首頁 » 操作系統 » 戰網源碼

戰網源碼

發布時間: 2022-11-12 10:51:24

『壹』 CS1.6伺服器的架設,包括AMX插件的加入方法

伺服器完全架設手冊
沒有人一生出來就什麼都會的,同樣我也是什麼都不會,自己慢慢學的。我知道Dcoo上有很多高手,如果本文有錯誤的地方,請不吝指正。以下基本都是偶在Dcoo等論壇上學到的伺服器架設經驗之談,發出來給大家看看,讓大家都從菜鳥轉型為初級的伺服器架設高手。言歸正傳,一步一步來:
一、 首先
你必須要有個高配置的電腦,如果是做伺服器的話,最好內存是在512M以上的機器,至於 內存 CPU 等對架設CS伺服器的影響,請查看其他帖子!然後是要了解的是,你上網的網路結構,是通過 Modem+路由+交換機 上網,還是用 代理伺服器+交換機 上網,我的論壇的帖子也有介紹,在此我就不在多餘重復說了。可以到我簽名的地址去看看!
二、 CS的伺服器端文件

由於現在CS1.6已經是比賽的版本了,所以偶就以1.6的為主,1.5的其實也一樣的,但是會少了很多的特效,比如1.5就不支持中文等。這里提供的是DcOo 1.6 3213的伺服器端版本。
三、開始設置伺服器
完成以後,先不要運行,運行的話是進入游戲,而不是開始伺服器!進入剛才安裝的那個文件夾,找到Hlds.exe文件,創建一個快捷方式,如圖:

然後把剛才那個快捷方式改一下名字,方便以後使用,偶改為Server,接下來是重點了。。。。請注意聽了哦!
看到hlds.exe 後面那裡的參數了沒?

那裡就是伺服器運行的時候必須要用到的啟動參數,參數不同,伺服器運行的效果也不同!以偶的為例,
-game cstrike +servercfgfile server.cfg -nomaster -insecure -port 27016 +maxplayers 32 +map de_st2 +sv_lan 1 –console
偶一個一個解釋好了:)
-game cstrike 這個就是指定以反恐精英為游戲的Mod,如果不指定的話就是半條命的模式,聽說也不錯很好玩的哦,沒玩過

+servercfgfile server.cfg 這個就是指定伺服器的配置文件,server.cfg這個文件放在cstrike下,後面偶會詳細介紹一下該文件的

-nomaster 載入這個參數就是讓伺服器不上WON認證,避免因為出國網路不通導致的伺服器問題。

-insecure 這個參數偶一下想不起來是幹嘛用的了。其他知道的朋友,請指教,謝謝!

-port 27016 指定伺服器運行時候的埠,范圍最好是在27015-27020 之間,據我的測試,區域網列表能刷出來的就是在這個范圍內,當然,如果你想用來做比賽伺服器不想讓其他人進的話,你可以指定任意不被佔用的埠。

+maxplayers 32 這個參數是指定伺服器最大進入玩家數,理論上最高能進32人,有的地圖最高只能進20人,比如CS_italy 那些早期救人質的圖都這樣的。並不是說一定要以32人為最大,這個要和你的網路狀況及伺服器配置相聯系的,關於CPU 內存 網路帶寬 之間的聯系,請在Dcoo上搜索一下,或者到我的論壇去查找一下,只有人數合適了,你的伺服器才能運行在快速穩定的狀態!

+map de_st2 這個參數就是當伺服器一開始運行的時候,運行的第一張地圖,你可以該為任意的,但是要注意,最好以 cstrike\maps 目錄下的地圖,不然伺服器會出錯!

圖中,以bsp為結尾的文件都是地圖文件,注意:參數不用帶文件全名,例如 de_st2 就可以了, 沒必要這樣 de_st2.bsp

-console 控制台,如果不帶這個參數的話,你架設好的伺服器就不能在那個黑底白字的窗口上輸入一些伺服器命令

+sv_lan 1 這個參數是控制該伺服器是區域網還是戰網的一個重要參數,當為 0 的時候,外網玩家也可以進入,當為 1 的時候,就只有區域網的玩家才能進入。如果要做面向公網和內網(不知道什麼叫公網和內網的,請自己找資料學習),這個參數建議為 0
綜合以上講解,很容易了解,

-game cstrike +servercfgfile server.cfg -nomaster -insecure -port 27016 +maxplayers 32 +map de_st2 +sv_lan 1 -console

用這些個參數架設的伺服器是一個CS1.6反恐精英,不通過WON驗證,游戲埠為27016,人數最多為32人,開始游戲地圖為沙漠2,面向區域網的伺服器!

如果要面向內外網的話,去掉 -nomaster +sv_lan 1這兩個參
參數配置正確了,就可以開始運行伺服器了?別急,還沒配置完全呢,還有一個比較重要的文件server.cfg還沒配置呢!

進入安裝目錄的cstrike下,你可以看到一個Server.cfg文件,這個文件是一個文本文件,但是沒和任何文本編輯軟體關聯,也就是說,當你打開的時候,系統會提示你打開方式,你可以選擇用記事本打開。打開以後你會看到如下的信息:
(注意:一下信息是毛毛蟲在當時編寫的時候Server.cfg文件。而我在編寫的時候沒有參考毛毛蟲的腳本而是依照國際比賽伺服器的標准而設置的,這點要千萬注意!!)
rcon_password "dcoo"
hostname "迪酷網 DcOo CS1.6 Server"
sv_maxspeed 320
mp_autokick 0
mp_autocrosshair 0
mp_autoteambalance 0
mp_buytime 0.25
mp_consistency 1
mp_c4timer 35
mp_fadetoblack 1
mp_falldamage 1
mp_flashlight 1
mp_forcecamera 3
mp_friendlyfire 1
mp_freezetime 10
mp_fraglimit 0
mp_hostagepenalty 0
mp_limitteams 6
mp_logfile 1
mp_logmessages 1
mp_logdetail 3
mp_maxrounds 0
mp_playerid 0
mp_roundtime 2.5
mp_startmoney 800
mp_timelimit 60
mp_tkpunish 0
mp_winlimit 0
sv_aim 0
sv_airaccelerate 10
sv_airmove 1
sv_allowdownload 0
sv_clienttrace 1.0
sv_clipmode 0
sv_allowupload 0
sv_cheats 0
sv_gravity 800
sv_maxrate 25000
sv_maxspeed 320
sv_maxupdaterate 101
sys_ticrate 10000
decalfrequency 60
pausable 0
log on
decalfrequency 60
edgefriction 2
host_framerate 0
exec listip.cfg
exec banned.cfg

哇*,,,Dcoo的也太簡單了吧,我記得以前還帶解釋的,現在這么都這樣了呢?!

不管他,反正我也看得懂是啥意思,我來解釋好了!只解釋一些常用的,沒解釋到的推薦用默認值。一般 0 為關 1 為開

rcon_password "dcoo" 這個是進入伺服器的密碼,如果不改的話,就相當於是一個帶密碼的伺服器,推薦去掉 "" 裡面部分
hostname "迪酷網 DcOo CS1.6 Server" 伺服器的名字,這個當然要改的了,改為你想改的名字就行了
sv_maxspeed 320 重力速度什麼的,不推薦修改用默認的好了。。
mp_autokick 0 自動踢人,當某位玩家因為一些其他的因素,常時間不動或者死機等,系統就會踢除該玩家,0 為關 1為開
mp_autocrosshair 0 准心的大小自動調節,建議不要改
mp_autoteambalance 0 雙方自動平衡,建議開啟,否則會出現兩邊隊伍人數不平衡
mp_buytime 0.25 購買武器時間 以60秒為單位,60*0.25=15秒
mp_c4timer 35 C4爆炸時間,國際比賽好像是35秒,推薦用這個值就行了
mp_fadetoblack 1 死後黑屏,推薦改為0
mp_falldamage 1 跌落損傷,這個不用改
mp_flashlight 1 手電筒開啟
mp_forcecamera 3 死亡後視角 有0 1 2 3 三種模式,其中0 為視角固定模式 1 為僅限隊友視角 2 為僅限隊友第一視角 3為自由觀看模式
mp_friendlyfire 1 自傷模式,自己人能打自己人,不是比賽服的話推薦關掉
mp_freezetime 10 開始買槍時候的靜止不能行走的凍結時間,10秒也太誇張了。3秒就夠了
mp_roundtime 2.5 每回合的時間,以分為單位,2.5為兩分半鍾,推薦改為3或者3.5 如果是死亡模式的話可以改為5
mp_startmoney 800 開局資金,一般都是800 最高可以改為16000 不推薦改!
mp_timelimit 60 每個地圖玩的時間 60分鍾合適了。如果改為0 的話就是不限制時間
mp_tkpunish 0 Team Killer 就是上局殺了自己方人的,這局就會挨懲罰,好像是死一局,開啟為1 要和之前那個mp_friendlyfire 1同時開啟才用用
mp_winlimit 0 當某方勝利多少局的時候換圖,0 為關閉
當然還有其他比較詳細的介紹,我這個只是大概介紹一下,偶發偶服的出來給大家看看:

sv_password ""
rcon_password "feilang"
hostname "南寧市飛浪網CS1.6比賽服 [CD]"
sv_maxrate 10000
sv_minrate 1000
sv_maxspeed 320
// 暫停游戲 禁止0/允許1
pausable
// 作弊模式 關閉0/開啟1
sv_cheats 0

// 自動瞄準 關閉0/開啟1
sv_aim 0
// 戰術手電筒 允許1/禁止0
mp_flashlight 1
// 腳步聲 開啟1/關閉0
mp_footsteps 1
// 高處落下傷害 開啟1/關閉0
mp_falldamage 1
// 自動踢出不動的玩家 開啟1/關閉0
mp_autokick 1
// 觀察員模式 開啟1/關閉0
allow_spectators 1
// 服務端設定游戲復位的時間,包括殺人數、武器、金錢和得分。設0不復位。
sv_restartround 2
// 每局時間30分鍾
mp_timelimit 45
// 購買武器凍結時間 (0-45)建議5秒以內。
mp_freezetime 3
// 每回合4分鍾
mp_roundtime 3
//購買武器裝備時間(0.25-1.5)即15秒-90秒
mp_buytime 0.25
// 炸彈倒計時時間 (15-75)
mp_c4timer 35
//開始游戲時的金錢數量(800-16000)
mp_startmoney 800
// 死亡後視角 1本隊隊友 2原地 0無限制
mp_forcechasecam 1
// 死亡後視角模式 0自由跟隨/1固定跟隨
mp_chasecam 1
// 人物死亡後屏幕 不變黑0/變黑1
mp_fadetoblack 0
// 友軍誤傷 關閉0/開啟1
mp_friendlyfire 0
// 手雷友軍傷害 關閉0/開啟1
mp_friendly_grenade_damage 0
// 殺害友軍懲罰 0不懲罰/懲罰:殺害隊友超過(1-n)人,下一回合自動死亡
mp_tkpunish 0
// 自動調整雙方隊伍平衡 不調整0/調整(1-n)個人
mp_autoteambalance 1
// 雙方人數差超過n人即自動調整人數差異 0關閉
mp_limitteams 2
// 殺害人質懲罰 0不懲罰/懲罰:規定時間內傷害人質超過(1-n)人自動踢出
mp_hostagepenalty 0
// 殺人數、得分上限 無0/有(1-n),超過上限就換地圖。
mp_fraglimit 0
// 勝利次數上限無0/有(1-n),超過上限就換地圖。
mp_winlimit 0
// 回合上限 無0/有(1-n),超過上限就換地圖。
mp_maxrounds 0
// 允許下載 開啟1/關閉0
sv_allowdownload 1

// 允許下載(sv_allowdownload 1)開啟時控制是否允許玩家的LOGO傳送 允許1/禁止0
sv_send_logos 1
// 允許下載(sv_allowdownload 1)開啟時控制是否允許資源文件傳送 允許1/禁止0
sv_send_resources 1
// 允許上傳 關閉0/開啟1
sv_allowupload 1
// 伺服器重力設置 默認正常重力800,范圍-999到99999
sv_gravity 800
// 投票比率(大家可以通過投票踢出作弊者和更換地圖) (0.1-1)
mp_mapvoteratio 0.6
// 設定鬼魂模式刷新值(0.1-1)
mp_ghostfrequency 0.1
// 伺服器高品質紋理 關閉0/開啟1
sv_sendvelocity 0
// 伺服器減少LAG延遲現象(對伺服器要求高) 關閉0/開啟1
mp_lowlag 0
// 伺服器細節數據發送 默認300 ,可減低到250、200,改善速度。
mp_decals 300
// 伺服器是否允許麥克風語音通訊 允許1/禁止0
sv_voiceenable 1
// 伺服器是否允許客戶端之間使用語音通信 允許1/禁止0
sv_alltalk 0
sv_region 4
//區域 4為亞洲

cdrequired "1"
cdrequiredversion auto
//為1 是需要CD ,第二行為自動檢測CD版本
// 伺服器是否記錄文件 不記錄0/記錄1
mp_logfile 0
// 是否在記錄文件里記錄談話內容 不記錄0/記錄1
mp_logmessages 0
// load ban files
exec listip.cfg
exec banned.cfg

紅色字體部分復制下來,粘貼入你的server.cfg文件,就和我的伺服器設置一樣了,當然你要記得改密碼和伺服器名字哦!
當然,你也可以直接用cs1.6目錄下那幾個bat批處理文件架設的伺服器!

編輯一下 setmaster add 69.28.151.178:27010 看到沒有,這個肯定不是你的IP,你要做的就是改為你自己的IP 。注意哦,192.168.X.X這個不是你的公網IP,這個是你的區域網IP,如果你是網吧的技術員的話,自己想法子找到你網吧用的線路的IP,然後做好對應的埠映射,映射已經超出本帖的范圍了,在此先不教。相關的請到我的論壇去看找一下各種路由的映射方法。

接下來就要解釋一下其他幾個個性化伺服器必須要修改到的文件,這兩個也是其中的一部分:

mapcycle.txt 地圖列表文件,也就是當伺服器運行的時候,就只會在這個文件中有的地圖之間從上到下運行,
de_st2
de_inferno
de_cbble
de_train
de_nuke
de_cpl_mill
de_aztec
de_st
從第一個到最後一個,然後在循環
motd.txt 這個文件比較特殊,這個就是當玩家進入你的伺服器的時候,看到的第一個歡迎logo,它是以文本文件形式存在,但是確實一個html網頁的源碼,如果你有網頁製作的功底的話,可以做得很好看,在此我就獻丑,放一下我對這個文件修改以後的效果給大家看看:

如果你沒那個功底,你可以找會的朋友幫你做一個,不是很難。
接下來的就是問最多的插件問題了,點擊這里下載用到的文件
解壓到cstrike的addons目錄下,完成後目錄結構如下:

第一個amxmodx 是amx插件的主文件夾,其下的configs 是一些插件的設置amxx.cfg 是一些amx的設置,plugins.ini是插件的調用配置管理,users.ini 是用戶配置文件,用戶的一些許可權都是在這里設置的。amxmodx\doc 裡面有個幫助文件,那裡可以學到更多關於amx的管理和使用,amxmodx\plugins 是一些插件的源碼文件的存放位置,大致介紹各個文件夾放在什麼位置,等下偶會詳細解釋最主要的amx.cfg 和plugins.ini還有 users.ini的配置!

addons\Booster 這個是伺服器加速插件,推薦一定要開啟,那樣伺服器才能運行在一個高速的狀態下;開啟於關閉我會在後面介紹;

addons\cdeath 這個是CD反作弊伺服器版的文件,很多朋友都不知道怎麼樣使用,偶等下在介紹吧!

addons\metamod 下的 plugins.ini addons\amxmodx\configs 下的 plugins.ini 又不同,這個plugins.ini 是所有插件的基礎,另外一個只是針對amx載入的插件!

所以接下來可能要花很長的時間和篇幅對以下插件進行講解:

addons\metamod\plugins.ini
addons\amxmodx\configs\amxx.cfg
addons\amxmodx\configs\plugins.ini
addons\amxmodx\configs\users.ini

現在我開始講解一下所有插件的根基,addons\metamod\plugins.ini 的配置吧!

win32 addons\booster\booster_mm.dll 這個是伺服器的加速插件,如果不載入這個東西的話,伺服器最高不超過99Fps
;win32 dlls\chicken_mm.dll 這個是一個娛樂用的,也就是變成小雞的插件。
;win32 addons\amx\dlls\amx_mm.dll 這個是載入amx的插件,如果不載入的話,很多基於amx的插件就用不了,比如死亡
;win32 addons\amx\dlls\fun_ms.dll 這個也是死亡和魔獸伺服器中必須要用到的插件
;win32 addons\amx\dlls\csstats_ms.dll 這個也是死亡和魔獸伺服器中必須要用到的插件
;win32 addons\amx\dlls\war3_ms.dll 這個是Amx的一個子插件,魔獸插件,可以在該plugins.ini 中配置,也可以在另外那個plugins.ini (addons\amxmodx\configs\plugins.ini )中載入但是就只能載入一個,重復的不算
;win32 dlls\monster_mm.dll 這個也是Amx的一個子插件,同樣可以在這里配置也可以在另外那個 plugins.ini 中配置
;win32 addons/wwcl/dlls/pcawwclconfig_mm.dll WWCL 這個是一個規則插件,某種程度上也能防到某些玩家作弊
win32 addons/cdeath/cdmod.dll 這個就是大名鼎鼎的 Cheating-Death CD反作弊的插件,不過現在最新的4.29注意載入的話,會使伺服器出錯,在後面我會詳細介紹一下最新版本的CD如何載入!

所有的插件以「;」(半形模式下的分號) 開啟和關閉 也就是說,你要開啟某個插件的話,就不能在該行之前用這個符號,如果不想開啟某個插件的話,就在該行 即win32的前面,加上一個這個,就能讓那個插件不運行了!
比如:
我想屏蔽ChickenMod 1.0.5.1插件,只需要在win32 dlls\chicken_mm.dll這行行首加入;注釋符號屏蔽掉這行即可,即將win32 dlls\chicken_mm.dll改為;win32 dlls\chicken_mm.dll
這樣我們在啟動伺服器時,伺服器就不會啟動ChickenMod 1.0.5.1插件插件。如果想再次開啟ChickenMod 1.0.5.1插件,只需要把此行行首的;符號去掉並保存plugins.ini文件即可。其他插件的屏蔽/開啟也是如此。

也許大家這里看不是很明白,我找了張圖出來,大家看看參考下:

這個圖不是安裝了Dcoo這個版本的時候帶的,是小凡cs1.5紀念版中有的,放出來的意義是讓大家更直觀的了解各個命令行的意思!
該版本下的這個文件的內容太簡單了,不過基本功能倒是沒丟失,如下

; 說明:
; 開啟某個模塊請去掉前面的分號
; 關閉某個模塊請在前面加上分號

;////////////////////////////////////////////////////////////
;// --------------------- Booster ------------------------ //
;////////////////////////////////////////////////////////////
; 請按自己的CPU選擇你需要的程序, 以下2個只能開啟一個
win32 addons/Booster/booster_mm.dll
;win32 addons/Booster/booster_686_mm.dll

;////////////////////////////////////////////////////////////
;// ------------------- AMX Mod X ------------------------ //
;////////////////////////////////////////////////////////////
win32 addons/amxmodx/dlls/amxmodx_mm.dll
; linux 請按自己的CPU選擇你需要的程序, 以下2個只能開啟一個
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
;linux addons/amxmodx/dlls/amxmodx_mm_amd64.so

;////////////////////////////////////////////////////////////
;// --------------- Cheating Death ----------------------- //
;////////////////////////////////////////////////////////////
; win32 請按自己的CPU選擇你需要的程序, 以下5個只能開啟一個
win32 addons/CDeath/cdmod.dll
;win32 addons/CDeath/cdmod_i486.dll
;win32 addons/CDeath/cdmod_i586.dll
;win32 addons/CDeath/cdmod_k7.dll
;win32 addons/CDeath/cdmod_p4.dll
; linux 請按自己的CPU選擇你需要的程序, 以下5個只能開啟一個
linux addons/CDeath/cdmod_i386.so
;linux addons/CDeath/cdmod_i586.so
;linux addons/CDeath/cdmod_i686.so
;linux addons/CDeath/cdmod_k7.so
;linux addons/CDeath/cdmod_p4.so

有點亂,大家就只要注意沒分號的部分吧!linux不在本帖的討論范圍內,偶對linux的伺服器不了解,雖然現在也在學習中
接下來就是amxx.cfg和plugins.ini 還有users.ini 的配置講解了,先從amxx.cfg開始好了:)

其實amxx.cfg文件裡面已經有很多的提示了,我就大概說一下吧!先來看偶安裝的這個Dcoo中amxx.cfg各部分的參數:

// AMX MOD X 配置文件.
echo Executing AMX Mod X Configuration File

// 用戶的默認許可權,可以用此定義為普通的玩家也加上各種許可權,相關許可權請參考uers.ini文件的許可權說明
這個就是玩家的默認許可權,相關的許可權在users.ini 中有設置
// AMX的遠程登陸總密碼(所有op都一樣),首次配置時必須修改。
// setinfo信息會將密碼保存在config.cfg文件里。(為了避免泄露密碼,請在結束游戲後刪除自己的config.cfg)
// (管理員登陸時請控制台里輸入 setinfo _pw "管理員密碼",或者直接寫入自己的config.cfg文件中)
amx_password_field "_pw" 這個就是amx遠程OP的密碼,一定要改的,別和server.cfg中的密碼混淆就行
// 伺服器的記錄模式選項
// 0 - 禁止許可權登陸,所有的玩家都沒有任何的許可權
// 1 - 正常模式
// 2 - kick所有users.ini文件上無帳號的玩家
amx_mode 1 伺服器的記錄模式,一般默認就行了。
// 在op執行某個命令時是否顯示op的行動
// 0 - 關閉
// 1 - 不顯示OP的行動
// 2 - 顯示OP的行動
amx_show_activity 2
// 伺服器定時在下方滾動顯示伺服器信息,以秒為單位
amx_scrollmsg "歡迎來到 %hostname% -- 該伺服器使用了 AMX Mod X 管理插件" 600
這里就是一些在游戲中看到的滾動的字的設置位置,可以多設置幾條,但是要注意最後那裡時間,不能相同,否則就只顯示頭一條!
// clanmod風格的伺服器MOTD彩色信息,後面的顏色RGB代碼可以自己修改
amx_imessage "歡迎來到 %hostname%" "000255100"
amx_imessage "這個伺服器使用了 AMX Mod X 管理插件\n下載地址 http://www.amxmodx.org" "000100255"
這個就是在游戲中,時不時顯示在屏幕中央的一些文字,注意是不滾動的哦!同樣也可以多寫幾條,也要注意時間,最後那些 RGB代碼 則是這里文字在游戲中顯示的顏色,具體的代碼我也不太了解,畢竟偶只對游戲有興趣,偶又不是做設計一天和那些顏色打交道的。
// 信息顯示的間隔時間,以秒為單位
amx_freq_imessage 180

// 這個選項聊天間隔時間的設置,防止server因聊天信息過多導致lag,以秒為單位)
amx_flood_time 0.75
// 預留的管理員通道數,沒有許可權的玩家進入此通道時會被kick(具體細節看插件原碼)
amx_reservation 0
// 剩餘時間顯示的設置
// a - 以文本方式顯示
// b - 用語音來提示
// c - 只使用語音,不顯示文本
// d - 不顯示詳細的時間格式,僅用語音提示
// e - 如果時間小於現在的設置,用語音和文本進行提示
amx_time_display "ab 1200" "ab 600" "ab 300" "ab 180" "ab 60" "bcde 11"
// 當用戶使用 "say thetime" 和 "say timeleft" 時使用語音通報
amx_time_voice 1
// 兩個vote事件之間的最小延遲時間,以秒為單位。(為了防止惡意投票,請將間隔設置長些)
amx_vote_delay 10
// 一個VOTE事件持續的最長時間
amx_vote_time 10
// 顯示玩家投票的選擇結果
amx_vote_answers 1
// 投票成功所需要的百分比數(0.40為超過40%即投票成功,以此類推)
amx_votekick_ratio 0.40
amx_voteban_ratio 0.40
amx_votemap_ratio 0.40
amx_vote_ratio 0.02
// 最長可以延長正在游戲的地圖的時間(好象是以分鍾為單位)
amx_extendmap_max 90
// 每次默認延長15分鍾
amx_extendmap_step 15
// 排行模式
// 0 - 昵稱
// 1 - authid
// 2 - ip
csstats_rank 1
// 排行文件最大尺寸
csstats_maxsize 3500
// 顯示HUD統計的持續時間
amx_statsx_ration 12.0
// HUD統計信息在凍結時間里的顯示時長
// 如設為負數表示在凍結時間結束前多少秒清除HUD統計信息
amx_statsx_freeze -2.0
//設定為0時,將不允許客戶端選擇語言
amx_client_languages 1
// 插件調試模式
// 0 - 不調試
// 1 - 選擇模式,在 plugins.ini 中需要調試的插件後加 debug
// 2 - 全部插件都在調試模式下
// 注意 - 調試模式下會影響 JIT (Just In Time)運行
amx_debug 1

基本就注意,因為這個文件本身已經帶了詳細的註解,偶有的解釋還顯得多餘了呢!
現在來看看 users.ini 中的一些配置好了!

該文件和amxx.cfg在同一個目錄下,目錄中內容如下:

; 用戶配置文件
; 文件位置: $moddir/addons/amxmodx/configs/users.ini
; 每行前的 ; 表示注釋該行
; 許可權標記:
; a - immunity (不能被 踢/封/處死/傷害 或者其他的命令影響)
; b - reservation (可通過預留通道加入伺服器)
; c - amx_kick command (擁有KICK許可權)
; d - amx_ban and amx_unban commands (擁有ban的許可權)
; e - amx_slay and amx_slap commands (擁有強行殺死某人的許可權)
; f - amx_map command (擁有更換地圖的許可權)
; g - amx_cvar command (可以設置amx的設置參數,但並不是所有的都可以)
; h - amx_cfg command (可以載入某個AMX的CFG設置文件許可權)
; i - amx_chat and other chat commands (可以以管理員身份發布消息)
; j - amx_vote and other vote commands (可以發起一個投票事件)
; k - access to sv_password cvar (可以更改為伺服器加密碼)
; l - access to amx_rcon command and rcon_password cvar (by amx_cvar command)(可以用RCON命令來以OP身份登陸伺服器)
; m - custom level A (自定義管理級別,為附加的其他插件預留的許可權等級)
; n - custom level B
; o - custom level C
; p - custom level D
; q - custom level E
; r - custom level F
; s - custom level G
; t - custom level H
; u - menu access (擁有打開MENU管理菜單的許可權)
; z - user (普通用戶許可權)
; 帳號類型:
; a - disconnect player on invalid password (此用戶的id進入伺服器時需要檢測密碼)
; b - clan tag (此用戶的id帶有戰隊標簽)
; c - this is steamid/wonid (此用戶*steamid/wonid進入伺服器)
; d - this is ip (此用戶*ip進入伺服器)
; e - password is not checked (only name/ip/steamid needed)(此用戶進入時不檢查密碼,只需要id或者ip或者steamid)
; 密碼:
; 在自己的autoexec.cfg里加入: setinfo _pw "<管理員密碼>"
; 此處 _pw 代表的是參數 amx_password_field 設定的密碼
; 管理員帳號格式:
; <名字|ip|steamid> <管理員密碼> <許可權等級> <帳號類型>

『貳』 暗黑破壞神2毀滅之王BIN文件修改器V1.1Final怎麼用

那是源碼寫腳本用的。用於暗黑的MOD製作及私服戰網bin和ini文件的修改製作。需要絕對的電腦基礎。不懂二進制的新手建議不要涉及。

『叄』 我想利用校園網構建一個WAR3戰網,不知如何弄.

目前可以用於架設魔獸爭霸3的伺服器軟體主要有2種:PvPGN 1.1.6和WarForge Java 0.0.9.0

其中使用WarForge建立的伺服器需要Java語言解釋器和Mysql資料庫的支持,對一般的玩家計算機知識要求較高,所以主要以介紹如何安裝PvPGN戰網伺服器為主。

1、PVPGN軟體介紹
PvPGN,全名為Player-vs-Player Gaming Network Server,是一些業余愛好者在原來的伺服器軟體bnetd的源代碼的基礎上進行改進擴展而來。

PvPGN是目前唯一的支持多游戲的免費開放源代碼伺服器軟體,除了對暴雪的經典系列游戲--星際爭霸/Diablo2/魔獸爭霸2/魔獸爭霸3 的支持外,將來還會對對新出的其它公司的游戲如Dungeon Siege, Neverwinter Nights, Unreal Tournament 2003等游戲提供支持,前景非常看好。

2、系統需求
PvPGN安裝環境要求:
Windows 98/me/Nt/2000/XP

3、下載並安裝PvPGN

首先,我們要下載PvPGN軟體進行安裝,軟體可以在以下地址找到:
http://pvpgn.ostdb.com
http://www.trendecide.com/warcraft/downloads/
http://amadeus.trendecide.com/index.html(點左邊的FILEZ進入下載列表頁)
下載PvPGN1.1.6 rc1和PvPGN 1.1.6 rc2這兩個文件,下載完後先安裝前者,然後運行後者升級到1.1.6 rc2。

4、運行前的設置(可選,如果不作以下修改,伺服器可以用原來的默認設置正常運行)

我們先進入PvPGN的目錄,找到bnetd.conf文件,這個是PvPGN的設置文件。用記事本等文本編輯器打開它,修改如下部分以對伺服器進行設置:

versioncheck = true 如果你想讓伺服器支持1.09版的星際爭霸,請設為false

new_accounts = true 是否允許注冊新帳號,如果你不想在提供新用戶注冊功能,請設為false。

w3routeaddr="xxx.xxx.xxx.xxx:6200" 請將xxx.xxx.xxx.xxx設為你的外部IP號(如果在建內網用的伺服器可設內網IP)以使魔獸爭霸的Play Game生效

location = "USA"
description = "PvPGN Server"
url = "http://www.PvPGN.org";
contact_name = "PvPGN Server Admin"
contact_email = "PvPGN Server" 這五項分別是你的伺服器的位置,描述,網頁地址,聯系人姓名和聯系郵件,可自設。

其他選項保持默認即可,如果需要改變,請理解註解中說明的參數含義。

修改完畢後保存退出,然後我們再找到如下txt文件進行修改:

confnews.txt 這是PvPGN伺服器的消息文件,可以在用戶登錄時顯示一些消息,大家可以自己寫一些公告啊什麼的,也可以在伺服器運行期間修改,向玩家發送最新的消息。

confbnmotd.txt 這是伺服器登錄時的問候信息文件,當一個玩家登錄時向他發出的問候消息存放在這里,文本中的%l表示用戶名,%v表示版本號,%u,%g,%c分別表示在線的用戶數,游戲數和頻道數。

Filestermsofservice-default.txt
Filestermsofservice-default.txt 這兩個是注冊新帳號前顯示的terms of service,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filesnewaccount-default.txt
Filesnewaccount-enUS.txt 這兩個是注冊新帳號時右邊顯示的信息,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filestos.txt
Filestos_DEU.txt
Filestos_usa.txt
Filestos-unicode_USA.txt 這四個是登錄進伺服器後顯示在右邊的LEGAL NOTES和TERMS OF SERVICE,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。
如果要支持中文版的D2,請建立tos-unicode_CHI.txt,並填入Terms of service。

如果你需要支持最新的游戲版本1.02,你需要修改你的conf目錄下的versioncheck文件,http://pvpgn.ostdb.com/versioncheck102c.zip 這時已經修改好的文件,你可以直接下載並覆蓋原有文件。游戲的1.02升級補丁你可以在http://www.blizzard.com或http:...attle.net找到。

最後是修改ad000000?.mng,這些都是mng格式的banner文件(就是登錄伺服器後顯示在上方的橫幅),可以通過相關工具修改,本文不浪費篇幅介紹。

5、運行PvPGN程序

運行PvPGN Standard.exe即可開啟伺服器,你可以把它最小化到系統欄圖標。運行之後伺服器就處於激活狀態,別的玩家就可以通過網路連接PvPGN了。

6.PvPGN的界面操作

1)界面概覽
如圖上面是菜單,左邊是伺服器信息欄,顯示伺服器信息,右邊是在線用戶欄,顯示當前的在線用戶。

2)菜單
Server菜單下有Save Accounts(保存所有帳戶),Restart(重新啟動服務),Shutdown(關閉服務),Exit(退出)4個功能。
Admin Commands菜單下有Announce和Admin Control Panel兩個可用功能,Announce是用來向伺服器內的所有用戶發送公告的;Admin Control Panel的界面中,Kick表示把人踢出伺服器,Ban表示禁止登錄,Premote to Administrator表示設為管理員,Premote to Moderator表示設為頻道主持人,Give the rights to make announcements表示給予發送公告的權利,在左邊的輸入框輸入姓名,在右邊勾選好你要對這個用戶進行的操作,然後點擊Execute按鈕就可以執行相應的操作。
View菜單下有Clear Window(清空左邊的信息欄)和Update Userlist(立即更新在線用戶狀況)兩個功能。
Server Configuration菜單下只有一個功能,就是用寫字板打開confbnetd.conf文件進行修改,記得修改後要用Server菜單下的Restart來重啟伺服器以使設置修改生效。

善用操作界面的功能將可以讓你輕松地管理PvPGN伺服器。

7、修改游戲設置使其能連上伺服器
要連接你剛完成架設的魔獸爭霸3伺服器,你需要修改你的戰網連接地址,你可以在以下地址找到最新版的戰網地址修改器:
http://soar.l33t.ca/download/BNetEditor.zip 或
http://home.online.tj.cn/user/soar/.../BNetEditor.zip
下載後解開壓縮文件,你會得到
BNetEditor.exe
Gateway.list
ServerIntro
What『s new.txt
說明.txt
等5個文件

運行BNetEditor.exe畫面如下:
按下"添加」按鈕,在出現的對話框中添入 名稱:你自己取的伺服器名字;時區:伺服器所在時區(可以隨便添或者添8);地址:伺服器的IP地址,填寫完點擊確定,你的伺服器便出現在現有伺服器列表中。

該軟體還可以修改Diablo2、Starcraft等游戲的連接地址,具體操作方法可以看附帶的說明.txt,並且該軟體提供了其他幾個國內的私人伺服器地址可供選擇。

8、連接伺服器
你需要使用連接PvPGN專用的Loader才可以進入你的魔獸爭霸3游戲,該程序可以在這里找到:
http://pvpgn.ostdb.com/aCiD-War3_Adaptive_Loader.zip
解開壓縮文件,將其中的Loader文件復制到你的魔獸爭霸3安裝目錄,在war3.exe中加入-pvpgn參數,運行即可。進入游戲後點擊Battle.net右邊的放大鏡標記,選擇需要加入的伺服器,你可以看到我們剛才添加的伺服器My Server已經出現在列表中,選擇它,並點擊OK確定。

然後點擊Battle.net按鈕,如果上述伺服器操作都正確完成的話,你可以看到這樣的登陸畫面。

點擊New Account建立一個新的賬號,或者直接輸入用戶名和密碼使用一個已經存在的賬號。然後點擊Logon按鈕,然後你就進入了自己的Battle.net。
快點告訴你的朋友們吧,將他們都連接上你的伺服器開始一場激烈的戰斗。

也許你的伺服器架設沒有那麼順利進行,那麼請你仔細看看每一步的操作。多嘗試幾次,相信你會成功的。

註:PVPGN也可以使用MYSQL資料庫,使用MYSQL資料庫玩家的戰績資料會保存到資料庫中。 不用的話,以文本方式保存玩家資料,無法使用排行版功能。

暴雪小型伺服器的搭建及其配置

首先要明白的是這篇文章是關於Warcraft3,而不是WOW的。

-------------------------------------------------------------------------------------------------

暴雪憑借著Battle.net免費伺服器和暴雪公司的完美游戲讓全世界的玩家走到了一起。Battle.net支持暗黑破壞神、星際爭霸和魔獸爭霸,其完善的玩家匹配系統、積分排名系統和聊天系統使得成為世界上最大的免費游戲伺服器。

-------------------------------------------------------------------------------------------------

下面我來教大家搭建最基本的Battle.net(不包括WEB排名系統)
俗話說:「工欲善其事,必先利其器。」我們首先要如下幾款軟體:
1.PVPGN(Player-vs-Player Gaming Network Server)
我們這里使用1.80RC2版本,這個版本能完美支持WAR3 1.20c
2.Bnedit(編輯伺服器地址用)
3.wc3 loader(啟動魔獸進第三方戰網的軟體)
4.花生殼(動態IP解析用)

-------------------------------------------------------------------------------------------------

伺服器安裝方法:下載解壓縮後雙擊「安裝服務.bat」安裝基本控制服務

客戶端修改方法:下載解壓縮BNetEditor,雙擊運行,然後依照圖片所示依次進行

運行魔獸的方法:下載解壓縮w3l,雙擊運行即可

------------------------------------------------------------------------------------------------

下面根據你搭建伺服器的目的分為三種:
一、單機版
既然要架設伺服器,單機版假設出來也沒意思,搜索不到別人,只能自己鍛煉下。
此版本默認伺服器IP即為127.0.0.1,無需做修改就可以上戰網

二、區域網
首先確保你的防火牆軟體沒有阻止PVPGN和WAR3訪問網路,並且你也知道自己的IP地址(如果是自動獲得,點「開始」-「運行」-輸入「ipconfig」就可以知道自己的IP),在PVPGN文件夾下有個CONF文件夾
打開後會看到一堆文件,這些是伺服器的配置文件,我們找到其中的d2cs.conf、 d2dbs.conf 、bnetd.conf 、realm.conf,用記事本打開即可,然後運用查找替換把「127.0.0.1」全部替換成自己的IP地址,保存退出。
要注意的客戶端的修改,BNetEditor里的IP地址都要是你的IP(即伺服器IP)

三、外網
同樣首先是防火牆的問題。
根據上網方式又可以分幾種:
1、ADSL在電腦上撥號上網,這種上網方式都有公網的IP地址,所以你只需做的去下載個花生殼軟體
下載地址:http://www.oray.net/ 詳細配置請見http://www.oray.net/
這里伺服器IP就要改成你申請的二級域名,如www.turnjian.vicp.net 客戶端同樣如此
2、ADSL路由上網,這種方式你的IP一般為固定IP如192.168.1.5,這樣就需要在路由器上打開埠映射功能,詳細信息http://www.magicwinmail.com/technic_nat.htm http://bbs.leobbs.com/cgi-bin/topic.cgi?forum=68&topic=2854&show=0 (需注意魔獸埠)
3、小區寬頻、有線通等方式比較特殊,詳細請聯系當地ISP(請不要告訴他們你是要建設私服。。)

下面介紹下伺服器的配置:
我們先進入PvPGN的目錄,找到bnetd.conf文件,這個是PvPGN的設置文件。用記事本等文本編輯器打開它,修改如下部分以對伺服器進行設置:

versioncheck = true 伺服器&游戲版本版本檢查

new_accounts = true 是否允許注冊新帳號,如果你不想在提供新用戶注冊功能,請設為false。

w3routeaddr="xxx.xxx.xxx.xxx:6200" 請將xxx.xxx.xxx.xxx設為你的外部IP號(如果在建內網用的伺服器可設內網IP)以使魔獸爭霸的Play Game生效

location = "USA"
description = "PvPGN Server"
url = "http://www.PvPGN.org";
contact_name = "PvPGN Server Admin"
contact_email = "PvPGN Server" 這五項分別是你的伺服器的位置,描述,網頁地址,聯系人姓名和聯系郵件,可自設。

其他選項保持默認即可,如果需要改變,請理解註解中說明的參數含義。

修改完畢後保存退出,然後我們再找到如下txt文件進行修改:

confnews.txt 這是PvPGN伺服器的消息文件,可以在用戶登錄時顯示一些消息,大家可以自己寫一些公告啊什麼的,也可以在伺服器運行期間修改,向玩家發送最新的消息。

confbnmotd.txt 這是伺服器登錄時的問候信息文件,當一個玩家登錄時向他發出的問候消息存放在這里,文本中的%l表示用戶名,%v表示版本號,%u,%g,%c分別表示在線的用戶數,游戲數和頻道數。

Filestermsofservice-default.txt
Filestermsofservice-default.txt 這兩個是注冊新帳號前顯示的terms of service,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filesnewaccount-default.txt
Filesnewaccount-enUS.txt 這兩個是注冊新帳號時右邊顯示的信息,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。

Filestos.txt
Filestos_DEU.txt
Filestos_usa.txt
Filestos-unicode_USA.txt 這四個是登錄進伺服器後顯示在右邊的LEGAL NOTES和TERMS OF SERVICE,具體伺服器用哪個和登錄用戶的語言版本有關,要改就同時改。
如果要支持中文版的,請建立tos-unicode_CHI.txt,並填入Terms of service。

如果你需要支持最新的游戲版本1.20,你需要修改你的conf目錄下的versioncheck文件。游戲的升級補丁你可以在http://www.blizzard.com找到。

最後是修改ad000000?.mng,這些都是mng格式的banner文件(就是登錄伺服器後顯示在上方的橫幅),可以通過相關工具修改。

最後再補充說明下為什麼不用WEB方式,WEB方式就是可以方便找回密碼,查看排名,我們建設這個伺服器的目的就是為了娛樂,現在大家大部分操作系統版本是XP,XP不是伺服器版,雖然也有IIS,但是只有10個並發連接。若要排名還要用SQL或MYSQL等資料庫,這樣增加了伺服器的負擔和危險性。
WAR3的免費伺服器現在大致分為兩種:
1.WarForge Java 0.0.9.0 。
2.PVPGN 1.1.5。
我們這里介紹的是PVPGN1.1.5 游戲戰網伺服器,我認為PVPGN1.1.5是目前免費戰網比較穩定和成熟的,幾乎沒有錯誤,所以大家用這個沒錯的(聽起來象廣告?),好!哪兒去找這個軟體呢?在 http://www.trendecide.com/warcraft/downloads/
可以找到這個軟體,如果你是用的WINDOWS操作系統就下載他最上面的那個PVPGN1.1.5-WIN32 就行了,如果你用的是LINUX,就下載PVPGN1.1.5-LINUX,文件都不大,5M多一點點。(國外網站,速度有點慢...)
OK,現在下載完了,用WINZIP打開一看,只有一個EXE文件,對了,運行他就開始安裝伺服器啦,安裝中幾乎什麼也不用選就完了,打開開始菜單一看,多了個PVPGN,裡面有PvPGN Standard Edition(PVPGN 標准版),PvPGN Elite Edition(PVPGN 精華版),標准版和精華版不同的地方在於對用戶名等數據存儲方式不同,標准版是用的文檔方式,而精華版用的是MYSQL方式存儲,MYSQL對數據存儲、查詢、管理都比文檔方式好得多,所以軟體作者和我都極力推薦使用精華版。
先講講標准版的配置方法:雙擊 PvPGN Standard Edition 圖標 ,出現的窗口會出現 「failed to initialize network (exiting)」的出錯提示,不要緊,我們選Server Configurationg選項,會打開一個叫bnetd.conf的文本文件,我們找到 w3routeaddr 這一行,把 「your ip here」改成你機器的IP地址,保存後關掉伺服器,然後再雙擊 PvPGN Standard Edition 圖標,把伺服器打開,如果沒有出錯信息那麼就恭喜你,你的伺服器已經架設通了,但是要注意哦,現在你的標准版的伺服器還不能保存賬號名和信息,要在你的PVPGN安裝目錄下面找到VAR目錄,再在裡面建立三個目錄:bnmail 、Reports、Users ,其中USERS目錄就是保存用戶信息的目錄。
然後講講精華版的配置方法:前面和標准版的配置方法一樣不同的是需要下載MYSQL的安裝文件了,下載地址為 http://www.mysql.com/Downloads/MySQ...3.23.52-win.zip
下完後用WINZIP打開雙擊就可以安裝了,安裝完後WIN2K系統運行 \MYSQL\BIN\mysqld-nt.exe 讓系統自動運行 MYSQL 資料庫,然後把這個目錄下的 libmySQL.dll 拷貝到 WINNT\SYSTEM32目錄下,再下載PVPGN的資料庫創建和更新軟體 http://www.nerdtopia.org/pvpgn/114b...vPGNDBAC206.zip 安裝好PvPGNDBA 後就開始創建魔獸爭霸的基本表,如果是第一次運行PvPGN DB Admin Console就會出現一個對話框讓你配置如何連接資料庫,在
HOSTNAME :locahost (MYSQL 主機的IP地址,一般不用修改)
MYSQL PORT: 3306 (MYSQL 的連接埠,不用修改)
MYSQL USERNAME:ROOT (MYSQL 的管理員賬號)
MYSQL PASSWORD: (ROOT 用戶的密碼,才安裝的不用填入)
GIVE DATABASE A NAME:(這是給將要創建的資料庫取個名字,可以隨便填入,比如 PVPGNDB)。
配置完後選中NEW DB INSTALL再按GO,如果出現了 You database has been created successfully 的對話框,就表示你的資料庫已經建立好了,最後就是在Server Configurationg配置中打開bnetd.conf文件,讓伺服器和MYSQL資料庫連接起來,修改bnetd.conf最下面的
mysql_host = "localhost"(MYSQL 主機的IP地址,一般不用修改)
mysql_account = "root" (MYSQL 的管理員賬號)
mysql_password = "root" (ROOT 用戶的密碼,和上面一樣)
mysql_sock = "3306" (MYSQL 的連接埠,不用修改)
mysql_dbname = "PVPGNDB"(就是你創建的資料庫的名字)
如果出現
You are currently Running PvPGN Version 1.1.5
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Make sure to visit:
http://www.pvpgn.org
We can also be found on: irc.pvpgn.org
Channel: #pvpgn
Server is now running.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
的字樣,那麼你的精華版就可以正常使用啦。
是如何把你的伺服器加到中國魔獸爭霸聯盟伺服器列表中:
_在bnetd.conf找到如下行並改為你自己的信息: (請注意PvPGN的設置必須含引號)
______location = "伺服器的地理位置"
______description = "伺服器描述"
______url = "伺服器主頁"
______contact_name = "聯系人"(本伺服器並不顯示該項信息)
______contact_email = "聯系郵件"
在bnetd.conf找到track開頭的一行並改為:
______track = 1(1-5都可以,太大不好)
______找到trackaddrs開頭的一行並改為:
______trackaddrs = "61.172.250.144"
完成以上步驟後,重啟你的伺服器,你的伺服器信息便會出現在中國魔獸爭霸聯盟伺服器列表中了。
客戶端連接方法:游戲方式:
下載http://uws.rpwt.org/download/war3_102.rar (1.02升級包)
安裝後桌面會出現三個圖標,選WARCRAFT III PVPGN 這個圖標 ,將來就用它運行你的游戲
然後下載http://bnet.ali213.net/W3/denglu/BNG...面的WARCRAFT III,添加一個GATEWAY,填入想要去的戰網IP再選為默認,最後進入游戲就可以連接上戰網啦。

『肆』 端游,手游服務端常用的架構是什麼樣的

端游、手游服務端常用的架構是什麼樣的?
類型1:卡牌、跑酷等弱交互服務端卡牌跑酷類

因為交互弱,玩家和玩家之間不需要實時面對面PK,打一下對方的離線數據,計算下排行榜,買賣下道具即可,所以實現往往使用簡單的 HTTP伺服器:

登錄時可以使用非對稱加密(RSA, DH),伺服器根據客戶端uid,當前時間戳還有服務端私鑰,計算哈希得到的加密 key 並發送給客戶端。之後雙方都用 HTTP通信,並用那個key進行RC4加密。客戶端收到key和時間戳後保存在內存,用於之後通信,服務端不需要保存 key,因為每次都可以根據客戶端傳上來的 uid 和 時間戳 以及服務端自己的私鑰計算得到。用模仿 TLS的行為,來保證多次 HTTP請求間的客戶端身份,並通過時間戳保證同一人兩次登錄密鑰不同。

每局開始時,訪問一下,請求一下關卡數據,玩完了又提交一下,驗算一下是否合法,獲得什麼獎勵,資料庫用單台 MySQL或者 MongoDB即可,後端的 Redis做緩存(可選)。如果要實現通知,那麼讓客戶端定時15秒輪詢一下伺服器,如果有消息就取下來,如果沒消息可以逐步放長輪詢時間,比如30秒;如果有消息,就縮短輪詢時間到10秒,5秒,即便兩人聊天,延遲也能自適應。

此類伺服器用來實現一款三國類策略或者卡牌及酷跑的游戲已經綽綽有餘,這類游戲因為邏輯簡單,玩家之間交互不強,使用 HTTP來開發的話,開發速度快,調試只需要一個瀏覽器就可以把邏輯調試清楚了。

類型2:第一代游戲伺服器 1978

1978年,英國著名的財經學校University of Essex的學生 Roy Trubshaw編寫了世界上第一個MUD程序《MUD1》,在University of Essex於1980年接入 ARPANET之後加入了不少外部的玩家,甚至包括國外的玩家。《MUD1》程序的源代碼在 ARPANET共享之後出現了眾多的改編版本,至此MUD才在全世界廣泛流行起來。不斷完善的 MUD1的基礎上產生了開源的 MudOS(1991),成為眾多網游的鼻祖:

MUDOS採用 C語言開發,因為玩家和玩家之間有比較強的交互(聊天,交易,PK),MUDOS使用單線程無阻塞套接字來服務所有玩家,所有玩家的請求都發到同一個線程去處理,主線程每隔1秒鍾更新一次所有對象(網路收發,更新對象狀態機,處理超時,刷新地圖,刷新NPC)。

游戲世界採用房間的形式組織起來,每個房間有東南西北四個方向可以移動到下一個房間,由於歐美最早的網游都是地牢迷宮形式的,因此場景的基本單位被成為 「房間」。MUDOS使用一門稱為LPC的腳本語言來描述整個世界(包括房間拓撲,配置,NPC,以及各種劇情)。游戲裡面的高級玩家(巫師),可以不斷的通過修改腳本來為游戲添加房間以及增加劇情。早年 MUD1上線時只有17個房間,Roy Trubshaw畢業以後交給他的師弟 Richard Battle,在 Richard Battle手上,不斷的添加各種玩法到一百多個房間,終於讓 MUD發揚光大。

用戶使用 Telnet之類的客戶端用 Tcp協議連接到 MUDOS上,使用純文字進行游戲,每條指令用回車進行分割。比如 1995年國內第一款 MUD游戲《俠客行》,你敲入:」go east」,游戲就會提示你:「後花園 - 這里是歸雲庄的後花園,種滿了花草,幾個庄丁正在澆花。此地乃是含羞草生長之地。這里唯一的出口是 north。這里有:花待 阿牧(A mu),還有二位庄丁(Zhuang Ding)」,然後你繼續用文字操作,查看阿牧的信息:「look a mu」,系統提示:「花待 阿牧(A mu)他是陸乘風的弟子,受命在此看管含羞草。他看起來三十多歲,生得眉清目秀,端正大方,一表人才。他的武藝看上去【不是很高】,出手似乎【極輕】」。然後你可以選擇擊敗他獲得含羞草,但是你吃了含羞草卻又可能會中毒死亡。在早期網上資源貧乏的時候,這樣的游戲有很強的代入感。

用戶數據保存在文件中,每個用戶登錄時,從文本文件里把用戶的數據全部載入進來,操作全部在內存裡面進行,無需馬上刷回磁碟。用戶退出了,或者每隔5分鍾檢查到數據改動了,都會保存會磁碟。這樣的系統在當時每台伺服器承載個4000人同時游戲,不是特別大的問題。從1991年的 MUDOS發布後,全球各地都在為他改進,擴充,退出新版本,隨著 Windows圖形機能的增強。1997游戲《UO》在 MUDOS的基礎上為角色增加的x,y坐標,為每個房間增加了地圖,並且為每個角色增加了動畫,形成了第一代的圖形網路游戲。

因為游戲內容基本可以通過 LPC腳本進行定製,所以MUDOS也成為名副其實的第一款服務端引擎,引擎一次性開發出來,然後製作不同游戲內容。後續國內的《萬王之王》等游戲,很多都是跟《UO》一樣,直接在 MUDOS上進行二次開發,加入房間的地圖還有角色的坐標等要素,該架構一直為國內的第一代 MMORPG提供了穩固的支持,直到 2003年,還有游戲基於 MUDOS開發。雖然後面圖形化增加了很多東西,但是這些MMORPG後端的本質還是 MUDOS。隨著游戲內容的越來越復雜,架構變得越來越吃不消了,各種負載問題慢慢浮上水面,於是有了我們的第二代游戲伺服器。

類型3:第二代游戲伺服器 2003

2000年後,網游已經脫離最初的文字MUD,進入全面圖形化年代。最先承受不住的其實是很多小文件,用戶上下線,頻繁的讀取寫入用戶數據,導致負載越來越大。隨著在線人數的增加和游戲數據的增加,伺服器變得不抗重負。同時早期 EXT磁碟分區比較脆弱,稍微停電,容易發生大面積數據丟失。因此第一步就是拆分文件存儲到資料庫去。

此時游戲服務端已經脫離陳舊的 MUDOS體系,各個公司在參考 MUDOS結構的情況下,開始自己用 C在重新開發自己的游戲服務端。並且腳本也拋棄了 LPC,採用擴展性更好的 Python或者 Lua來代替。由於主邏輯使用單線程模型,隨著游戲內容的增加,傳統單伺服器的結構進一步成為瓶頸。於是有人開始拆分游戲世界,變為下面的模型:

游戲伺服器壓力拆分後得意緩解,但是兩台游戲伺服器同時訪問資料庫,大量重復訪問,大量數據交換,使得資料庫成為下一個瓶頸。於是形成了資料庫前端代理(DB Proxy),游戲伺服器不直接訪問資料庫而是訪問代理,再有代理訪問資料庫,同時提供內存級別的cache。早年 MySQL4之前沒有提供存儲過程,這個前端代理一般和 MySQL跑在同一台上,它轉化游戲伺服器發過來的高級數據操作指令,拆分成具體的資料庫操作,一定程度上代替了存儲過程:

但是這樣的結構並沒有持續太長時間,因為玩家切換場景經常要切換連接,中間的狀態容易錯亂。而且游戲伺服器多了以後,相互之間數據交互又會變得比較麻煩,於是人們拆分了網路功能,獨立出一個網關服務 Gate(有的地方叫 Session,有的地方叫 LinkSvr之類的,名字不同而已):

把網路功能單獨提取出來,讓用戶統一去連接一個網關伺服器,再有網關伺服器轉發數據到後端游戲伺服器。而游戲伺服器之間數據交換也統一連接到網管進行交換。這樣類型的伺服器基本能穩定的為玩家提供游戲服務,一台網關服務1-2萬人,後面的游戲伺服器每台服務5k-1w,依游戲類型和復雜度不同而已,圖中隱藏了很多不重要的伺服器,如登錄和管理。這是目前應用最廣的一個模型,到今天任然很多新項目會才用這樣的結構來搭建。

人都是有慣性的,按照先前的經驗,似乎把 MUDOS拆分的越開性能越好。於是大家繼續想,網關可以拆分呀,基礎服務如聊天交易,可以拆分呀,還可以提供web介面,資料庫可以拆分呀,於是有了下面的模型:

這樣的模型好用么?確實有成功游戲使用類似這樣的架構,並且發揮了它的性能優勢,比如一些大型 MMORPG。但是有兩個挑戰:每增加一級伺服器,狀態機復雜度可能會翻倍,導致研發和找bug的成本上升;並且對開發組挑戰比較大,一旦項目時間吃緊,開發人員經驗不足,很容易弄掛。

比如我見過某上海一線游戲公司的一個 RPG上來就要上這樣的架構,我看了下他們團隊成員的經驗,問了下他們的上線日期,勸他們用前面稍微簡單一點的模型。人家自信得很,認為有成功項目是這么做的,他們也要這么做,自己很想實現一套。於是他們義無反顧的開始編碼,項目做了一年多,然後,就沒有然後了。

現今在游戲成功率不高的情況下,一開始上一套比較復雜的架構需要考慮投資回報率,比如你的游戲上線半年內 PCU會去到多少?如果一個 APRG游戲,每組伺服器5千人都到不了的話,那麼選擇一套更為貼近實際情況的結構更為經濟。即使後面你的項目真的超過5千人朝著1萬人目標奔的話,相信那個時候你的項目已經掙大錢了 ,你數著錢加著班去逐步迭代,一次次拆分它,相信心裡也是樂開花的。

上面這些類型基本都是從拆分 MUDOS開始,將 MUDOS中的各個部件從單機一步步拆成分布式。雖然今天任然很多新項目在用上面某一種類似的結構,或者自己又做了其他熱點模塊的拆分。因為他們本質上都是對 MUDOS的分解,故將他們歸納為第二代游戲伺服器。

類型4:第三代游戲伺服器

2007從魔獸世界開始無縫世界地圖已經深入人心,比較以往游戲玩家走個幾步還需要切換場景,每次切換就要等待 LOADING個幾十秒是一件十分破壞游戲體驗的事情。於是對於 2005年以後的大型 MMORPG來說,無縫地圖已成為一個標准配置。比較以往按照地圖來切割游戲而言,無縫世界並不存在一塊地圖上面的人有且只由一台伺服器處理了:

每台 Node伺服器用來管理一塊地圖區域,由 NodeMaster(NM)來為他們提供總體管理。更高層次的 World則提供大陸級別的管理服務。這里省略若干細節伺服器,比如傳統資料庫前端,登錄伺服器,日誌和監控等,統統用 ADMIN概括。在這樣的結構下,玩家從一塊區域走向另外一塊區域需要簡單處理一下:

玩家1完全由節點A控制,玩家3完全由節點B控制。而處在兩個節點邊緣的2號玩家,則同時由A和B提供服務。玩家2從A移動到B的過程中,會同時向A請求左邊的情況,並向B請求右邊的情況。但是此時玩家2還是屬於A管理。直到玩家2徹底離開AB邊界很遠,才徹底交由B管理。按照這樣的邏輯將世界地圖分割為一塊一塊的區域,交由不同的 Node去管理。

對於一個 Node所負責的區域,地理上沒必要連接在一起,比如大陸的四周邊緣部分和高山部分的區塊人比較少,可以統一交給一個Node去管理,而這些區塊在地理上並沒有聯系在一起的必要性。一個 Node到底管理哪些區塊,可以根據游戲實時運行的負載情況,定時維護的時候進行更改 NodeMaster 上面的配置。於是碰到第一個問題是很多 Node伺服器需要和玩家進行通信,需要問管理伺服器特定UID為多少的玩家到底在哪台 Gate上,以前按場景切割的伺服器這個問題不大,問了一次以後就可以緩存起來了,但是現在伺服器種類增加不少,玩家又會飄來飄去,按UID查找玩家比較麻煩;另外一方面 GATE需要動態根據坐標計算和哪些 Node通信,導致邏輯越來越厚,於是把:「用戶對象」從負責連接管理的 GATE中切割出來勢在必行於是有了下面的模型:

網關伺服器再次退回到精簡的網路轉發功能,而用戶邏輯則由按照 UID劃分的 OBJ伺服器來承擔,GATE是按照網路接入時的負載來分布,而 OBJ則是按照資源的編號(UID)來分布,這樣和一個用戶通信直接根據 UID計算出 OBJ伺服器編號發送數據即可。而新獨立出來的 OBJ則提供了更多高層次的服務:

對象移動:管理具體玩家在不同的 Node所管轄的區域之間的移動,並同需要的 Node進行溝通。

數據廣播:Node可以給每個用戶設置若干 TAG,然後通知 Object Master 按照TAG廣播。

對象消息:通用消息推送,給某個用戶發送數據,直接告訴 OBJ,不需要直接和 GATE打交道。

好友聊天:角色之間聊天直接走 OBJ/OBJ MASTER。整個伺服器主體分為三層以後,NODE專注場景,OBJ專注玩家對象,

GATE專注網路。這樣的模型在無縫場景伺服器中得到廣泛的應用。但是隨著時間的推移,負載問題也越來越明顯,做個活動,遠來不活躍的區域變得十分活躍,靠每周維護來調整還是比較笨重的,於是有了動態負載均衡。動態負載均衡有兩種方法,第一種是按照負載,由 Node Master 定時動態移動修改一下各個 Node的邊界,而不同的玩家對象按照先前的方法從一台 Node上遷移到另外一台 Node上:

圖11 動態負載均衡

Node Master定時查找地圖上的熱點區域,計算新的場景切割方式,然後告訴其他伺服器開始調整,具體處理方式還是和上面對象跨越邊界移動的方法一樣。但是上面這種方式實現相對復雜一些,於是人們設計出了更為簡單直接的一種新方法:

圖12 基於網格的動態負載均衡

於網格的動態負載均衡還是將地圖按照標准尺寸均勻切割成靜態的網格,每個格子由一個具體的Node負責,但是根據負載情況,能夠實時的遷移到其他 Node上。在遷移分為三個階段:准備,切換,完成。三個狀態由Node Master負責維護。准備階段新的 Node開始同步老 Node上面該網格的數據,完成後告訴NM;NM確認OK後同時通知新舊 Node完成切換。完成切換後,如果 Obj伺服器還在和老的 Node進行通信,老的 Node將會對它進行糾正,得到糾正的 OBJ將修正自己的狀態,和新的 Node進行通信。

很多無縫動態負載均衡的服務端宣稱自己支持無限的人數,但不意味著 MMORPG游戲的人數上限真的可以無限擴充,因為這樣的體系會受制於網路帶寬和客戶端性能。帶寬決定了同一個區域最大廣播上限,而客戶端性能決定了同一個屏幕到底可以繪制多少個角色。

從無縫地圖引入了分布式對象模型開始,已經完全脫離 MUDOS體系,成為一種新的服務端模型。又由於動態負載均衡的引入,讓無縫伺服器如虎添翼,容納著超過上一代游戲伺服器數倍的人數上限,並提供了更好的游戲體驗,我們稱其為第三代游戲服務端架構。網游以大型多人角色扮演為開端,RPG網游在相當長的時間里一度占據90%以上,使得基於 MMORPG的服務端架構得到了蓬勃的發展,然而隨著玩家對RPG的疲憊,各種非MMORPG游戲如雨後春筍般的出現在人們眼前,受到市場的歡迎。

類型5:戰網游戲伺服器

經典戰網服務端和 RPG游戲有兩個區別:RPG是分區分服的,北京區的用戶和廣州區的用戶老死不相往來。而戰網,雖然每局游戲一般都是 8人以內,但全國只有一套伺服器,所有的玩家都可以在一起游戲,而玩家和玩家之使用 P2P的方式連接在一起,組成一局游戲:

玩家通過 Match Making 伺服器使用:創建、加入、自動匹配、邀請 等方式組成一局游戲。伺服器會選擇一個人做 Host,其他人 P2P連接到做主的玩家上來。STUN是幫助玩家之間建立 P2P的牽引伺服器,而由於 P2P聯通情況大概只有 75%,實在聯不通的玩家會通過 Forward進行轉發。

大量的連接對戰,體育競技游戲採用類似的結構。P2P有網狀模型(所有玩家互相連接),和星狀模型(所有玩家連接一個主玩家)。復雜的游戲狀態在網狀模型下難以形成一致,因此星狀P2P模型經受住了歷史的考驗。除去游戲數據,支持語音的戰網系統也會將所有人的語音數據發送到做主的那個玩家機器上,通過混音去重再編碼的方式返回給所有用戶。

戰網類游戲,以競技、體育、動作等類型的游戲為主,較慢節奏的 RPG(包括ARPG)有本質上的區別,而激烈的游戲過程必然帶來到較 RPG復雜的多的同步策略,這樣的同步機制往往帶來的是很多游戲結果由客戶端直接計算得出,那在到處都是破解的今天,如何保證游戲結果的公正呢?

主要方法就是投票法,所有客戶端都會獨立計算,然後傳遞給伺服器。如果結果相同就更新記錄,如果結果不一致,會採取類似投票的方式確定最終結果。同時記錄本劇游戲的所有輸入,在可能的情況下,找另外閑散的游戲客戶端驗算整局游戲是否為該結果。並且記錄經常有作弊嫌疑的用戶,供運營人員封號時參考。

類型7:休閑游戲伺服器

休閑游戲同戰網伺服器類似,都是全區架構,不同的是有房間伺服器,還有具體的游戲伺服器,游戲主體不再以玩家 P2P進行,而是連接到專門的游戲伺服器處理:

和戰網一樣的全區架構,用戶數據不能象分區的 RPG那樣一次性load到內存,然後在內存裡面直接修改。全區架構下,為了應對一個用戶同時玩幾個游戲,用戶數據需要區分基本數據和不同的游戲數據,而游戲數據又需要區分積分數據、和文檔數據。勝平負之類的積分可以直接提交增量修改,而更為普遍的文檔類數據則需要提供讀寫令牌,寫令牌只有一塊,讀令牌有很多塊。同帳號同一個游戲同時在兩台電腦上玩時,最先開始的那個游戲獲得寫令牌,可以操作任意的用戶數據。而後開始的那個游戲除了可以提交勝平負積分的增量改變外,對用戶數據採用只讀的方式,保證游戲能運行下去,但是會提示用戶,游戲數據鎖定。

類型8:現代動作類網游

從早期的韓國動作游戲開始,傳統的戰網動作類游戲和 RPG游戲開始嘗試融合。單純的動作游戲玩家容易疲倦,留存也沒有 RPG那麼高;而單純 RPG戰斗卻又慢節奏的乏味,無法滿足很多玩家激烈對抗的期望,於是二者開始融合成為新一代的:動作 + 城鎮 模式。玩家在城鎮中聚集,然後以開副本的方式幾個人出去以動作游戲的玩法來完成各種 RPG任務。本質就是一套 RPG服務端+副本服務端。由於每次副本時人物可以控制在8人以內,因此可以獲得更為實時的游戲體驗,讓玩家玩的更加爽快。

說了那麼多的游戲伺服器類型,其實也差不多了,剩下的類型大家拼湊一下其實也就是這個樣子而已。

『伍』 linux的腳本連接 win下怎麼把源文件下載下來

使用wine可以達到您要的效果,但不是100%成功,個別的軟體會報dll錯誤。 以下是詳細使用方法: 在安裝前請確保你的系統中裝有 gcc 3.x (推薦使用 3.2.x ),很多讀者反映在 gcc 2.9.x 上編譯存在問題。 wine 的安裝配置 wine 的最新版本是 20030408 , 下面將介紹如何安裝配置 wine。 1. 下載 wine 並解壓縮: 請到 wine 的官方網站下載最新的 tarball 壓縮文件包。或者,如果不想手工打中文輸入法的補丁的話,可以直接下載打好補丁的 wine-20030408。(如果你是下載的這個已經打過補丁的,就可以跳過下一步) 這個版本的文件名為 Wine-20030408.tar.gz tar xvfz Wine-20030408.tar.gz 現在你可以在當前目錄中看到一個名為 wine-20030408 的目錄。以下假設你將 wine 解壓縮到 ~/wine-20030408下,即你在你的home下,運行上述命令。 2. 下載並應用中文輸入法補丁: 如果你的手頭上已經有一個現成的官方版本的 wine-20030408,那麼你可以下載wine中文輸入法補丁(包括中文復制、粘貼的支持),並將其存到 ~/wine- 目錄下。 應用之: cd ~/wine-20030408 patch -p1 < xim_parse_0417.diff 註:這個patch也可以使用在最新的(20030410)CVS上。 3. 編譯安裝 wine : cd wine-20030408 ./configure --prefix=/usr/local/wine 注意:強烈建議指定安裝目錄,此處為 /usr/local/wine,這樣後面會方便很多。 請檢查此命令的輸出,如果他沒有找到一些需要的包,而你又希望使用那個包提供的功能時,請安裝相應的 devel 包(mandrake 下的命名方法)。 一切正常後,編譯並以root 身份安裝 make depend && make && make install 4. 配置 wine: 在用戶的HOME中建立目錄和配置文件 cd mkdir .wine cp wine-20030408/documentation/samples/config .wine/ 使用您習慣的文本編輯器,修改.wine/config 使其反應您的系統狀態。打開 config 後,主要修改最前面的定義驅動器的部分。首先,刪除對Drive A 的設定的一行:([Drive A]的最後一行) "Device" = "/dev/fd0" 然後請根據你的機器的情況,修改剩餘的驅動器。下面給出我的一部分 [Drive C] "Path" = "/backup/c_drive" "Type" = "hd" "Label" = "Dos Drive" "Filesystem" = "win95" [Drive D] "Path" = "/mnt/d/" "Type" = "hd" "Label" = "My Home" "Filesystem" = "win95" 建議:不要將 c: 指向一個存在的真實 windows 盤,而是自己建立一個 「假」的,比如,你想在 /backup/c_drive 下建立一個虛擬 windows 的 c 盤,則執行如下命令(執行以下命令一般需要root 許可權) mkdir /backup/c_drive cd /backup/c_drive mkdir -p windows windows/Start\ Menu \ windows/Start\ Menu/Programs windows/Fonts windows/system32 windows/Desktop ln -s /windows/system32 windows/system 為了可以運行不論處於你linux 任何目錄下的程序,建議添加一個盤,如下(盤符是你現有的下一個就可以了) [Drive G] "Path" = "/" "Type" = "hd" "Label" = "root" "Filesystem" = "win95" 別的基本不需要修改,默認值就可以了。如果你的硬碟上有 NTFS 格式的分區,請參閱 常見問題。 注意:請根據你的系統來配置以上的目錄,否則將無法啟動運行wine。 5. 配置共享庫目錄: 由於我們自己指定了安裝目錄,所以共享庫不位於系統已知的目錄中,為了告訴系統到哪裡找,可以修改 /etc/ld.so.conf 文件,但是,一個更好的方案是使用 shell 的環境變數:LD_LIBRARY_PATH。 在一個 console 中,執行命令 export LD_LIBRARY_PATH="/usr/local/wine/lib" 現在在這個 console 中,你可以繼續下一步了。(是不是覺得太麻煩了,每次要執行一個 windows 程序就要這樣做,不用擔心,後面提供一個腳本,自動完成這些工作) 6. 復制字體: 復制幾個字體到 windows/Fonts 下,推薦至少將 simsun.ttf 復制/連接到這個目錄下(不可一個字體都沒有,否則會造成 X 自動退出)。 7. 測試你的 wine: 在命令行輸入 /usr/local/wine/bin/wine notepad ,如果成功看到了 記事本 程序,則說明 wine 已經可以正常工作了,試試中文輸入,中文的復制和粘貼(目前僅支持wine 與 KDE 程序間中文的復制和粘貼,不支持gtk/gnome的程序);如果出現錯誤信息,請根據提示檢查上面的各步。如果你得到的錯誤信息類似於找不到 libnt.dll.so 或者 version.dll 之類的,那麼你應該是忘記了做 步驟4;如果發生如下的錯誤: spider c $ wine notepad Invalid path L"e:\\" for L"temp" directory: does not exist. Perhaps you have not properly edited or created your Wine configuration file, which is (supposed to be) '/home/spider/.wine/config'. /usr/local/wine/bin/wine -all notepad 說明你的[wine]下的 "Temp" 屬性指向了一個不存在的目錄,將其改為指向 /tmp 就可以了:如第4步,你將G 指向 /,則這樣設置:"Temp" = "G:\\tmp" 優化我們的 wine 現在,wine 可以正常使用了,但是,還是太麻煩了,所以,我們來進行一些小小改進。同時,為了正常運行 xdict,我們也要作些 關鍵性 的調整。 1. 下載 wine 工具包,其中有一個名為 wine 的文件,他的工作就是自動設定 LD_LIBRARY_PATH 目錄。如果你的安裝目錄不同於我的,那麼請修改之。將其保存到 /usr/bin 下,並使其可以執行 chmod +x /usr/bin/wine 2. 安裝支持文件 dcom98:為了在 linux 下安裝使用 installshield 做的 setup,必須要裝這個東東,請在微軟 下載,並使用 wine dcom98.exe 來安裝。如果在復制完文件後報告錯誤:A newer version of DCOM95 or DCOM98 has been installed... , 那麼請先做下一步。 3. 可以在本站下載 常用的 win98 DLL包,並將其解壓到你的虛擬C盤下的 windows/system32 下面。 4. 可以修改 windows 的默認用戶和默認的用戶組織:打開 ~/.wine/system.reg 中的RegisteredOrganization 和 RegisteredOwner 就可以了。 wine 的自帶工具以及使用技巧 本部份簡要介紹幾個 wine 自帶的工具及其功用(僅介紹比較常用的): 1. uninstaller: 反安裝已經安裝的程序 在 console 中輸入: wine uninstaller,然後你就知道了 2. progman: 程序管理器 wine progman, 我覺得這個工具類似於 windows 的任務條。 3. regedit: 維護注冊表 wine regedit: 與windows的 regedit 在功能和命令行參數上完全一樣,不同僅僅是這個沒有 GUI 界面。使用這個工具可以安全的向注冊表中導入信息。如果你想用 wine 來玩 starcraft 或 diable II ,又想上戰網的話,那麼可以用它來導入注冊表文件。 4. winecfg: 圖形配置工具 wine winecfg: 可以使用這個工具來對 wine 進行一些基本的配置。功能比較有限,聊勝於無吧。 5. winefile: 資源管理器 wine winefile: windows 下的資源管理器,想必是使用windows 的用戶最常使用的軟體吧,這個就是那個的一個功能子集。 6. winemine: windows 掃雷 wine winemine: 對,就是 windows 下的掃雷,在窮極無聊時的一種解決方案 7. regsvr32: 自動注冊動態連接庫 wine regsvr32: 某些軟體安裝時,出於某些原因可能要自己使用這個來注冊幾個DLL文件。 常見問題: 1.無法輸入中文? 答:我的結論是,在 gbk 或 gb2312 時可以輸入中文,但是在 gb18030 下不行。請改變 locale 為 GBK 試一下。 2.退出wine時,出現如下錯誤: Unhandled exception: privileged instruction in 32-bit code (0x414f56a8). In 32-bit mode. 0x414f56a8 (_end+0x406e0c in libGLcore.so.1): movl %gs:0x0,%eax 答:試試將 glx 從 XF86Config 配置文件中注釋掉。 3. 發生類似如下的錯誤: err:mole:import_dll Mole (file) COMCTL32.dll (which is needed by J:\Setup.exe) not found,怎麼解決? 答:這類錯誤是由於在 c:\windows\system32 (system) 目錄下找不到某個需要的 native 的 DLL 文件造成的(此例是 COMCTL32.dll )。解決方法是從一個真正的 windows 安裝盤下的相應目錄 過來一個。 4. 如果一個分區是 NTFS 的,安裝的是 win2000/winxp,應如何設置 wine 的driver 部分? 答:不建議使用任何 NTFS 分區上的文件,因為linux 內核對 NTFS 的支持,僅限於讀,而如果要寫入的話,是很危險的(所以默認的 mount 是只讀的)。因此,請使用 fat32 分區或任何 linux 格式的分區。 5. 編譯時發生錯誤? 答:首先請確保你的系統中裝有 gcc 3.x (推薦使用 3.2.x );wine 在 GNU/Linux 主流發行版的較新版本中以及 基於源代碼的發行版中編譯不成問題,但是在 FreeBSD 下好像不可以。 6. 在運行程序時總是得到類似如下的錯誤提示: wine: chdir to /tmp/.wine-root/server-305-242e2 : No such file or directory 答:這是因為你用root 用戶運行wine 的問題。解決方案如下:退出 X,刪除 /tmp 下所有東東,然後用普通用戶運行wine。我的建議是,平時也不要使用 root ,使用一個普通用戶既安全又可以避免很多不必要的麻煩。另一個解決方案 (出處) 是在編譯的時候指定參數: ./configure --with nptl --with-x --prefix=/usr/local/wine 後面的步驟與前述過程相同。 7. 某某程序是否可以使用wine來運行? 答:關於某個英文軟體是否可以在 wine 下正常(或基本正常)的運行,大家可以到 winehq 看看,如果找不到你關心的程序,可以到應用程序資料庫搜索一下,看看其他用戶的 comments,就知道是否有人運行成功了。 測試通過的輸入法 盡管理論上,所有的輸入法都應該沒問題,但我認為這個部分可以讓你知道你喜愛用的輸入法是否已確認被支持。 以下是我測試過的輸入法:(括弧中為測試過的版本) * xsim (0.3.9.4) * chinput * erb-fcitx (1.8.x) * scim (0.4.0,0.3.1) minichinput 是由 chinput 修改而成, fcitx 是 erb-fcitx 的基礎,所以我覺得這2個輸入法也應該 沒有問題。 現在的這個補丁已經不需要修改任何輸入法,就可以正確的使用退格等鍵了,並且修正了在QQ中使用時,會crash的問題,請大家試用。如果先前你下載了 舊補丁, 你可以先取消掉(patch 的 -R 參數)那個補丁,再應用這個新的就可以了。 如果您有好的建議和、或修改意見,請不吝賜教:) 如果你成功的安裝上了,也請麻煩通知我一聲,如果可能的話,我也希望你能告訴我你的運行環境:發行版及其版本號,KDE的版本,gcc的以及你所使用的輸入法的名稱和版本,多謝。 註: 以上在 mandrake 9.0, kde 3.0.3,gcc3.2 gentoo 1.4rc_2, kde 3.1.0, gcc 3.2 gentoo 1.4rc_3, kde 3.1.1, gcc 3.2.1

『陸』 易語言 寫源碼,戰網登錄按鈕操作不了.

元素標識要正確

『柒』 為什麼暴雪一直不重製《暗黑破壞神2》對此你怎麼看

還是利益的原因。
暗黑破壞神2採用的都是當時的創新概念:技能點、道具合成系統、套裝、難度選擇等等,後續 游戲 一直沿用這個設置。

大的公司做事情首先考慮的是效益,其次是成本,最次才是口碑。

先談效益。 重製版 游戲 目前有兩款,星際爭霸已經開始發售,而魔獸爭霸3即將發售。為什麼是這個順序呢?目前星際爭霸玩家和星際爭霸II的玩家數量差不多,星際爭霸已經很老了,可是現在人氣還是這么旺,人氣旺就更容易聚攏利益。那麼暗黑破壞神2的重製版利益在哪?為暗黑3做宣傳么?暗黑3是一款手游,但是收費方式確是單機模式,198一次買斷。本質上其實是兩款單機收費方式的 游戲 ,一旦發售會進一步分流暗黑3的玩家,不會如星際一樣增加總玩家的數量而是分流,這就沒什麼意義了。

再說成本。 開發是需要人力物力和時間的,魔獸爭霸3的重製版已經做了兩年,據說今年底才能發售,這就是三年。三年的總投入,需要給董事會一個交代的,畢竟那是一個企業,以營利為目的,不是公益崗位。暴雪選擇的順序星際爭霸》魔獸爭霸》其他經典 游戲 ,暗黑2就算重製,最多也就是第三位,一個項目越到後來,就越需要更大的利益,所以只能祈禱前兩個重製版 游戲 大火,那麼暗黑2才有可能被重製。

說到這順便說一下我對暗黑3的評價,沒有期待中的那麼好。還記得暗黑二2000年發售,1.92G的安裝文件,當時顯的是巨大無比,但是玩家趨之若鶩,為什麼?大量的創新,讓玩家新鮮感暴增, 游戲 帶來的快樂直線上升。技能點、道具合成系統、套裝、難度選擇等等,甚至後續 游戲 一直沿用這個設置,奠定以後的 游戲 模式也不為過。每個職業,每個難度,不同加點方式都要一一嘗試,再加上劇情精彩無比,讓我們沉浸在其中無法自拔。可是暗黑3呢?能拿的出來的僅僅只有畫面,還有什麼?創新總是很難的,新版本僅僅是炒冷飯罷了。

為什麼拖了這么多年都沒有做出來,我想最主要是因為暗黑破壞神2的重製難度是暴雪三大經典系列裡最高的。從星際和魔獸重製版來看,暴雪是想要在提升畫質的情況下完全還原原作的體驗,並不想做出進化式的改動。而要用現在的 游戲 引擎去模仿老 游戲 的畫面和手感其實並不容易。暗黑之父David Brevik在一次IGN的采訪中談到了這個問題:
屏幕比例

暗黑2的最大解析度是800 x 600,也就是4:3,現在的 游戲 普遍是16:10、16:9。如果直接將畫面擴展成對應比例,就會有一些本該在屏幕外的敵人和NPC「提前」出現在畫面中,而原作中的一些AI是靠檢測屏幕位置來觸發的,這就可能造成一些AI行為混亂。
老舊2D引擎下的操控感
原作中的人物看起來可以向著任意方向上自由移動,實際卻是在「走格子」。整個 游戲 地圖是有數個格子組成的,角色在格子間移動就會出現輕微的卡頓感,要完美還原那種手感會比較麻煩。

關於操控感還有個例子是 游戲 中的武器攻速變化。原作的攻速理論上無上限,並且按數值平滑變化。但一個動作的完成時間如果剛好在兩幀之間,那麼多出的部分在畫面上將體現不出來。暗黑2的引擎每秒固定生成25幀,而現在的引擎普遍是以30/60幀為標准,這個小小的「缺陷」將很難還原出來。

這些細節雖小,影響卻很大,如果全然不顧,整個 游戲 的 游戲 性都會受到影響。

至於有人說不重製是出於商業上的考量,我想完全是多餘的擔心,因為光是暗黑2這個牌子就能大賺一筆,不費吹灰之力。有玩家用了幾年的時間在星際2中打造了暗黑2重製版,可見這個 游戲 的影響力之大。而且暗黑2重製版一出,三大經典就都上了戰網客戶端,對暴雪的平台戰略也有好處。

玩家用星際2引擎重製的暗黑2畫面:

話說回來,David提到的操控感問題是可以解決的,看看同時代的星際爭霸重製版就知道了。而且有玩家大神自製過暗黑2的高清補丁,通過拉遠視距的方法實現了高解析度和不同屏幕比例的適配,也沒有發現有大的AI問題。

打上了高清補丁的暗黑2畫面:

所以這點技術問題終歸是資源投入的問題,只不過按暴雪一貫的龜速,不等個一兩年恐怕是看不到成品的(如果提前出了,我欣然接受打臉……)。

暴雪:玩家意見已收到,「冷飯」已在路上!

近年來,因《泰坦》項目的失利,及動視的插手,暴雪已很久沒推出新的PC 游戲 ,轉而沉迷「炒冷飯」不能自拔。
有理由相信,在暴雪重置了年代久遠的SC與WAR3後,下一個重製產品將是《暗黑2》。
暗黑2之於暴雪,有著舉足輕重的意義。因為這款上線於2000年的 游戲 ,開啟了ARPG的新紀元。

當我們看到暴雪在RTS上取得輝煌成就後,更不能忘記《暗黑2》為ARPG與「暗黑類」 游戲 打下的基礎。《暗黑2》中的很多 游戲 設定,置於當下依舊是無法超越的經典。 這也就造成了 游戲 重製難度高,與暴雪自家兩款RTS不同,ARPG很難只在提升畫質的基礎上重塑 游戲 ,畢竟 游戲 引擎換新後,帶給 游戲 的可能是一把雙刃劍。
重製 游戲 是為了情懷,那麼最好的感情牌就是「原汁原味」。

RTS的原汁原味是競技性,《暗黑2》的原汁原味包括畫面,聲效,光影等方方面面。這一點可以從《暗黑3》口碑不及預期看出,暴雪幾乎顛覆性的製作了《暗黑3》,卻依舊被《暗黑2》玩家視作「最low的暗黑 游戲 」。 因而,《暗黑2》的重製絕不是簡單的畫面升級,而是還原。
在我看來,之所以率先重製兩款RTS。並不是因為這兩款 游戲 熱度最高。而是為了迎合愈來愈火爆的「電競」主題。
在數年前,那個屬於RTS的黃金時代。SC與WAR3都曾是站在山巔的強者,雖後被其他品類 游戲 沖擊而跌落神壇。但RTS的高競技性從未改變,所以暴雪在SC2劇情完結後,就已著手准備SC的重製。而在SC重製版取得成功後,WAR3自然如約而至。 所以,在迎合電競的兩款產品重製後,下一部就會是《暗黑2》。

2018年的暴雪嘉年華應該是歷年來最差的一次,這年玩家沒等到《暗黑4》,更沒等來《暗黑2》重製版。但2019的暴雪嘉年華,暴雪為自身利益著想,很有可能會讓《暗黑2》以全新方式亮相,畢竟暴跌的股價,是暴雪及動視都不想再看到的。

好了,這就是我的回答了,你覺得《暗黑2》會不會被重製呢?歡迎留言討論。

我來說幾句。

暴雪只會重視南暴雪的作品,對於北暴雪的舊作品則是盡量輕視。

簡單的例子,風暴英雄中,連失落的維京人都有,卻沒有一個是來自暗黑1和暗黑2的英雄。

而暗黑3的角色中,也僅有野蠻人和法師是繼承自暗黑2,但模型和2完全不同。

因為暗黑二重製太難了,不像星際爭霸,換套高清貼圖,單位也沒多少,而暗黑2無論是動畫,引擎,資料庫都是獨有的,沒法直接在現在的新引擎上用,而且很多代碼都丟失了。 總而言之充置的話相當於新做一款 游戲 ,耗費的人力物力那是相當龐大的,不然早就重製了

其實,如果暴雪到了重製暗黑2那一天,那說明它已經到了窮途末路,縱觀暴雪出品魔獸世界到現在,真的確實沒有任何一款 游戲 能像暗黑2一樣深入人心且這么久……不服來辯。所以說你看現在,暴雪出品手游暗黑,還是和網易合作,這意義再明顯不過。自打北暴離開那一刻起,暴雪已在偏離的道路上越走越遠。真的等到暴雪重製暗黑2,重製星際1那一天,其實也差不多了,他們已經變相的在重製魔獸世界……等到了那個時候,我們大概已經到了該緬懷暴雪的時刻。

重新做的WIN10系統,安裝正版CDK暗黑2,能玩單機,連接不了戰網,總顯示斷開連接,哪位大神知道怎麼辦呀,求助。

禿鷲公司的三大主創都走了,誰還能復制暗黑2?而且據傳源代碼也不全,重製基本上就是重新做一次 游戲 ,代價也是很大的。

重製還不如開發新 游戲

其中牽扯的利益關系太深遠了,那麼多玩家重金購買裝備,重置,暴雪會被官司搞破產的。

『捌』 魔獸私服有人玩過么

靠 你的問題很沒水準 你知道WOW吸引人的是它上千個任務嗎??? 而不是簡單的無聊的練級 私服能實現正版10%的任務都不到 所以你問問周圍人 什麼網游的私服都大有人在 WOW沒人玩私服的!!!

暴雪的作品不要說私服了 外掛用了都沒效率 所以你也沒聽說過人用外掛玩WOW吧 :) 只有魔獸精靈軟體 還是個插件 不能練級 只能看些游戲信息的

這種游戲只有暴雪做的出來!

引用:
WOW論壇10大新人知識貼:

1。怎麼WOW死亡沒經驗懲罰,PK不紅名?
這個問題已經說過很多了,暴雪製作WOW的初衷是希望玩家能愉快的游戲,所以對於死亡沒有懲罰,同時在WOW里死亡是經常會發生的事情,而並非其他網游中把死亡設定為可怕的事情,新人要首先樹立死亡是正常的觀點,要知道在WOW你有些任務是必須在死亡狀態下才能完成,暴雪特意把死亡狀態作得非常漂亮,大家要好好體驗一下死亡狀態。
在WOW的背景下PK是合理且必要的,但並不表示WOW不保護新人,不喜歡PK的玩家可以進入PVE伺服器,同時在PVP伺服器主城周圍地區是有保護,WOW的交錯地圖設定能讓玩家充分體驗到PVP的樂趣而不必擔心會被玩家惡心PK的問題。

2。有人搶怪怎麼辦?
在WOW里設定是第一個攻擊怪的玩家會獲得全部經驗和掉落物品。(哪怕是只攻擊了一下),這和其他網游里通過攻擊量高低來分經驗和物品的設定不一樣。也許有玩家會問:那不是我搶著打每個怪第一下經驗物品不都是我的了?這不好吧?!
的確在其他網游里如果這樣設定是不合理的,但是暴雪在WOW為什麼要這樣設定呢?
因為在WOW里怪物設定是很BT的,不斷攻擊力高而且AI強(特別是後期怪),一個玩家不可能同時去面對2個怪,然後玩家如果想搶每個怪第一下是完全自殺行為,你可以再邊上等他趴了再殺,因為如果她趴了怪的經驗和物品就是你的了,同時一個小隊也無法面對超過自己人數的怪群,所以玩家想控制一個地區是無法做到的。

3。大工會包了BOSS怎麼辦?
WOW採用副本模式,也就是說任何玩家都能進入自己小隊獨立的副本地圖,沒被邀請的玩家不能進入,這樣任何人都能公平的殺BOSS,不可能出現包場問題。

4。極品裝備買不起怎麼辦?
在WOW里任何玩家只要努力就能輕松打到自己想要的好裝備,同時好裝備是綁定的,裝備後就不能交易,更好的極品裝備是撿起就綁定而不能再交易給別人,只能低價賣NPC商人,所以不必擔心有人壟斷極品裝備。這樣做的好處是杜絕了騙子和盜取裝備的問題。

5。錯把UI插件當外掛。
UI插件這是一種在歐美網游里普遍存在的軟體,UI是通過官方開放UI介面進行製作的,目的是為了方便玩家更個性化的設定自己的界面及操作,這是一種人性化的設定,同時暴雪對於UI是一直監控的,如果有人利用UI為幌子加入破壞游戲平衡的外掛功能就會被暴雪警告切直接屏蔽該UI插件(因為使用官方UI介面所以屏蔽是易如反掌的),玩家不必擔心使用UI會被封帳號,因為一旦UI出現問題,暴雪首先是警告UI製作者,最後屏蔽該UI,而玩家也同時無法再使用該UI,當然建議玩家使用名氣大的UI,以免被不法製作者欺騙而遭到封號損失(有些不法製作者製作的外掛是採用官方不允許的技術) 。

6。為什麼不能用滑鼠移動,用鍵盤移動太別扭?
暴雪之所以採用類似CS的鍵盤移動模式是因為WOW的戰斗方式是很講究走位的,這和其他網游的微操是不一樣的,暴雪設定的戰斗(特別是玩家對玩家的PVP戰斗),講究轉身和攻擊方位,同時5碼攻擊范圍也是PK的關鍵因素,如果簡單用滑鼠移動是無法做到及時轉身和控制5碼攻擊范圍這樣高難度的操縱,就好比CS用滑鼠移動就沒法打了,比較形象的說WOW的戰斗很象拳擊,走位至關重要,這和其他網游占樁PK是完全不一樣的,WOW高手都是移動PK,一個菜鳥可能被殺了還不知道是誰殺了自己,因為對手一直保持在你身後位置,最後提醒一下只用AD鍵轉身的肯定是自殺行為。

7。60級滿級太低了,一下就滿級以後不是很無聊?
的確,在其他網游里級別一直是促使玩家繼續玩下去的動力,但這正說明這類網游的單調處,他們不設定劇情不做有意思的任務,只想通過不斷升高等級來套牢玩家,好在暴雪沒他們這么無恥,暴雪的策劃說過一句話:網游的重點是劇情!
這是讓玩家欣慰的,而且在WOW中暴雪實現了這句話,在WOW里現在有上千個任務,而這些任務都是有著以前單機游戲一樣精彩的劇情(開始的新人任務可能沒這么精彩),NPC是和玩家互動的而不是只對你說去殺幾個XX回來給我。
所以在WOW里不是為了沖級別而玩,好好的享受一下以前只有單機游戲才有的感動吧,而且現在你可以和你的朋友一起去體驗這份感動這是以前只有在夢中才能出現的情景:
和朋友一起體驗RPG的劇情樂趣,分享戰斗的喜悅和戰後的勝利品,而不是其他網游中象佃農一樣的在一個地圖無止境殺怪期待著老天掉下個極品裝備,看著級別龜速上升傻笑著卻不明白自己到底玩了些啥。

8。怎麼這么快就有私服,CWOW是不是完蛋了?
WOW的私服在2年前就出現呢,到現在也依然是客戶端模擬版,因為其他地區都是暴雪自己運營所以伺服器端是不可能泄漏的,當初第一次內部測試只是泄漏了客戶端都驚動FBI(美國聯邦調查局),後面的管理更是嚴格了,而WOW私服經過2年的進化,依然無法實現官服10%的內容,因為要實現殺怪還比較容易,但WOW的精髓是劇情任務,9城關漢化這些內容就花了1年多,更別提要在沒有源代碼的情況下去完整再現這些內容,恐怕就只有暴雪才能做到了,現在開WOW私服的普遍都是自己YY一下,誰都知道要做到和官服一樣那是不可能完成的任務。

9。真的外掛出現了,還是離線外掛啊?
是的,做一個離線外掛十分容易,就是按鍵精靈就能實現自動功能,但是不是說能自動就行了,外掛必須要有效率才能被使用,而暴雪顯然是在製作游戲時就考慮到這個問題,因此在游戲設定上就努力杜絕外掛,當初在暴雪內部測試時,暴雪的程序員曾經自己製作外掛程序來測試,結果發現幾乎沒有效率,比如在WOW里任務獲得經驗時在一個地方殺怪經驗的1。5倍,同時玩家升級快速,在一個地方平均只要殺20-30個怪就該換地方,這對於定點自動外掛是噩夢,而隨便亂走肯定趴,在WOW每天趴趴是正常的,這是離線外掛受不了的事情,沖級型自動外掛無實際意義,因為玩家做做任務就到滿級了,傻子才蹲一個地方砍怪沖級,而切WOW的疲勞設定讓玩家無法長時間殺怪(而做任務沒有疲勞限制),而打裝備是要下副本,如果能作出打副本的自動外掛,這人應該被暴雪請去當WOW第一程序員或者去中國科技學院開發人工智慧。
對於破壞平衡的內掛,這類外掛一般都是因為游戲開發商技術問題才出現漏洞,一般出現也能及時屏蔽,不可能產生大影響,當然暴雪如果連這樣低級的問題都范,她也不可能走到今天。
對於最近出現在WOW的瞬移漏洞,普遍認為是暴雪故意遺留的漏洞引不法製作者上鉤(因為這樣的花招暴雪當年在戰網玩過多次),這不今天又封了200多個,一旦機會成熟暴雪就會在下個補丁屏蔽掉這個漏洞,可憐的玩家又要被暴雪玩了,所以玩暴雪的游戲還是安分點好。

10。看WOW截圖畫面一般呀,游戲好像也不咋地啊?
WOW剛剛擊敗以畫面NB而著稱的半條命2而獲得全球最佳畫面藝術大獎,參與評選的都是全球各大游戲製作人員,而WOW的動態畫面是無法用截圖表現的,暴雪美工的實力在業界是公認第一的,至於游戲好不好玩,我只想告訴你全球游戲製作人都在玩WOW,WOW是公認的未來MMORPG的教科書,每一個網游公司都在研究WOW,現在市面上僅模仿WOW界面的網游就有3個,但是從來只有暴雪才能超越自己,這也是為什麼會有游戲製作人在玩過WOW後說道:10年內不可能出現超越WOW的MMORPG網遊了。

當然,WOW畢竟只是一個游戲,不可能讓所有玩家滿意,出現不喜歡WOW的玩家是正常現象,但無論你是不是喜愛WOW,請真正進入到游戲中玩過後再做結論吧。

『玖』 英雄聯盟是用什麼軟體做的

是用編程軟體做的,包括了很多東西遊戲引擎啊之類的

熱點內容
安卓微信淺色模式怎麼恢復 發布:2025-05-16 06:27:53 瀏覽:239
美嘉演算法口訣 發布:2025-05-16 06:03:15 瀏覽:952
c程序編譯連接 發布:2025-05-16 06:02:36 瀏覽:964
腳本魔獸 發布:2025-05-16 06:01:52 瀏覽:330
文件夾python 發布:2025-05-16 06:01:43 瀏覽:627
電腦我的世界伺服器游戲幣 發布:2025-05-16 05:27:25 瀏覽:489
索尼手機為什麼不能用安卓10 發布:2025-05-16 05:18:46 瀏覽:784
蔚來es6選擇哪些配置實用 發布:2025-05-16 05:18:05 瀏覽:130
小米如何掃碼wifi密碼 發布:2025-05-16 05:13:38 瀏覽:807
樓層密碼是什麼意思 發布:2025-05-16 05:13:37 瀏覽:13