創作內容

166 GP

遊戲公司說的「伺服器升級」或維護到底是什麼,為什麼經常延遲?

作者:深海異音│2019-07-01 01:32:36│贊助:2,096│人氣:2267

相信有不少人會覺得奇怪
怎麼遊戲公司說要伺服器維護或升級
好像沒有準時完成才是正常現象
就像全公司的泡麵全部都翻倒在伺服器上面一樣


其實所謂的伺服器並不見得要是什麼超級電腦
也不一定是什麼整個房間堆滿電腦的機房
任何一台有CPU的裝置,都能夠變成伺服器
不管是Windows、MAC、Android ,只要裝了特定的軟體,就能變成伺服器
甚至自走車在用的arduino或樹莓派,也都能變成伺服器

伺服器簡單來說,就是一台電腦
然後使用者可以叫這台名為「伺服器」的電腦做事情
最簡單的例子就是「網頁伺服器」
使用者之所以能夠用瀏覽器上網,就是因為我們「訪問了對方的伺服器」



這下這張圖比較容易懂
總之伺服器就是負責回應每個使用者「請求」的「一台電腦」






既然伺服器是「一台電腦」,當然不會經常變動硬體設備
就像一般人不會一個禮拜換一次顯示卡一樣

遊戲公司所謂的「升級伺服器」,通常指的是「軟體」方面的升級


舉例來說

遊戲在「101版」時有3個道具
分別叫做 紅色寶石、藍色寶石、綠色寶石
但這樣道具太多了,遊戲公司打算合併這3個道具
升級到「102版」後,這3個道具會統一被合併變成「寶石」

工程師要從資料庫裡面拿出每個玩家身上的道具
刪除他們的 紅色寶石、藍色寶石、綠色寶石
然後根據刪除的數量,把新道具「寶石」放回玩家們的背包

工程師這個操作資料庫的行為
顯然不太可能在玩家玩遊戲的時候進行
因為風險太大
所以工程師就要趁所有玩家都沒有上線的時候進行
但遊戲公司當然不可能說「工程師要修改資料庫,所以暫時不開放連線」
取而代之的就是常聽到的「伺服器維護」





遊戲也沒有經常合併或刪除道具,怎麼會每次都弄半天?


其實每一次遊戲改版,伺服器都需要調整很多東西

伺服器的用途是「回應使用者的請求」
對遊戲用的伺服器來說,對他發出請求的就是「使用者的遊戲APP」
同一個遊戲會有很多版本,每一個版本當然也都會有差異
遊戲每一個不同的版本,傳送到伺服器的資訊可能都會有差異

可以想象成「拼圖」






遊戲不同版本
「遊戲APP」發出的「請求」,跟「伺服器」「回應」的資料都會有差異

「101版的遊戲APP」,不能接「102版的伺服器」
反之
「102版的遊戲APP」,不能接「101版的伺服器」

這個就是每次維護都需要弄半天的主因
為了避免在變動伺服器軟體內容的時候,玩家玩到一半出現BUG
所以凡是有關伺服器方面的變動,通常只能在沒有玩家連線的時候進行





伺服器在有玩家連線的時候就不能變動,那怎麼測試跟開發?


所以通常公司會有2種伺服器
「測試用伺服器」跟「正式伺服器」
開發的時候全部都是在測試伺服器上面進行
這樣就能在不影響玩家的狀態下進行開發與各種測試

遊戲公司說他們在升級或維護伺服器
其實是他們的工程師正在全力趕工
把「測試伺服器」的內容,轉移到「正式伺服器」

這個轉移過程,很容易遇到問題
  • 測試伺服器的環境與正式伺服器的不一樣,導致某些功能無法順利運行
  • 修改正式伺服器的資料庫欄位,因為衝突導致失敗
  • 更換硬體設備後,莫名其妙不能運行
之類的

只要沒搞定所有的問題,就不能對外開放伺服器
所以才會經常搞到超出時間

不過當然啦,上述這些問題
都是能透過有良好作業流程,或是完善的系統架構來避免
不是一定要拖半天


最後隨便貼張圖好了



引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4445172
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 20 篇留言

翡翠
你還有幾張幼女的圖阿

07-01 01:39

