Add support for specifying a Public IP

This commit is contained in:
ayy lmao 2022-04-18 12:10:12 +03:00
parent 0bfb7f13e6
commit f3dc5f81ea
3 changed files with 6 additions and 4 deletions

View File

@ -2,12 +2,14 @@ package emu.grasscutter;
public final class Config { public final class Config {
public String DispatchServerIp = "127.0.0.1"; public String DispatchServerIp = "127.0.0.1";
public String DispatchServerPublicIp = "";
public int DispatchServerPort = 443; public int DispatchServerPort = 443;
public String DispatchServerKeystorePath = "./keystore.p12"; public String DispatchServerKeystorePath = "./keystore.p12";
public String DispatchServerKeystorePassword = ""; public String DispatchServerKeystorePassword = "";
public String GameServerName = "Test"; public String GameServerName = "Test";
public String GameServerIp = "127.0.0.1"; public String GameServerIp = "127.0.0.1";
public String GameServerPublicIp = "";
public int GameServerPort = 22102; public int GameServerPort = 22102;
public String DatabaseUrl = "mongodb://localhost:27017"; public String DatabaseUrl = "mongodb://localhost:27017";

View File

@ -92,7 +92,7 @@ public class GachaBanner {
} }
public GachaInfo toProto() { public GachaInfo toProto() {
String record = "http://" + Grasscutter.getConfig().DispatchServerIp + "/gacha"; String record = "http://" + (Grasscutter.getConfig().DispatchServerPublicIp.isEmpty() ? Grasscutter.getConfig().DispatchServerIp : Grasscutter.getConfig().DispatchServerPublicIp) + "/gacha";
GachaInfo.Builder info = GachaInfo.newBuilder() GachaInfo.Builder info = GachaInfo.newBuilder()
.setGachaType(this.getGachaType()) .setGachaType(this.getGachaType())

View File

@ -104,14 +104,14 @@ public final class DispatchServer {
.setName("os_usa") .setName("os_usa")
.setTitle(Grasscutter.getConfig().GameServerName) .setTitle(Grasscutter.getConfig().GameServerName)
.setType("DEV_PUBLIC") .setType("DEV_PUBLIC")
.setDispatchUrl("https://" + Grasscutter.getConfig().DispatchServerIp + ":" + getAddress().getPort() + "/query_cur_region") .setDispatchUrl("https://" + (Grasscutter.getConfig().DispatchServerPublicIp.isEmpty() ? Grasscutter.getConfig().DispatchServerIp : Grasscutter.getConfig().DispatchServerPublicIp) + ":" + getAddress().getPort() + "/query_cur_region")
.build(); .build();
RegionSimpleInfo serverTest2 = RegionSimpleInfo.newBuilder() RegionSimpleInfo serverTest2 = RegionSimpleInfo.newBuilder()
.setName("os_euro") .setName("os_euro")
.setTitle("Grasscutter") .setTitle("Grasscutter")
.setType("DEV_PUBLIC") .setType("DEV_PUBLIC")
.setDispatchUrl("https://" + Grasscutter.getConfig().DispatchServerIp + ":" + getAddress().getPort() + "/query_cur_region") .setDispatchUrl("https://" + (Grasscutter.getConfig().DispatchServerPublicIp.isEmpty() ? Grasscutter.getConfig().DispatchServerIp : Grasscutter.getConfig().DispatchServerPublicIp) + ":" + getAddress().getPort() + "/query_cur_region")
.build(); .build();
QueryRegionListHttpRsp regionList = QueryRegionListHttpRsp.newBuilder() QueryRegionListHttpRsp regionList = QueryRegionListHttpRsp.newBuilder()
@ -123,7 +123,7 @@ public final class DispatchServer {
.build(); .build();
RegionInfo currentRegion = regionQuery.getRegionInfo().toBuilder() RegionInfo currentRegion = regionQuery.getRegionInfo().toBuilder()
.setIp(Grasscutter.getConfig().GameServerIp) .setIp((Grasscutter.getConfig().GameServerPublicIp.isEmpty() ? Grasscutter.getConfig().GameServerIp : Grasscutter.getConfig().GameServerPublicIp))
.setPort(Grasscutter.getConfig().GameServerPort) .setPort(Grasscutter.getConfig().GameServerPort)
.setSecretKey(ByteString.copyFrom(FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin"))) .setSecretKey(ByteString.copyFrom(FileUtils.read(Grasscutter.getConfig().KEY_FOLDER + "dispatchSeed.bin")))
.build(); .build();