Compare commits

...

8 commits

Author SHA1 Message Date
IQuant
ea6a17323a Update deps 2025-10-06 16:07:07 +03:00
IQuant
710579d963 Fix ewext build maybe 2025-10-06 16:01:08 +03:00
IQuant
629609ac13 Move step to ci_make_archives scripts 2025-10-06 15:42:52 +03:00
IQuant
48774b3308
Merge pull request #434 from merll002/patch-1
Create Linux (Lutris) install guide and automatic startup script
2025-10-06 15:34:26 +03:00
Leo
6eea42586d
Add step to copy Lutris start script to target 2025-10-03 22:42:39 +01:00
Leo
2f41505433
Change name 2025-10-03 22:39:21 +01:00
Leo
1415d40304
Upload easy launch script 2025-10-03 22:38:54 +01:00
Leo
a9b78c86ec
Fix typos and create Lutris install guide
Added Linux install guide and fixed some things
2025-10-03 22:05:06 +01:00
5 changed files with 519 additions and 342 deletions

View file

@ -22,7 +22,7 @@ jobs:
- name: Build ewext
run: |
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
cargo +nightly build --release --target=i686-pc-windows-gnu -Zbuild-std="panic_abort,std" -Zbuild-std-features=panic_immediate_abort
cargo +nightly build --release --target=i686-pc-windows-gnu -Zbuild-std="panic_abort,std"
working-directory: ./ewext
- name: Copy ewext
run: cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext.dll
@ -53,7 +53,7 @@ jobs:
- name: Build Linux proxy release
run: cargo build --release
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py linux
@ -126,4 +126,4 @@ jobs:
with:
#draft: true
artifacts: "*.zip"
bodyFile: last_release_notes.md
bodyFile: last_release_notes.md

View file

@ -34,7 +34,7 @@ Then, start Noita, and enable the mod.
Now you're ready to start a server and have fun!
### Installation MacOs (provided by @Ownezx and @Roenalt)
### Installation on MacOS (provided by @Ownezx and @Roenalt)
1. Install a GOG copy of Noita using [portingkit](https://www.portingkit.com/) by following the guide given directly on the Noita entry page on portingkit with a few specific options in the "Advance Settings" step:
1. Set the Engine to "WS12WineKegworks10.0-battle.net"
@ -47,6 +47,15 @@ Now you're ready to start a server and have fun!
Note: The proxy must be launched via terminal with the command above every time you want to play multiplayer.
## Installation on Linux with Lutris (provided by @merll002)
1. Install the GOG version of Noita through the lutris game installer:
<img width="596" height="64" alt="image" src="https://github.com/user-attachments/assets/dfc2f415-1557-4716-b3e2-c62aae941344" />
2. Navigate to the directory where the proxy was downloaded
3. Run the proxy by typing `./start.sh`
4. Enable the mod (refer to main installation instructions)
5. Done!
## Connect using Steam
In the Proxy window, click on "Create Lobby". Then, "Save lobby ID to clipboard". Send that ID to your friends, who can then *copy* it and press "Connect to lobby in clipboard".
@ -84,14 +93,14 @@ There are 11 global perks:
[The mods listed here](https://docs.google.com/spreadsheets/d/1nMdqzrLCav_diXbNPB9RgxPcCQzDPgXdEv-klKWJyS0) have been tested by the community, it is publically editable so please add any untested mod with your findings
## Cli connect
## CLI connect
can also connect via cli, just run `noita_proxy --lobby [steam_code/ip and port]`
You can also connect via cli, just run `noita_proxy --lobby [steam_code/ip and port]`
## Cli host
## CLI host
can also host via cli, just run `noita_proxy --host [steam/port]`, "--host steam" will host a steam game and "--host 5123" or any port will host via ip at that port
You can also host via cli, just run `noita_proxy --host [steam/port]`, "--host steam" will host a steam game and "--host 5123" or any port will host via ip at that port
## Connecting via steam without steam version of game

811
noita-proxy/Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -22,6 +22,7 @@ elif mode == "linux":
with ZipFile("target/noita-proxy-linux.zip", "w") as release:
release.write("noita-proxy/target/release/noita-proxy", arcname="noita_proxy.x86_64", compress_type=COMPRESS_TYPE, compresslevel=COMPRESS_LEVEL)
release.write("scripts/start-lutris.sh", arcname="start-lutris.sh", compress_type=COMPRESS_TYPE, compresslevel=COMPRESS_LEVEL)
release.write("redist/libsteam_api.so", arcname="libsteam_api.so", compress_type=COMPRESS_TYPE, compresslevel=COMPRESS_LEVEL)
elif mode == "macos":
print("Writing macos release...")

24
scripts/start-lutris.sh Normal file
View file

@ -0,0 +1,24 @@
#!/bin/bash
if not pidof steam >/dev/null
then
echo "Steam API is not available. If you want to play without port forwarding, Steam needs to be running."
read -rp "Do you want to start it now? [y/n] " choice
choice="${choice,,}"
if [ "$choice" = "y" ] || [ "$choice" = "yes" ]
then
nohup steam >/dev/null 2>&1 &
read -rp "Started Steam. Press enter when it has fully initialised..."
else
echo "Running without Steam..."
fi
fi
ID=$(lutris --list-games 2>&1 | grep Noita | awk -F'|' '{ if (length($1) >= 2) print substr($1, length($1)-1, 1) }')
echo "Noita Lutris instance found with ID: $ID"
echo "Starting proxy..."
chmod +x noita_proxy.x86_64
LUTRIS_SKIP_INIT=1 ./noita_proxy.x86_64 --exe-path "/home/$USER/Games/gog/noita/drive_c/GOG Games/Noita/noita.exe" --launch-cmd "lutris lutris:rungameid/$ID"