深海異音
剛剛才從網路找的07-01 01:42
CGB
台灣有沒有公司是專門負責伺服器維修和架設的

07-01 01:47

深海異音
這我就不清楚了,不過外包也有一定程度的風險,畢竟裡面有公司的資料。
比較常見的是伺服器託管的服務,例如用亞馬遜、微軟、google的伺服器,來架設自己的服務,這樣就不用自己維護硬體設備07-01 01:51

我曾有想過一點
維修延了又延會不會是找不到解決辦法的這種可能?

07-01 02:50

深海異音
是呀,通常都是突發狀況,只好延長維修時間,硬著頭皮除錯。
總不能跟玩家說,我們版本升級失敗,下禮拜再繼續升級07-01 03:01
⛅新的旅程•即將展開
有沒有遊戲公司為了省成本,不使用測試伺服器,而選擇在正式伺服器的維護時間才進行大幅度的調整呢?像神魔之塔的每次維護時間高達8個小時,開機後卻bug一堆,明顯的破圖跟卡頓當機,而且還得排隊分流一個小時以上,可能是什麼原因呢?

07-01 03:46

深海異音
通常不會這樣子做吧,因為所有操作都是不可逆行為,
所以測試跟開發的難度變高,整體成本不減反增07-01 03:48
深海異音
比較有可能的是,工程師本身經驗不足,導致沒辦法在短時間內轉移伺服器環境,
或是公司作業沒有良好的作業流程,誰曾經改過什麼沒有明確記錄,開始轉移資料後才手忙腳亂的比對測試與正式伺服器,程式碼不一樣的地方07-01 03:53
腸腸 愛你呦❤-ωก̀
大神膜拜

07-01 03:56

小言
想到那個維修好幾年的遊戲

07-01 05:33

狂気なケルベロス
現在在日本做系統
幫日本政府做(後期医療保険的所得稅系統)

大概做系統方面的會對這方面比較熟悉吧XD
會出BUG真的蠻正常的
所以我們做這類系統時程都拉很長(尤其在測試階段特別謹慎

07-01 06:32

我喜歡吃飯
異音文真的有夠讚

07-01 07:06

響湘紅

07-01 07:54

菲雅莉
笑、我知道哦

07-01 08:23

亞梨子拉拉
正在學WS 2016中…… 光實作測試就常常出狀況…

07-01 08:32

我只是路過的蘿莉控
很好 最後那張圖片吸引到我了

07-01 08:44

我只是路過的蘿莉控
神魔那個之前聽說工程師才8個的樣子
一整個爆肝www

07-01 08:45

channellengthmodul
好奇問,修改過關後的獎勵是什麼原理

07-01 09:28

深海異音
我不太確定你是問哪一種
如果是遊戲公司他們自己修改的,就是過關獎勵的內容是記錄在資料庫,隨時都能變動。
如果是玩家自己用外掛修改的,有可能是修改本地端的資料包內容,或是用修改器直接修改記憶體內容07-01 21:01
狐鈴最高
所以hotfix就是不關伺服器的伺服器維護?

07-01 17:08

深海異音
是呀。系統當初設計的時候如果有考慮到擴充與維護性,那麼大多數的變動就都能都在不影響使用者的情況下進行。
當初沒有這麼設計的系統,只要是稍微大一點的變動,就沒辦法hotfix了07-01 20:59
銥微歐
從刪庫到跑路

07-01 17:24

魔道獨行
回想起艦C那毀天滅地的超長維護...
每次維護總能出些事情

07-01 17:56

喵喵叫的鳥
馬鈴薯接線真的也可以成為伺服器嘛?

07-02 20:20

鯊魚控綠茶
我也很好奇 馬鈴薯伺服器的可能性

07-05 07:37

媽媽樂博士
Bi business intelligence ><

07-28 23:01

我要留言提醒:您尚未登入,請先登入再留言

166喜歡★hbl917070 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:場外最大的PK系統上線啦... 後一篇:場外專用的文章查詢系統,...

追蹤私訊

作品資料夾

solomonking喜歡小說的有緣人
歡迎來我的小屋看小說,喜歡的可以按讚^^看更多我要大聲說昨天19:09


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】