Sunday, September 6, 2009

Ghost++ 開遊戲機器人

BBS版本請到PTT(telnet://ptt.cc) WarcraftChat板觀看
我不發Warcraft板,發文沒被m過,浪費力氣

http://forum.codelain.com/index.php?board=22.0


GHost++ stands for Game Host.
簡單說就是開game用的 (目前只支援War3)



為什麼要使用GHost++?

Open Source!! 可額外選用patch增加需要的功能,或自己改
可以分離主機和玩家端,開遊戲不一定要用自己的電腦開,可節省資源減少lag
可同時進行多個遊戲,只要遊戲開始了,bot就可以繼續開一下個遊戲
可自動開遊戲,人滿就自動開始 (!autohost)
內建無訊息自動刷房 (不會出現誰加入離開)
內建反延遲及遊戲管理功能 (ex: 查ping, 國家, 黑名單...等)
可自動踢掉網路太差的玩家
可自動過濾國家 (目前custom build才有,官方版沒採用)
支援多平台,不需要安裝遊戲主程式 (Windows, Linux, Mac皆可使用)



ghost.cfg 設定檔
motd.txt 進入遊戲大廳的公告 (沒有請自己建立)
gameloaded.txt 地圖讀取完的訊息
gameover.txt 遊戲結束的訊息



ghost.cfg需要改的地方

bot_war3path = D:\Warcraft III\
war3路徑
沒有war3的電腦,要有下面的檔案 (請從有安裝的電腦copy過來)
game.dll
Storm.dll
war3.exe
blizzard.j
common.j





bot_mappath = maps\
war3地圖檔路徑,請把要用的圖都copy一份進去
或是使用 link shell extension 做連結

bot_spoofchecks = 0
bot_requirespoofchecks = 0
改名檢查,最好關掉 (不關應該沒幾個人會通過,就被踢光光)

bot_latency = 150
反延遲設定


admingame_create = 1
開啟Lan game管理介面
admingame_password = ranranru
Lan game管理介面密碼


bnet_cdkeyroc =
bnet_cdkeytft =
遊戲序號


bnet_server = uswest.battle.net
bnet_serveralias = USWest


bnet_username = IamBot
bnet_password = ******
帳號 密碼

bnet_firstchannel = test
進哪個頻道
bnet_rootadmin = ranranru
你老大是誰


bnet_bnlsserver = bnls.hikato.com
bnet_bnlsport = 19283
Warden相關的東西,直接用老外提供的就可以了
不想用老外的,自己跑server也可以
設定錯誤會一直跟Battlenet斷線






常用指令
!map load a map file (".w3m" and ".w3x" files),
!load load a map config file (".cfg" files), leave
blank to see current map

!priv host private game
!pub host public game

!close ... close slot
!open ... open slot
!closeall close all open slots
!openall open all closed slots
!from display the country each player is from
!ping [number] ping players, optionally add [number] to kick
players with ping above [number]
!unhost unhost game
!start [force] start game, optionally add [force] to skip
checks



使用方式

先用 !map 或 !load 選一張圖

!map指令只能開非正規圖,只能用預設選項開,不能在遊戲開始時打指令
!map ImbaWar592b.w3x
請確定 bot_mappath 路徑內有 ImbaWar592b.w3x,否則會錯誤



以正規圖為例,介紹!load的用法
!load tw-ref.cfg
請確定 bot_mapcfgpath 路徑內有 tw-ref.cfg,否則會錯誤

tw-ref.cfg的內容
map_path = Maps\FrozenThrone\(4)TwistedMeadows.w3x
給replay看的,(4)TwistedMeadows.w3x改成你用的地圖,其他不要動

map_localpath = FrozenThrone\(4)TwistedMeadows.w3x
看你圖放在哪就設哪嘍


map_speed = 3
map_visibility = 4
map_flags = 3
map_gametype = 2


# map observers
# 1 = none
# 2 = on defeat
# 3 = allowed
# 4 = referees

map_observers = 4



選完圖後
公開遊戲 !pub 正規隨便打
私人遊戲 !priv 1234

公開遊戲開了bot就會從頻道消失,私人遊戲不會
有沒有開成功,bot會告訴你

進入遊戲後,記得先用/w 密一下bot,做完id檢查 (bot跟war3同一台的不用檢查)
否則bot怕你是假冒的,不會聽你的話
開始遊戲打 !start
關掉遊戲打 !unhost
遊戲開始後bot就會回到聊天頻道了,可再開下一個遊戲
頻道中的對話,bot也可轉送給你




只有一套cdkey要怎麼使用?

在ghost.cfg中 admingame_create = 1
進lan game,加入admingame
加入後打 !password ranranru (你的密碼)
接著就跟前面提到的一樣了 (!map/!load 然後 !pub/!priv)
開好後,離開admingame
會在lan game看到你剛開的遊戲,加入即可


有Visual C++的,建議調一下設定,自己編最佳化版本
檔案比較小,執行效率也比較好


較少用的功能懶得寫,某些功能/用法是不能寫
未提及的部份,請自己看文件







我編的15.0以後版本需配合官方版本使用


Ghost++ 15.0 SSE2 build


Ghost++ 14.7 SSE2 build

No comments: