Skip to content

Commit

Permalink
添加了可修改验证服务器的选项
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperScript-PRC committed Feb 9, 2024
1 parent 6d98724 commit b589c02
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
7 changes: 5 additions & 2 deletions tooldelta/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
)
except:
# Current version
VERSION = (0, 2, 4)
VERSION = (0, 2, 0)


class Frame:
Expand Down Expand Up @@ -81,11 +81,13 @@ def read_cfg(self):
"服务器号": 0,
"密码": 0,
"启动器启动模式(请不要手动更改此项, 改为0可重置)": 0,
"验证服务器地址(更换时记得更改fbtoken)": "https://api.fastbuilder.pro"
}
CFG_STD = {
"服务器号": int,
"密码": int,
"启动器启动模式(请不要手动更改此项, 改为0可重置)": Config.NNInt,
"验证服务器地址(更换时记得更改fbtoken)": str
}
if not os.path.isfile("fbtoken"):
Print.print_err("请到FB官网 user.fastbuilder.pro 下载FBToken, 并放在本目录中,或者在下面输入fbtoken")
Expand All @@ -104,6 +106,7 @@ def read_cfg(self):
self.serverNumber = str(cfgs["服务器号"])
self.serverPasswd = cfgs["密码"]
self.launchMode = cfgs["启动器启动模式(请不要手动更改此项, 改为0可重置)"]
auth_server = cfgs["验证服务器地址(更换时记得更改fbtoken)"]
if self.launchMode != 0 and self.launchMode not in range(
1, len(public_launcher) + 1
):
Expand Down Expand Up @@ -145,7 +148,7 @@ def read_cfg(self):
with open("fbtoken", "r", encoding="utf-8") as f:
fbtoken = f.read()
self.launcher: StandardFrame = launcher(
self.serverNumber, self.serverPasswd, fbtoken
self.serverNumber, self.serverPasswd, fbtoken, auth_server
)

def welcome(self):
Expand Down
19 changes: 11 additions & 8 deletions tooldelta/launch_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ class StandardFrame:
# 提供了标准的启动器框架, 作为 ToolDelta 和游戏交互的接口
launch_type = "Original"

def __init__(self, serverNumber, password, fbToken):
def __init__(self, serverNumber, password, fbToken, auth_server_url):
self.serverNumber = serverNumber
self.serverPassword = password
self.fbToken = fbToken
self.auth_server = auth_server_url
self.status = SysStatus.LAUNCHING
self.system_type = platform.uname()[0]
self.inject_events = []
Expand Down Expand Up @@ -62,10 +63,10 @@ class FrameFBConn(StandardFrame):
# 使用原生 FastBuilder External 连接
cmds_reqs = []
cmds_resp = {}
def __init__(self, serverNumber, password, fbToken):
def __init__(self, serverNumber, password, fbToken, auth_server):
global fbconn
from . import fbconn
super().__init__(serverNumber, password, fbToken)
super().__init__(serverNumber, password, fbToken, auth_server)
self.injected = False
self.init_all_functions()

Expand All @@ -83,11 +84,11 @@ def runFB(self, ip="0.0.0.0", port=8080):
self.downloadMissingFiles()
if self.system_type == "Linux":
os.system("chmod +x phoenixbuilder")
con_cmd = rf"./phoenixbuilder -t fbtoken --no-readline --no-update-check --listen-external {ip}:{port} -c {self.serverNumber} {f'-p {self.serverPassword}' if self.serverPassword else ''}"
con_cmd = rf"./phoenixbuilder -A {self.auth_server} -t fbtoken --no-readline --no-update-check --listen-external {ip}:{port} -c {self.serverNumber} {f'-p {self.serverPassword}' if self.serverPassword else ''}"

# windows updated "./PRGM" command.
if self.system_type == "Windows":
con_cmd = rf".\phoenixbuilder.exe -t fbtoken --no-readline --no-update-check --listen-external {ip}:{port} -c {self.serverNumber} {f'-p {self.serverPassword}' if self.serverPassword else ''}"
con_cmd = rf".\phoenixbuilder.exe -A {self.auth_server} -t fbtoken --no-readline --no-update-check --listen-external {ip}:{port} -c {self.serverNumber} {f'-p {self.serverPassword}' if self.serverPassword else ''}"
self.fb_pipe = subprocess.Popen(
con_cmd,
stdin=subprocess.PIPE,
Expand Down Expand Up @@ -312,8 +313,8 @@ class FrameNeOmg(StandardFrame):
# 使用 NeOmega 框架连接到游戏
launch_type = "NeOmega"

def __init__(self, serverNumber, password, fbToken):
super().__init__(serverNumber, password, fbToken)
def __init__(self, serverNumber, password, fbToken, auth_server):
super().__init__(serverNumber, password, fbToken, auth_server)
self.injected = False
self.omega = None
self.download_libs()
Expand All @@ -332,6 +333,7 @@ def set_omega(self, openat_port):
connect_type=neo_conn.ConnectType.Remote,
address=f"tcp://localhost:{openat_port}",
accountOption=neo_conn.AccountOptions(
AuthServer=self.auth_server,
UserToken=self.fbToken,
ServerCode=self.serverNumber,
ServerPassword=str(self.serverPassword),
Expand Down Expand Up @@ -370,6 +372,7 @@ def start_neomega_proc(self):
f"tcp://localhost:{free_port}",
"-server-password",
str(self.serverPassword),
"-auth-server", self.auth_server
],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
Expand All @@ -391,7 +394,7 @@ def _msg_show_thread():
msg = msg_orig[:str_max_len]
msg_orig = msg_orig[str_max_len:]
Print.print_with_info(msg, "§b NOMG ")
Builtins.createThread(_msg_show_thread)
Builtins.createThread(_msg_show_thread, usage = "显示来自NeOmega的信息")

def launch(self):
self.launch_status = 0
Expand Down

0 comments on commit b589c02

Please sign in to comment.