Get wrapper working
This commit is contained in:
parent
0ae098318a
commit
26434a9123
19 changed files with 211 additions and 255 deletions
|
@ -8,7 +8,6 @@ import 'package:libac_dart/nbt/impl/CompoundTag.dart';
|
|||
import 'package:libac_dart/nbt/impl/StringTag.dart';
|
||||
import 'package:libac_dart/packets/packets.dart';
|
||||
import 'package:libac_dart/utils/IOTools.dart';
|
||||
import 'package:libac_dart/utils/rcon/rcon_api.dart';
|
||||
import 'package:libac_dart/utils/uuid/NbtUUID.dart';
|
||||
import 'package:libac_dart/utils/uuid/UUID.dart';
|
||||
import 'package:servermanager/statemachine.dart';
|
||||
|
@ -73,7 +72,7 @@ class Settings {
|
|||
|
||||
steamcmd_path = tag.get("steamcmd")!.asString();
|
||||
game_path = tag.get("game")!.asString();
|
||||
base_path = tag.get("proton")!.asString();
|
||||
base_path = tag.get("base")!.asString();
|
||||
FTS = NbtUtils.readBoolean(tag, "fts"); // First Time Setup.
|
||||
// FTS should be disabled by the client when sending it back to the server in a C2SApplySettingsPacket
|
||||
|
||||
|
@ -185,6 +184,10 @@ class Settings {
|
|||
.existsSync();
|
||||
}
|
||||
|
||||
String getWinePrefixPath() {
|
||||
return PathHelper.builder(base_path).resolve("pfx").build();
|
||||
}
|
||||
|
||||
Future<ProcessResult> RunUpdate({bool valid = true}) {
|
||||
return Process.run(getSteamCmd(), [
|
||||
"+@sSteamCmdForcePlatformType",
|
||||
|
@ -228,6 +231,7 @@ class Settings {
|
|||
|
||||
List<String> paths = [];
|
||||
for (Mod mod in inst!.mods) {
|
||||
if (!mod.enabled) continue;
|
||||
var pth = PathHelper(pth: getModPath())
|
||||
.resolve("steamapps")
|
||||
.resolve("workshop")
|
||||
|
@ -252,27 +256,35 @@ class Settings {
|
|||
|
||||
Future<bool> sendRconCommand(String command) async {
|
||||
try {
|
||||
createSocket("127.0.0.1", port: inst!.serverSettings.RconPort);
|
||||
|
||||
if (inst!.serverSettings.RconPassword.isNotEmpty)
|
||||
login(inst!.serverSettings.RconPassword);
|
||||
|
||||
return sendCommand(command);
|
||||
Process.run("/app/rcon", [
|
||||
"-H",
|
||||
"127.0.0.1",
|
||||
"-p",
|
||||
inst!.serverSettings.RconPassword,
|
||||
"-P",
|
||||
"${inst!.serverSettings.RconPort}",
|
||||
command
|
||||
]);
|
||||
return true;
|
||||
} catch (E) {
|
||||
// Sending rcon failed
|
||||
return false;
|
||||
} finally {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> initializeWine() async {
|
||||
await runWinetrick("win10");
|
||||
await runWinetrick("w_workaround_wine_bug-50894");
|
||||
await runWinetrick("cmd");
|
||||
await runWinetrick("vcrun2013");
|
||||
await runWinetrick("vcrun2015");
|
||||
await runWinetrick("vcrun2017");
|
||||
await runWinetrick("vcrun2019");
|
||||
await runWinetrick("vcrun2022");
|
||||
await runWinetrick("corefonts");
|
||||
await runWinetrick("andale");
|
||||
await runWinetrick("allfonts");
|
||||
await runWinetrick("gdiplus");
|
||||
await runWinetrick("dxsdk_jun2010");
|
||||
}
|
||||
|
||||
Future<void> initializeSteamCmd() async {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue