Merge branch 'develop' into patch-1

This commit is contained in:
Fazri Gading
2026-01-27 00:18:33 +08:00
committed by GitHub
5 changed files with 168 additions and 126 deletions

View File

@@ -9,80 +9,6 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
build-arch:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Install base packages
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm \
base-devel \
git \
nodejs \
npm \
rpm-tools \
libxcrypt-compat
- name: Create build user
run: |
useradd -m builder
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fix permissions
run: chown -R builder:builder .
- name: Build Arch Package
run: |
sudo -u builder bash << 'EOF'
set -e
makepkg -s --noconfirm
EOF
- uses: actions/upload-artifact@v4
with:
name: arch-package
path: |
*.pkg.tar.zst
*.src.tar.zst
.SRCINFO
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y libarchive-tools
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Build Linux Packages
run: |
npx electron-builder --linux --x64 --arm64 --publish never
- uses: actions/upload-artifact@v4
with:
name: linux-builds
path: |
dist/*.AppImage
dist/*.AppImage.blockmap
dist/*.deb
dist/*.rpm
dist/*.pacman
dist/latest-linux.yml
build-windows: build-windows:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
@@ -123,8 +49,82 @@ jobs:
dist/*.zip dist/*.zip
dist/latest-mac.yml dist/latest-mac.yml
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y libarchive-tools
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- run: npm ci
- name: Build Linux Packages
run: |
npx electron-builder --linux AppImage deb rpm --x64 --arm64 --publish never
- uses: actions/upload-artifact@v4
with:
name: linux-builds
path: |
dist/*.AppImage
dist/*.AppImage.blockmap
dist/*.deb
dist/*.rpm
dist/latest-linux.yml
build-arch:
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install base packages
run: |
pacman -Syu --noconfirm
pacman -S --noconfirm \
base-devel \
git \
nodejs \
npm \
rpm-tools \
libxcrypt-compat
- name: Create build user
run: |
useradd -m builder
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
- name: Fix Permissions
run: chown -R builder:builder .
- name: Build Arch Package
run: |
sudo -u builder bash << 'EOF'
set -e
makepkg --printsrcinfo > .SRCINFO
makepkg -s --noconfirm
EOF
- name: Upload Arch Package
uses: actions/upload-artifact@v4
with:
name: arch-package
path: |
*.pkg.tar.zst
*.src.tar.zst
.SRCINFO
release: release:
needs: [build-linux, build-windows, build-macos] needs: [build-windows, build-macos, build-linux, build-arch]
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: | if: |
startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/v') ||
@@ -154,13 +154,15 @@ jobs:
- name: Create Release - name: Create Release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
tag_name: ${{ github.ref_name }}
# If it's a tag, use the tag. # If it's a tag, use the tag.
tag_name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }} # tag_name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }}
# If it's the 'release' branch, use 'v2.0.2-beta.r42' # If it's the 'release' branch, use 'v2.0.2-beta.r42'
# name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}-beta.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }} # name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}-beta.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }}
files: | files: |
artifacts/arch-package/*.pkg.tar.zst artifacts/arch-package/*.pkg.tar.zst
artifacts/arch-package/*.src.tar.zst artifacts/arch-package/*.src.tar.zst
artifacts/arch-package/.SRCINFO
artifacts/linux-builds/**/* artifacts/linux-builds/**/*
artifacts/windows-builds/**/* artifacts/windows-builds/**/*
artifacts/macos-builds/**/* artifacts/macos-builds/**/*

View File

