切換
舊版
前往
大廳
主題

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

深海異音 | 2019-07-01 01:32:36 | 巴幣 5508 | 人氣 7272


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


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

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



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






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

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


舉例來說

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

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

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





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


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

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

可以想象成「拼圖」






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

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

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





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


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

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

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

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

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


最後隨便貼張圖好了



送禮物贊助創作者 !
0
留言

創作回應

下北澤的綠茶
我也很好奇 馬鈴薯伺服器的可能性
2019-07-05 07:37:48
媽媽樂博士
Bi business intelligence ><
2019-07-28 23:01:02
チョコラネコ
現在看到這篇,頗有感覺的
每周固定維修日,只要看到主管群下午被抓去開會

那就代表上線的新東西出包了...
2020-02-03 20:20:01
汐鹿生
科普 讚
2021-06-02 17:54:00
再說下去我打斷你鼻樑
雖然知道 但維護這說法消費者比較能接受
2022-05-05 23:25:09

更多創作