---
# System prepended metadata

title: 創DB、開服務、建玩家資料
tags: [文件, 女神, 分支]

---

---
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 %}