一,某游戲公司例行上線與更新流程示例
例行維護/更新流程
1.1 更新前天
提前確認好要更新的是什么,更新會有人通知你,一般是運營人員
比如:我們明天做什么什么更新
1.2 第2天更新
一般固定點更新,會先收到更新郵件
運營人員會發公告給玩家,說我們什么什么游戲,幾點進行維護
比如:10點更新:
(1)關閉游戲端口,禁止外部訪問,對自己公司開放(更新完要測試)
通過防火牆腳本實現(參考公司已有並在線上正常使用的腳本)
(2)停止游戲程序
如果做了監控,停服前可以關閉監控,如果你知道是自己在停服,也可以不關
這個問題具體要問開發,我們公司就是停止游戲程序的時候會把數據寫到數據庫,所以等程序關閉后再備份。(如果不先停止游戲程序,那么會導致數據庫的數據不一致)
(3)備份數據庫
通過腳本實現數據備份並問下研發需要備份哪些庫
備份完畢后,檢查備份的數據大小,判斷是否與前幾天備份的數據有沒有太大的差異(差距太大表明有問題,需要檢查)
(4)通知相關人員進行更新操作(一般是開發,也可能是自己,根據公司情況而定)
如果是你自己做更新,先看看是什么更新(促銷更新,版本更新,web更新等)
那就得根據是什么更新,就執行什么更新操作(開發會給更新流程),如果有老人帶,做完后總結下(這樣自己會更明白些)
更新內容,比如添加幾個文件,數據庫添加字段等,熟練后可以寫成腳本
(5)啟動游戲程序
當更新完畢后,就啟動游戲程序,以便進行下面的測試
(6)通知相關人員進行測試(研發,測試人員,運營人員等)
游戲能不能正常打開,能不能正常登錄,該更新的東西有沒有更新好
(7)打開游戲端口,允許外部訪問
如果測試沒有問題,運營人員會說,可以開服了;就可以把游戲端口對外,就是玩家可以登陸游戲
和相關人員確認好什么時候可以停止游戲程序操作(停之前備份數據庫還是之后)
1.3 總結
- 接收到更新郵件
- 查看是什么更新
- 不同的更新執行不同的更新流程
- 和相關人員確認好什么時候可以進行更新操作
- 到了更新時間后進行更新流程
- 連上需要更新的服務器
- 執行防火牆腳本,關閉游戲端口,禁止外部訪問,對自己公司開發
- 停止游戲程序
- 備份數據庫
- 通知相關人員進行更新操作
- 更新完畢后,啟動游戲程序
- 通知相關人員進行測試
- 測試沒問題,執行防火牆腳本,開放游戲端口,讓玩家登陸游戲
1.4 注意事項
更新前操作:
(1)收到更新郵件,可以先確認郵件中更新文件是否能夠正常下載
機器比較多,開發也很忙,有時會出現,開發並沒有把包上傳到固定的機器或者沒有傳好之類的。
(2)確認好更新維護時間
一般是固定時間,然后運營人員要對玩家發布公告
(3)可以先連上需要操作的機器
(4)如果做了監控,停服前可以關閉監控,如果你知道是自己在停服,也可以不關
(5)檢查游戲開放的端口
進行更新時:
(1)第一步關閉游戲端口並確認端口確實關閉了
(2)停止游戲程序並確認確實關閉了(可以通過查看進程的方式,如果是java寫的程序,直接ps -ef | grep java即可)
(3)執行備份數據庫的腳本並驗證備份文件的大小是否正常
(4)備份好了后,通知相關人員進行更新操作並確認更新正確,比對md5,文件時間等(如果是自己更新,就提取准備好更新的步驟;熟練后,可以寫成腳本)
(5)所有服更新完畢后,啟動游戲程序並確認啟動成功
(6)通知相關人員進行測試,比如,是否能登陸游戲,登陸游戲后需要改變的地方有沒有改變(一般運營人員操作)
(7)測試沒有問題,執行防火牆腳本,開放游戲端口,讓玩家登陸游戲
1.5 游戲業務類專業術語解釋
- [x] 合服:其實就是合並玩家數據(例如:1服和2服合並,其實就是合並玩家的數據,將1服數據導入2服數據庫,然后1服就能用來開3服了)
- [x] 混服:就是同一個服務器,運營兩款不相同的游戲
- [x] 同服:在一個配置比較高的服務器上,同時部署兩款相同的游戲,比如火影忍者,可以部署1服2服等(就是將程序拷貝一份,修改端口等在啟動====>類似多實例)
- [x] 跨服:多個服的玩家在一起玩,比如1,2,3,4服玩家都在一起玩。