ServerSync在服务器和客户端运行时会生成不同的配置文件,通过对配置文件的编辑,以完成对各种操作的需要。

ServerSync版本
配置文件的位置
3.6.0及以下config/serversync
4.0及以上与ServerSync同一目录

本教程第一部分以3.6.0的配置文件为例,3.7.0基本配置类似;第二部分以4.1.0版本为例。



第一部分:3.6.0版本及以下



  • Clientmods设置(用于方便推送R键整理、小地图等客户端专用mod)


  1. 调整serversync-server配置文件中的项目 B:PUSH_CLIENT_MODS=false,改为true。启动一次SS服务器端然后关闭,会在服务器根目录自动建立clientmods文件夹。

  2. 将R键整理此类的mod放进clientmods文件夹中。

  3. 在客户端调整serversync-client配置文件中的REFUSE_CLIENT_MODS为false。

  4. 这样就可以保证客户端的专用mod不会被删除了。


  • serversync-client.(客户端配置文件)


# Configuration file
general {
    # # Set this to true to refuse client mods pushed by the server, [default: false]
    B:REFUSE_CLIENT_MODS=false                        
    //拒绝服务器发送的客户端mod。true:拒绝,false:接受。
}
serverconnection {
    # # The IP address of the server [default: 127.0.0.1]
    S:SERVER_IP=127.0.0.1                        
    //服务器IP
    # # The port that your server will be serving on [range: 1 ~ 49151, default: 38067]
    I:SERVER_PORT=38067                        
    //同步服务器访问端口。请设置端口号为1~49151,超过这个范围会导致ServerSync无法正确保存相应信息!!影响自动化执行。
}
rules {
    # # These files are ignored by serversync, add your client mods here to stop serversync deleting them.
    S:FILE_IGNORE_LIST <                       
     //拒绝客户端同步的文件列表。
}
        **/serversync-*.jar
        **/serversync-*.cfg
    >
}
misc {
    # # Your locale string
    S:LOCALE=zh_CN                       
     //本地语言设置
}
}

  • serversync-server.(服务器端配置文件)


# Configuration file
general {
    # # set true to push client side mods from clientmods directory, set on server [default: false]
    B:PUSH_CLIENT_MODS=false                        
    //推送客户端mod。true:推送,false:不推送
    # # The type of sync being used, tweak this if you want different network performance
    # # NOT CURRENTLY IMPLEMENTED
    I:SYNC_MODE=0                        
    //同步使用的网络模式(不建议修改),未开发完成。
}
serverconnection {
    # # The port that your server will be serving on [range: 1 ~ 49151, default: 38067]
    I:SERVER_PORT=38067                        
    //同步服务器访问端口。请设置端口号为1~49151,超过这个范围会导致ServerSync无法正确保存相应信息!!
}
rules {
    # # These configs are included, by default configs are not synced
    S:CONFIG_INCLUDE_LIST <                              
    //需要同步的config文件列表。默认不同步config文件夹下的所有文件。
    >
    # # These directories are included, by default mods and configs are included
    S:DIRECTORY_INCLUDE_LIST <                        
    //需要同步的文件目录。PS:魔改服的朋友可以在此添加scripts来同步魔改文件。
        mods
    >
    # # These files are ignored by serversync, list auto updates with mods added to the clientmods directory
    S:FILE_IGNORE_LIST <                        
    //拒绝向客户端发送的文件列表
        **/serversync-*.jar
        **/serversync-*.cfg                        
        //这两行执行的操作:拒绝发送所有文件夹下的带有serversync-名称的jar和cfg文件
    >
}
misc {
    # # Your locale string
    S:LOCALE=zh_CN                            
    //本地语言设置
}

  • 添加文件忽略规则(具体忽略规则模式)


应用场景:

  • 使用sponge开服时,需要把插件放进mods文件夹内,推送更新时,不需要推送插件。

  • 其他需要忽略文件的时候。


编辑服务器的serversync-server.cfg里面的

S:FILE_IGNORE_LIST <                       

        **/serversync-*.jar

        **/serversync-*.cfg                       

    >

】字段,添加mods/完整文件名称。


举例:mods/luckperms.jar


其他文件忽略规则(根据自己的需要去修改里面的内容,但必须保证写法正确):



基本规则写法释义
mods/1.12.2/**忽略mods文件夹下的1.12.2文件夹以及里面的全部文件
**/xxxxxx忽略所有目录下的xxxxx文件(完整的文件名称)
mods/ic-*.jar

忽略mods文件夹里的ic-*.jar类别的文件;比如ic-1.0.jar

**/*.disabled忽略任意目录下以".disabled"结尾的文件
**/*tweak*忽略任意目录下文件名包含“tweak”的文件





第二部分:4.0.0及以上版本


ServerSync 4.1.0版本的配置文件

-服务器端-


配置如下(注意,json文件不建议添加注释,请删除//及其后内容后使用)


{
  "general": {
    "push_client_mods": false,
    //是否推送客户端专属mod,注意,开启后新建的文件夹clientmods不需要包含在被同步的列表中
    "sync_mode": 2
    //同步模式(1:在线比对,速度较慢;2:使用FileList,速度极快),不建议修改。
    //3.6.0版本默认为1,3.7.0-alpha2版本以后默认为2.
  },
  "connection": {
    "port": 38067,
    //监听的端口,不可与MC服务器端口重叠
    "buffer": 65536
    //新高级功能,不建议更改(据作者表述,数值越大传输越快,越占用上传带宽)
  },
  "rules": {
    "directories": [
      {
        "path": "mods",
        "mode": "mirror"
      }
    //此处为需要同步的目录的同步规则,有mirror(镜像)与push(推送)两种模式;
    //mirror模式下,不可以存在多余的文件,push模式下,允许多余的文件。
    //两种模式均会更新同名文件至相同(根据哈希值判断),注意添加时需要在每个“}”后添加一个逗号,最后一个“}”后不允许存在逗号。
    //所有符号均为英文。在默认情况下为push模式,下面会提到。
    ],
    "files": {
      "include": [
        "mods/**"
    //此处为需要同步的文件,通配符参照3.7.0版本末尾。例如:**就是指所有文件,mods/**即为mods文件夹中的所有文件。
    //此处包含的文件即使没有在上面的directories中定义,也会默认以push模式推送给客户端。
    //规则中定义了但此处不包含,也不会推送给客户端。
    //建议规范书写,规则与文件/目录对应。添加时需要在每个""后添加一个逗号,最后一个""后不允许存在逗号。*/
    //例子:
        //"mods/**",
        //"save/**"
      ],
      "ignore": [
        "**/serversync-*.jar",
        "**/serversync-*.cfg"
        //此处为需要忽略的文件。注意若一个文件被忽略,会视为此文件不存在,也就是在mirror模式下,会删除客户端的文件。
        添加时注意json语言规则(同上)
      ],
      "redirect": [
        
    //此处为重定向,如何添加未知。但是机制可以解释一下:
    在允许推送clientmod的情况下,clientmods文件夹下的内容会被重定向至mods中,视为mods下的文件,遵守mods文件夹的规则
      ]
    }
  },
  "misc": {
    "locale": "zh_CN"
    //语言设置
  }
}

ServerSync 4.1.0版本的配置文件

-客户机端-


{
  "general": {
    "refuse_client_mods": false,
    //是否拒绝接受推送的客户端专属mod。
    "sync_mode": 2
     //同步模式(不建议修改)
  },
  "connection": {
    "address": "127.0.0.1",
    //ServerSync服务器的IP地址
    "port": 38067,
    //ServerSync服务器的端口
    "buffer": 65536
    //取值与服务器最大传输速度有关,不建议修改。
  },
  "rules": {
    "files": {
      "ignore": [
        "**/serversync-*.jar",
        "**/serversync-*.cfg",
         //此处为需要忽略的文件。
      ]
    }
  },
  "misc": {
    "locale": "zh_CN",
    //语言
    "theme": "BLUE_YELLOW"
    //更新器主题
  }
}

关于自动运行配置,可以看作思竹(添加4.1.0版本者)的短评。Bug较多故暂时不添加,已提交github,期待下版本修复。
介于4.2.0版本缺少jfx组件集成,因此易发生图形界面打不开(双击没反应)的情况,等待作者修复,鉴于以上情况,现阶段自动化执行宜采用3.6.0版本。