@@ -1,33 +1,28 @@
# Maintainer: Terromur <terromuroz@proton.me> # Maintainer: Terromur <terromuroz@proton.me>
pkgname=Hytale-F2P-git # Maintainer: Fazri Gading <fazrigading@gmail.com>
_pkgname=Hytale-F2P # This PKGBUILD is for Github Releases
pkgver=2.0.12.r150.gb62ffc1 pkgname=Hytale-F2P
pkgver=2.1.1
pkgrel=1 pkgrel=1
pkgdesc="Hytale-F2P - unofficial Hytale Launcher for free to play with multiplayer support" pkgdesc="Hytale-F2P - unofficial Hytale Launcher for free to play with multiplayer support"
arch=('x86_64') arch=('x86_64')
url="https://github.com/amiayweb/Hytale-F2P" url="https://github.com/amiayweb/Hytale-F2P"
license=('custom') license=('custom')
makedepends=('npm' 'git' 'rpm-tools' 'libxcrypt-compat') depends=('gtk3' 'nss' 'libxcrypt-compat')
source=("git+$url.git" "Hytale-F2P.desktop") makedepends=('npm')
source=("$url/archive/v$pkgver.tar.gz" "Hytale-F2P.desktop")
sha256sums=('SKIP' '46488fada4775d9976d7b7b62f8d1f1f8d9a9a9d8f8aa9af4f2e2153019f6a30') sha256sums=('SKIP' '46488fada4775d9976d7b7b62f8d1f1f8d9a9a9d8f8aa9af4f2e2153019f6a30')
pkgver() {
cd "$_pkgname"
version=$(git describe --abbrev=0 --tags --match "v[0-9]*")
commits=$(git rev-list --count HEAD)
hash=$(git rev-parse --short HEAD)
printf "%s.r%s.g%s" "${version#v}" "$commits" "$hash"
}
build() { build() {
cd "$_pkgname" cd "$_pkgname-$pkgver"
npm ci npm ci
npm run build:linux npm run build:arch
} }
package() { package() {
mkdir -p "$pkgdir/opt/$_pkgname" cd "$_pkgname-$pkgver"
cp -r "$_pkgname/dist/linux-unpacked/"* "$pkgdir/opt/$_pkgname" install -d "$pkgdir/opt/$_pkgname"
install -Dm644 "$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop" cp -r dist/linux-unpacked/* "$pkgdir/opt/$_pkgname"
install -Dm644 "$_pkgname/GUI/icon.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png" install -Dm644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop"
install -Dm644 GUI/icon.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png"
} }

34
PKGBUILD-git Normal file
View File

@@ -0,0 +1,34 @@
# Maintainer: Terromur <terromuroz@proton.me>
# Maintainer: Fazri Gading <fazrigading@gmail.com>
pkgname=Hytale-F2P-git
_pkgname=Hytale-F2P
pkgver=0
pkgrel=1
pkgdesc="Hytale-F2P - Unofficial Hytale Launcher for free to play with multiplayer support (rolling git build)"
arch=('x86_64')
url="https://github.com/amiayweb/Hytale-F2P"
license=('custom')
depends=('gtk3' 'nss' 'libxcrypt-compat')
makedepends=('git' 'npm')
source=("git+$url.git" "$_pkgname.desktop")
sha256sums=('SKIP' '46488fada4775d9976d7b7b62f8d1f1f8d9a9a9d8f8aa9af4f2e2153019f6a30')
pkgver() {
cd "$srcdir/$_pkgname"
git describe --tags --long | sed 's/^v//;s/-/.r/;s/-/./'
}
build() {
cd "$srcdir/$_pkgname"
npm ci
npm run build:arch
}
package() {
cd "$srcdir/$_pkgname"
install -d "$pkgdir/opt/$_pkgname"
cp -r "$_pkgname/dist/linux-unpacked/"* "$pkgdir/opt/$_pkgname"
install -Dm644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop"
install -Dm644 GUI/icon.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png"
}

View File

@@ -120,7 +120,7 @@
<td colspan="3" align="center"> <td colspan="3" align="center">
Windows 10/11 (64-bit; X64/ARM64) | Linux (x64/ARM64) | macOS (Apple Silicon only) Windows 10/11 (64-bit; X64/ARM64) | Linux (x64/ARM64) | macOS (Apple Silicon only)
<br /> <br />
<small><i>⚠️ Note: macOS Intel (x86) is not yet supported <a href="#fn1" id="ref1">1</a></sup></i></small> <small><i>⚠️ Note: macOS Intel (x86) is not yet supported <sup><a href="#fn1" id="ref1">1</a></sup></i></small>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -131,7 +131,7 @@
</tr> </tr>
<tr> <tr>
<td><b>🧠 RAM</b></td> <td><b>🧠 RAM</b></td>
<td>8GB (Dedicated) / 12GB (iGPU)</td> <td>8GB (dGPU)<sup><a href="#fn1" id="ref2">2</a></sup> /<br>12GB (iGPU)<sup><a href="#fn1" id="ref3">3</a></sup></td>
<td>16 GB</td> <td>16 GB</td>
<td>32 GB</td> <td>32 GB</td>
</tr> </tr>
@@ -156,7 +156,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<p id="fn1"><sup>1</sup> Hytale did not provide game files for macOS Intel, yet.</p> <p id="fn1"><sup>Note 1</sup> Hytale did not provide game files for macOS Intel, yet.</p>
<p id="fn2"><sup>Note 2</sup> Using Discrete/Dedicated GPU (dGPU) must have 8 GB RAM minimum.</p>
<p id="fn3"><sup>Note 3</sup> Using Integrated GPU (dGPU) must have 12 GB RAM minimum.</p>
@@ -209,24 +211,36 @@
3. **Permissions & Execution:** 3. **Permissions & Execution:**
* **AppImage:** Make the file executable and run it: * **AppImage:** Make the file executable and run it:
```bash ```bash
chmod +x Hytale-F2P-Launcher.AppImage chmod +x hytale-f2p-launcher.AppImage
./Hytale-F2P-Launcher.AppImage ./hytale-f2p-launcher.AppImage
``` ```
* **Fedora (dnf):** Install the RPM: * **Ubuntu/Debian-based or Fedora/RHEL-based:** Install the DEB/RPM:
```bash ```bash
sudo dnf install ./Hytale-F2P-Launcher.rpm # Fedora/RHEL-based
``` sudo dnf install ./hytale-f2p-launcher.rpm
* **Debian/Ubuntu (apt):** Install the DEB: # Debian/Ubuntu
```bash sudo apt install ./hytale-f2p-launcher.deb
sudo apt install ./Hytale-F2P-Launcher.deb
``` ```
* **Arch Linux (pacman):** Install the package using: * **Arch Linux (pacman):** Install the package using:
```bash ```bash
sudo pacman -U /path/to/Hytale-F2P-Launcher.pkg.tar.zst # Stable Build
sudo pacman -U hytale-f2p-launcher.pkg.tar.zst
# Development Build
yay -S hytale-f2p-git # or
paru -S hytale-f2p-git
# Manual Build
git clone https://aur.archlinux.org/hytale-f2p-git.git
cd hytale-f2p-git
makepkg -si
``` ```
> [!NOTE]
> Make sure to adjust the filename correctly with the version and the architecture type.
4. **Troubleshooting:** 4. **Troubleshooting:**
* **FUSE:** If the AppImage fails to launch on newer distributions, ensure `libfuse2` (or `fuse2` on Arch/Fedora) is installed. * **FUSE:** If the AppImage fails to launch on newer distributions, ensure `libfuse2` (or `fuse2` on Arch/Fedora) is installed.
* **Desktop Entry:** After installing via `.rpm`, `.deb`, or `.pkg.tar.zst`, the launcher should automatically appear in your App Library/Grid. * **Desktop Entry:** After installing via `.rpm`, `.deb`, or `.pkg.tar.zst`, the launcher should automatically appear in your App Library/Grid.
* Missing libxcrypt.so.1: Install `libxcrypt-compat` using your package manager
--- ---
@@ -292,20 +306,20 @@ See [BUILD.md](docs/BUILD.md) for comprehensive build instructions.
## 📋 Changelog ## 📋 Changelog
### 🆕 v2.1.0 ### 🆕 v2.1.1
- 🛠️ **Fix EPERM** Issue
- 🚨 **Auto-Retry Downloads and Auto-Patch Files** — - 🅰️ **Adds Better Arch Build**
- ⚡ **Hardware Acceleration** — -
- 👨‍💻 **In-App Logging** —
- 🛠️ **Repair Button** — Y
- 🔎 **Browse CurseForge Mods** — Browsing mods now easier with our dedicated CurseForge API Key.
- 🌎 **Fixes and Release New Translation** — Fixed 🇪🇸 🇧🇷 and added more translation for current build. Turkish 🇹🇷 language now added.
<details> <details>
<summary>Click here to see older Changelogs</summary> <summary>Click here to see older Changelogs</summary>
### 🆕 v2.1.0
- 🚨 **Auto-Retry Downloads and Auto-Patch Files** —
- ⚡ **Hardware Acceleration** —
- 🔎 **Browse CurseForge Mods** — Browsing mods now easier with our dedicated CurseForge API Key.
- 🌎 **Fixes and Release New Translation** — Fixed 🇪🇸 🇧🇷 and added more translation for current build. Turkish 🇹🇷 language now added.
### 🆕 v2.0.2b *(Minor Update: Performance & Utilities)* ### 🆕 v2.0.2b *(Minor Update: Performance & Utilities)*
- 🌎 **Language Translation** — A big welcome for Spanish 🇪🇸 and Portuguese (Brazil) 🇧🇷 players! **Language setting can be found in the bottom part of Settings pane.** - 🌎 **Language Translation** — A big welcome for Spanish 🇪🇸 and Portuguese (Brazil) 🇧🇷 players! **Language setting can be found in the bottom part of Settings pane.**
- 💻 **Laptop/Hybrid GPU Performance Issue Fix** — Added automatic GPU detection system and options to choose which GPU will be used for the game, *specifically for Linux users*. - 💻 **Laptop/Hybrid GPU Performance Issue Fix** — Added automatic GPU detection system and options to choose which GPU will be used for the game, *specifically for Linux users*.

View File

@@ -11,7 +11,11 @@
"build:win": "electron-builder --win", "build:win": "electron-builder --win",
"build:linux": "electron-builder --linux", "build:linux": "electron-builder --linux",
"build:mac": "electron-builder --mac", "build:mac": "electron-builder --mac",
"build:all": "electron-builder --win --linux --mac" "build:all": "electron-builder --win --linux --mac",
"build:arch": "electron-builder --linux dir",
"build:appimage": "electron-builder --linux AppImage --publish never",
"build:deb": "electron-builder --linux deb --publish never",
"build:rpm": "electron-builder --linux rpm --publish never"
}, },
"keywords": [ "keywords": [
"hytale", "hytale",
@@ -82,7 +86,7 @@
] ]
} }
], ],
"icon": "icon.ico" "icon": "build/icon.ico"
}, },
"linux": { "linux": {
"target": [ "target": [
@@ -106,13 +110,6 @@
"x64", "x64",
"arm64" "arm64"
] ]
},
{
"target": "pacman",
"arch": [
"x64",
"arm64"
]
} }
], ],
"icon": "build/icon.png", "icon": "build/icon.png",