mirror of
https://github.com/amiayweb/Hytale-F2P.git
synced 2026-02-26 07:41:45 -03:00
Merge pull request #196 from amiayweb/develop
Release v2.1.1: fix EPERM error and add ArchLinux package (.pkg.tar.zst)
This commit is contained in:
154
.github/workflows/release.yml
vendored
154
.github/workflows/release.yml
vendored
@@ -9,80 +9,6 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
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:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
@@ -123,8 +49,82 @@ jobs:
|
||||
dist/*.zip
|
||||
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:
|
||||
needs: [build-linux, build-windows, build-macos]
|
||||
needs: [build-windows, build-macos, build-linux, build-arch]
|
||||
runs-on: ubuntu-latest
|
||||
if: |
|
||||
startsWith(github.ref, 'refs/tags/v') ||
|
||||
@@ -154,13 +154,15 @@ jobs:
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: ${{ github.ref_name }}
|
||||
# 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'
|
||||
# name: ${{ github.ref_type == 'tag' && github.ref_name || format('v{0}-beta.r{1}', steps.pkg_version.outputs.VERSION, github.run_number) }}
|
||||
files: |
|
||||
artifacts/arch-package/*.pkg.tar.zst
|
||||
artifacts/arch-package/*.src.tar.zst
|
||||
artifacts/arch-package/.SRCINFO
|
||||
artifacts/linux-builds/**/*
|
||||
artifacts/windows-builds/**/*
|
||||
artifacts/macos-builds/**/*
|
||||
|
||||
33
PKGBUILD
33
PKGBUILD
@@ -1,33 +1,28 @@
|
||||
# Maintainer: Terromur <terromuroz@proton.me>
|
||||
pkgname=Hytale-F2P-git
|
||||
_pkgname=Hytale-F2P
|
||||
pkgver=2.0.12.r150.gb62ffc1
|
||||
# Maintainer: Fazri Gading <fazrigading@gmail.com>
|
||||
# This PKGBUILD is for Github Releases
|
||||
pkgname=Hytale-F2P
|
||||
pkgver=2.1.1
|
||||
pkgrel=1
|
||||
pkgdesc="Hytale-F2P - unofficial Hytale Launcher for free to play with multiplayer support"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/amiayweb/Hytale-F2P"
|
||||
license=('custom')
|
||||
makedepends=('npm' 'git' 'rpm-tools' 'libxcrypt-compat')
|
||||
source=("git+$url.git" "Hytale-F2P.desktop")
|
||||
depends=('gtk3' 'nss' 'libxcrypt-compat')
|
||||
makedepends=('npm')
|
||||
source=("$url/archive/v$pkgver.tar.gz" "Hytale-F2P.desktop")
|
||||
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() {
|
||||
cd "$_pkgname"
|
||||
cd "$_pkgname-$pkgver"
|
||||
npm ci
|
||||
npm run build:linux
|
||||
npm run build:arch
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir/opt/$_pkgname"
|
||||
cp -r "$_pkgname/dist/linux-unpacked/"* "$pkgdir/opt/$_pkgname"
|
||||
install -Dm644 "$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop"
|
||||
install -Dm644 "$_pkgname/GUI/icon.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png"
|
||||
cd "$_pkgname-$pkgver"
|
||||
install -d "$pkgdir/opt/$_pkgname"
|
||||
cp -r 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"
|
||||
}
|
||||
|
||||
34
PKGBUILD-git
Normal file
34
PKGBUILD-git
Normal 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"
|
||||
}
|
||||
61
README.md
61
README.md
@@ -120,7 +120,7 @@
|
||||
<td colspan="3" align="center">
|
||||
Windows 10/11 (64-bit; X64/ARM64) | Linux (x64/ARM64) | macOS (Apple Silicon only)
|
||||
<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>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -131,7 +131,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<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>32 GB</td>
|
||||
</tr>
|
||||
@@ -156,7 +156,9 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</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,37 @@
|
||||
3. **Permissions & Execution:**
|
||||
* **AppImage:** Make the file executable and run it:
|
||||
```bash
|
||||
chmod +x Hytale-F2P-Launcher.AppImage
|
||||
./Hytale-F2P-Launcher.AppImage
|
||||
chmod +x 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
|
||||
sudo dnf install ./Hytale-F2P-Launcher.rpm
|
||||
```
|
||||
* **Debian/Ubuntu (apt):** Install the DEB:
|
||||
```bash
|
||||
sudo apt install ./Hytale-F2P-Launcher.deb
|
||||
# Fedora/RHEL-based
|
||||
sudo dnf install hytale-f2p-launcher.rpm
|
||||
# Debian/Ubuntu
|
||||
sudo apt install -y libasound2 libpng16-16 libpng-dev libicu76
|
||||
sudo dpkg -i hytale-f2p-launcher.deb
|
||||
```
|
||||
* **Arch Linux (pacman):** Install the package using:
|
||||
```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. TIP: Use `cd` command to the package location.
|
||||
|
||||
4. **Troubleshooting:**
|
||||
* **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.
|
||||
* Missing libxcrypt.so.1: Install `libxcrypt-compat` using your package manager
|
||||
|
||||
---
|
||||
|
||||
@@ -286,26 +301,26 @@ The `.zip` version is useful for users who prefer a portable installation or nee
|
||||
|
||||
## 🛠️ Building from Source
|
||||
|
||||
See [BUILD.md](BUILD.md) for comprehensive build instructions.
|
||||
See [BUILD.md](docs/BUILD.md) for comprehensive build instructions.
|
||||
|
||||
---
|
||||
|
||||
## 📋 Changelog
|
||||
|
||||
### 🆕 v2.1.0
|
||||
|
||||
- 🚨 **Auto-Retry Downloads and Auto-Patch Files** —
|
||||
- ⚡ **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.
|
||||
|
||||
|
||||
### 🆕 v2.1.1
|
||||
- 🛠️ **Fix EPERM** Issue
|
||||
- 🅰️ **Adds Better Arch Build**
|
||||
-
|
||||
|
||||
<details>
|
||||
<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)*
|
||||
- 🌎 **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*.
|
||||
|
||||
15
package.json
15
package.json
@@ -11,7 +11,11 @@
|
||||
"build:win": "electron-builder --win",
|
||||
"build:linux": "electron-builder --linux",
|
||||
"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": [
|
||||
"hytale",
|
||||
@@ -82,7 +86,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"icon": "icon.ico"
|
||||
"icon": "build/icon.ico"
|
||||
},
|
||||
"linux": {
|
||||
"target": [
|
||||
@@ -106,13 +110,6 @@
|
||||
"x64",
|
||||
"arm64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "pacman",
|
||||
"arch": [
|
||||
"x64",
|
||||
"arm64"
|
||||
]
|
||||
}
|
||||
],
|
||||
"icon": "build/icon.png",
|
||||
|
||||
Reference in New Issue
Block a user