--- title: '創DB、開服務、建玩家資料' disqus: hackmd --- 新分支 - 創DB、開服務、建玩家資料 === ## 大綱 [TOC] ## 創DB 1. 請企劃上傳表單至SVN 2. 按照企劃表單的欄位,在DB新建相對應的table 3. 跑Jenkins更新表單資料 > Design -> design-UploadConfig 4. 新增 `shell/stub/玩法名稱.sh` 5. `# make stub name=玩法名稱` 6. 在 `src/server/玩法名稱` 資料夾下新增 `world.go` 並根據新表單做修改 ## 開服務 ### 改Code 1. `src/proto/protocol.go` 加入服務節點定義 2. 在 `src/server/玩法名稱` 資料夾下新增下列檔案: * `sandbox_init.go` * `sandbox.go` * `service.go` 3. 修改上述檔案 (package name、變數名、..等等) :::info 可以搜尋有標註 `//*** EDIT HERE ***//` 的地方 ::: 4. `src/server/server.go` import剛剛加入的新package 5. SVN commit 6. 跑Jenkins更新開發機 > server -> server-更新開發機版本 > 集群控制台 -> 配置(節點):新建節點(參數請參考其他service) -> 配置(設備):更新 ### 集群控制台 1. 檢查即將被新增的區服ID已經被分配到戰區 ![](https://i.imgur.com/KLfZv1l.png) 2. 新增區服 > 區服 -> 列表 -> 新建區服 ![](https://i.imgur.com/J54gLyQ.png) 3. 批量複製節點 > 配置 -> 節點 -> 複製 4. 更新設備 > 配置 -> 設備 -> 更新 5. 修改開發機上的 `/data/api/src/Conf/servers.php` ![](https://i.imgur.com/VE1DIA8.png) ## 建玩家資料 1. 在DB的character Schema下新增玩家資訊table (由程式討論決定要有那些欄位) 2. `# make db` 3. `# make stub name=玩法名稱` 4. 處理跟player相關的code * `entity_player.go` * `module_player.go` * `sandbox_player_handler.go` 5. 修改 `sandbox.go`、`sandbox_init.go` 6. 註冊事件(ex. 登入、..) `base_event_inner.go` :::info **Find this document incomplete?** Leave a comment! ::: ###### tags: `女神` `文件` `分支` {%hackmd BJrTq20hE %}