官方MOD说明

以master为例,developer_mods目录自带官方MOD如下

img

  • neteaseLogin,登录MOD
  • neteaseMasterHotfix,热更MOD
  • neteaseMasterHunter,执行指令/脚本MOD
  • neteaseCommonSilent,禁言/解除禁言MOD
  • neteaseMonitor 监控数据MOD

替换官方MOD

neteaseCommonSilent为例

  • 在自己的MOD目录下添加修改后的neteaseCommonSilent
  • 配置mods字段

img

部署的组装过程顺序是引擎、官方MOD、自定义MOD按列表顺序加载,后者会覆盖前者

 

引擎初始化脚本

  • 在server.properties同级目录,可以添加引擎初始化脚本init.sh

  • 部署脚本在启动加载该MOD的引擎前,会在当前目录执行init.sh进行对应的初始化操作

  • 引擎如果加载了多个MOD,且均配置了init.sh初始化脚本,则会按照deploy.json配置的MOD顺序执行相应的init.sh

  • init.sh示例1:移除官方禁言MOD

  • init.sh示例2:移除糖的合成配方

     

开服工具角色进阶

以下所有目录均以项目sample为例介绍

master

目录

/home/fuzhu/netgame/app/sample/master/master_master_8503 目录内容如下所示:

img

developer_mods

  • 服务端加载的MOD目录,不会被传送到客户端。

netgame_scripts & scripts

  • python引擎相关目录,不可修改。

master_conf.json

  • master配置 { "http_port": 8503, "keep_alive_period":10 }
  • keep_alive_period表示心跳是10s
  • http_port是master的http服务监听的tcp端口,只能使用8000-9000的端口。

netgame_common.json

  • 全局公共配置,由部署工具deploy_client生成
  • serverlist中可以看到所有服务的ip,端口等

示例如下: { "game": [ { "app_type": "game", "app_version": "1.9.0", "ip": "111.222.333.444", "mods": "game", "num": 1, "type": "game" } ], "lobby": [ { "app_type": "lobby", "app_version": "1.9.0", "ip": "111.222.333.444", "mods": "lobby", "num": 1, "type": "lobby" } ], "proxy": [ { "app_type": "proxy", "app_version": "1.9.0", "ip": "111.222.333.444", "mods": "", "num": 1, "type": "proxy" } ], "servicelist": [ { "app_type": "service", "app_version": "1.9.0", "http_port": 9002, "ip": "111.222.333.444", "mods": "service", "module_names": [ "event", "idv_service", "netease_salog_0", "report" ], "serverid": 10, "type": "service" } ], "netgame_common_url": "http://111.222.333.444:8503/conf/query/get-netgame-common", "nginx_netgame_common_url": "http://111.222.333.444:8503/conf/query/get-netgame-common", "log_debug_level":true, "online_mode":false, "redis":{ "host":"111.222.333.444", "port":6379, "password":"" }, "mysql":{ "host":"111.222.333.444", "user":"minecraft", "password":"minecraft", "database":"minecraft", "port":3306 } }

部署配置转换

  • deploy.json和netgame_common.json可以互相转换
  • 如果您希望指定某个服务器进行更新部署,如删除某个id的服务器,可以按如下步骤执行:
  1. 拷贝current目录的netgame_common.json到项目目录PROJECT_DIR
  2. 将netgame_common.json里指定id的服务器删除
  3. 把项目目录下的deploy.json移除
  4. 执行deploy
  5. 完成后,current目录的deploy.json的数量和netgame_common.json已经更新
  6. 重新把current里的deploy.json放回PROJECT_DIR,并移除netgame_common.json

service

developer_mods

  • 服务端加载的MOD目录,不会被传送到客户端。

service_conf.json

  • service配置 { "serverid":10, "base_config_url": "http://11.1.1.1:8509", "network_config_url": "http://111.1.1.1:8888/obt/netgame_common.json", }
  • serverid表示service的服务器id,service从netgame_common.json中获取服务器ip和端口。
  • base_config_url是master的http服务器地址。
  • network_config_url是获取netgame_common.json的http服务器地址。

game & lobby

目录

game目录: /home/fuzhu/netgame/app/sample/game/game_game_3000000 目录内容如下:

img

lobby目录: /home/fuzhu/netgame/app/sample/lobby/lobby_lobby_2000000

img

server.properties

  • server-port=20000不要改,避免占用了部署工具自动分配的端口,实际这个端口没用上
  • max-players=1000不要调整过大,设置成合适的,服务器启动的时候会根据这个配置预申请内存

developer_mods,resource_packs,behavior_packs

  • 同上,服务端加载的MOD目录

参见文件目录

proxy

proxy目录: /home/fuzhu/netgame/app/sample/proxy/proxy_proxy_1000000

目录

img

proxy.local.config

proxy配置示例: { "network_config_url":"http://123.456.789:8503/conf/query/get-netgame-common", "serverid":1 }