mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-06-14 21:42:54 +00:00
fix: linux cross-compiling
This commit is contained in:
parent
9babdac928
commit
0ddac15fad
|
|
@ -19,7 +19,7 @@
|
|||
#include "../../../Minecraft.World/DisconnectPacket.h"
|
||||
#include "../../Minecraft.h"
|
||||
#include <windns.h>
|
||||
#pragma comment(lib, "Dnsapi.lib")
|
||||
#pragma comment(lib, "dnsapi.lib")
|
||||
#include "../4JLibs/inc/4J_Profile.h"
|
||||
|
||||
#include <string>
|
||||
|
|
|
|||
|
|
@ -125,9 +125,11 @@ do_build() {
|
|||
|
||||
do_install() {
|
||||
info "Installing to $INSTALL_DIR..."
|
||||
mkdir -p "$INSTALL_DIR"/{client,server}
|
||||
mkdir -p "$INSTALL_DIR"/{client,server,fourkit}
|
||||
cp "$BUILD_DIR/Minecraft.Client/Minecraft.Client.exe" "$INSTALL_DIR/client/"
|
||||
cp "$BUILD_DIR/Minecraft.Server/Minecraft.Server.exe" "$INSTALL_DIR/server/"
|
||||
cp "$BUILD_DIR/Minecraft.Server/$BUILD_TYPE/Minecraft.Server.exe" "$INSTALL_DIR/server/"
|
||||
cp "$BUILD_DIR/Minecraft.Server.FourKit/$BUILD_TYPE/Minecraft.Server.exe" "$INSTALL_DIR/fourkit/"
|
||||
cp "$BUILD_DIR/Minecraft.Server.FourKit/bin/$BUILD_TYPE/Minecraft.Server.*" "$INSTALL_DIR/fourkit/"
|
||||
for asset in iggy_w64.dll Common music Windows64 Windows64Media; do
|
||||
[[ -e "$BUILD_DIR/Minecraft.Client/$asset" ]] && \
|
||||
cp -r "$BUILD_DIR/Minecraft.Client/$asset" "$INSTALL_DIR/client/" || true
|
||||
|
|
@ -136,11 +138,17 @@ do_install() {
|
|||
[[ -e "$BUILD_DIR/Minecraft.Server/$asset" ]] && \
|
||||
cp -r "$BUILD_DIR/Minecraft.Server/$asset" "$INSTALL_DIR/server/" || true
|
||||
done
|
||||
for asset in iggy_w64.dll Common Windows64 runtime plugins; do
|
||||
[[ -e "$BUILD_DIR/Minecraft.Server.Fourkit/$BUILD_TYPE/$asset" ]] && \
|
||||
cp -r "$BUILD_DIR/Minecraft.Server.FourKit/$BUILD_TYPE/$asset" "$INSTALL_DIR/fourkit/" || true
|
||||
done
|
||||
write_client_launcher
|
||||
write_server_launcher
|
||||
write_fourkit_launcher
|
||||
success "Installed to $INSTALL_DIR"
|
||||
info "Run the client: $INSTALL_DIR/minecraft-lce-client"
|
||||
info "Run the server: $INSTALL_DIR/minecraft-lce-server"
|
||||
info "Run the FourKit server: $INSTALL_DIR/minecraft-lce-fourkit"
|
||||
}
|
||||
|
||||
write_client_launcher() {
|
||||
|
|
@ -209,6 +217,47 @@ LAUNCHER
|
|||
chmod +x "$INSTALL_DIR/minecraft-lce-server"
|
||||
}
|
||||
|
||||
|
||||
write_fourkit_launcher() {
|
||||
cat > "$INSTALL_DIR/minecraft-lce-fourkit" <<LAUNCHER
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
GAME_DIR="$INSTALL_DIR/fourkit"
|
||||
SERVER_PORT="\${MC_PORT:-25565}"
|
||||
SERVER_BIND_IP="\${MC_BIND:-0.0.0.0}"
|
||||
PERSIST_DIR="\${MC_DATA_DIR:-\$HOME/.local/share/minecraft-lce-fourkit}"
|
||||
export WINEARCH=win64
|
||||
export WINEPREFIX="\${WINEPREFIX:-\$HOME/.local/share/minecraft-lce-fourkit-prefix}"
|
||||
export WINEDLLOVERRIDES="winemenubuilder.exe=d"
|
||||
export WINEESYNC=1
|
||||
export WINEFSYNC=1
|
||||
mkdir -p "\$PERSIST_DIR" "\$WINEPREFIX"
|
||||
WORK_DIR="\$(mktemp -d)"
|
||||
trap 'rm -rf "\$WORK_DIR"' EXIT
|
||||
cp -rs "\$GAME_DIR"/* "\$WORK_DIR/"
|
||||
chmod -R u+w "\$WORK_DIR"
|
||||
mkdir -p "\$PERSIST_DIR/GameHDD"
|
||||
for file in server.properties banned-players.json banned-ips.json; do
|
||||
if [[ ! -f "\$PERSIST_DIR/\$file" ]]; then
|
||||
[[ -f "\$WORK_DIR/\$file" ]] && cp "\$WORK_DIR/\$file" "\$PERSIST_DIR/\$file" || echo "[]" > "\$PERSIST_DIR/\$file"
|
||||
fi
|
||||
ln -sf "\$PERSIST_DIR/\$file" "\$WORK_DIR/\$file"
|
||||
done
|
||||
rm -rf "\$WORK_DIR/Windows64/GameHDD" 2>/dev/null || true
|
||||
ln -sf "\$PERSIST_DIR/GameHDD" "\$WORK_DIR/Windows64/GameHDD"
|
||||
cd "\$WORK_DIR"
|
||||
if [[ -z "\${DISPLAY:-}" ]]; then
|
||||
export DISPLAY=":99"
|
||||
Xvfb "\$DISPLAY" -nolisten tcp -screen 0 64x64x16 &
|
||||
XVFB_PID=\$!
|
||||
trap 'kill \$XVFB_PID 2>/dev/null || true; rm -rf "\$WORK_DIR"' EXIT
|
||||
sleep 1
|
||||
fi
|
||||
exec wine "\$WORK_DIR/Minecraft.Server.exe" -port "\$SERVER_PORT" -bind "\$SERVER_BIND_IP" "\$@"
|
||||
LAUNCHER
|
||||
chmod +x "$INSTALL_DIR/minecraft-lce-fourkit"
|
||||
}
|
||||
|
||||
BUILD_DIR="$SOURCE_DIR/build/windows64-clang"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
info "Revelations LCE v$VERSION build script"
|
||||
|
|
|
|||
Loading…
Reference in a new issue