Skip to content

Minxyzgo/rustlist

Repository files navigation

rustlist

一个简单的的第三方铁锈战争列表

运行

releases中下载jar后,在目录中直接运行java -jar rustlist-all.jar

运行后,当前目录会出现一个配置文件 config.yaml,以下为配置信息

  • port运行的端口
  • accessToken调用api时的验证token
  • staticRoomList静态的房间列表
  • updatePeriod列表更新的时间间隔(单位:毫秒)
  • roomTick非静态房间最多可存在的时刻,以updatePeriod计算,如填5则代表经过5次updatePeriod时间后,该房间将会被删除
  • enableClientAction是否允许客户端执行列表操作
  • selfInfoTimeoutenableClientAction启用的前提下,查询客户端是否开放的超时时间(单位:毫秒)
  • clientLimitsPerMinuteenableClientAction启用的前提下,客户端每分钟访问的最大次数

下面是一个合法的配置文件:

port: 8080
accessToken: cSBrUerixWA7aezSfHo9f_LKJkZss2Pj5uJ_4SEoBIw
roomTick: 5
updatePeriod: 2000
enableClientAction: true
staticRoomList:
  - creator: "RELAY-CN"
    mapName: "RELAY-CN"
    version: "1.15"
    playerCurrentCount: 0
    playerMaxCount: 1000
    isUpperCase: true
    netWorkAddress: 43.248.96.172
    port: 5123

  - creator: "GameMaster"
    mapName: "SKY FORTRESS"
    version: "1.15"
    playerCurrentCount: 78
    playerMaxCount: 100
    isUpperCase: true

  - creator: "NoobSlayer"
    mapName: "Underground Lair"
    version: "1.16"
    playerCurrentCount: 42
    playerMaxCount: 64
    isUpperCase: false

使用

原版铁锈战争并不支持直接切换列表,但可以使用RWPP来读取第三方列表

打开RWPP后,点击多人游戏,点击在右下的+ 1

之后,在Server Type中选择RoomList,并填写url. (格式示例: http://127.0.0.1:8080/interface?action=list, 注意应为http) 2

同样可使用mt/nt管理器修改原版文件达到同样的效果,可先提取原版文件安装包,点击查看 t1

点击classes.dex后,点击Dex编辑Plus t2

在搜索中搜索gs1,点击搜索结果 t3

将红色框住部分删除,将蓝色框选部分更改为你的列表地址,例如http://127.0.0.1:8080 之后保存安装即可 t4

静态房间列表

rustlist在配置文件中添加静态房间列表,即一列不会随列表更新而被删除的房间

可以在配置文件中用staticRoomList配置

以下是有用的配置信息:

  • uuid房间的uuid,可用于在api中更新此房间
  • creator房间的创建者
  • mapName房间地图
  • version版本号
  • playerCurrentCount当前房间的玩家数量
  • playerMaxCount最大玩家数量
  • isUpperCase是否突出显示
  • netWorkAddress网络地址
  • port端口
  • mods模组列表

Api

可以利用api来动态添加房间

注意,需要先运行jar在配置文件中获得accessToken后在请求中添加

这是一个请求的示例:

const response = await fetch(`http://127.0.0.1:${config.port}/api/update?isStatic=true`, {
    method: 'POST',
    headers: {
        'Authorization': `Bearer ${config.accessToken}`,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        uuid: "ac6d00d9-f264-4446-89c9-38e5dcd93cc8"
    })
});

更新列表: post /api/update

参数:

  • isStatic 是否为静态房间

请求:

{
    "uuid": "ac6d00d9-f264-4446-89c9-38e5dcd93cc8",
    "roomOwner": "",
    "gameVersion": 176,
    "netWorkAddress": "",
    "localAddress": "",
    "port": 5123,
    "isOpen": true,
    "creator": "",
    "requiredPassword": false,
    "mapName": "",
    "mapType": "",
    "status": "battleroom",
    "version": "",
    "isLocal": false,
    "displayMapName": "",
    "playerCurrentCount": null,
    "playerMaxCount": null,
    "isUpperCase": false,
    "uuid2": "",
    "unknown": false,
    "mods": ""
}

维持房间: get /api/keep

重置一个房间的tick

参数:

  • uuid 房间uuid

删除房间: get /api/remove

删除一个在列表上的房间

参数:

  • uuid 房间uuid

About

a list of third-party Rusted Warfare rooms

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages