Package Details: unrealtournament 469e_rc4-4

Git Clone URL: https://aur.archlinux.org/unrealtournament.git (read-only, click to copy)
Package Base: unrealtournament
Description: The classic Unreal Tournament from 1999 (GOTY + OldUnreal patches)
Upstream URL: http://www.unrealtournament.com/
Keywords: game unreal ut
Licenses: custom
Conflicts: unrealtournament-bonuspack1, unrealtournament-bonuspack2, unrealtournament-bonuspack3
Submitter: XenGi
Maintainer: XenGi
Last Packager: XenGi
Votes: 14
Popularity: 0.42
First Submitted: 2016-03-08 14:36 (UTC)
Last Updated: 2024-12-18 22:06 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

adol commented on 2024-12-16 00:38 (UTC)

Epic has apparently authorized the OldUnreal team to simply ship the full game with the patch. There's no official Linux installer yet, but you may be able to automate grabbing the ISOs from archive.org, extracting them and patching the game with the files from GitHub, greatly simplifying this PKGBUILD. That's what the Windows installer does.

XenGi commented on 2024-01-05 06:04 (UTC)

@inpv this looks like a problem in pikaur. I can't reproduce this with yay.

inpv commented on 2023-12-13 09:43 (UTC) (edited on 2023-12-30 13:04 (UTC) by inpv)

@XenGi The build still has the error when it's trying to install into home dir, even before there's a possibility to edit PKGBUILD. Using pikaur. Logs:

Can't pull 'unrealtournament' in '/home/%USERNAME%/.local/share/pikaur/aur_repos/unrealtournament' from AUR:
Updating 9918f5d..17fc8ef

From https://aur.archlinux.org/unrealtournament
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    PKGBUILD
Please commit your changes or stash them before you merge.
Aborting

UPD: was happening to multiple packages, had to git checkout, that solved it.

travisghansen commented on 2023-06-12 17:07 (UTC)

Awesome! Thanks for the consideration!

XenGi commented on 2023-06-12 09:40 (UTC) (edited on 2023-06-12 10:09 (UTC) by XenGi)

thx @travisghansen I integrated your changes into the package. I didn't change the games install path because mappacks depend on it being stable.

travisghansen commented on 2023-06-12 06:09 (UTC)

You can add me as a co-maintainer but this is what I've put together:

diff --git a/.SRCINFO b/.SRCINFO
index 6a29d92..df8bdc4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -6,15 +6,22 @@ pkgbase = unrealtournament
    arch = i686
    arch = x86_64
    license = custom
+   depends = libfmod
+   depends = libxmp
+   depends = mpg123
+   depends = openal
+   depends = sdl2
+   depends = sdl2_ttf
    optdepends = innoextract: Extract GOG release
-   noextract = OldUnreal-UTPatch469c-Linux.tar.bz2
+   noextract = OldUnreal-UTPatch469c-Linux-x86.tar.bz2
+   noextract = OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
    source = ut.desktop
    source = ut.svg.zstd
    sha256sums = fea5efdcac67564f2b5b8ef215115990739243a53a5f86e67f9414081d5b28dc
    sha256sums = 8fc6bc71f20b8395d75fad8b30d18fc6c9d39fee1f9633be090ad8fd779e8827
-   source_i686 = OldUnreal-UTPatch469c-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-x86.tar.bz2
+   source_i686 = https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-x86.tar.bz2
    sha256sums_i686 = 30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543
-   source_x86_64 = OldUnreal-UTPatch469c-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
+   source_x86_64 = https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v469c/OldUnreal-UTPatch469c-Linux-amd64.tar.bz2
    sha256sums_x86_64 = 4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9

 pkgname = unrealtournament
diff --git a/PKGBUILD b/PKGBUILD
index 1abd024..d4183d5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,16 +8,17 @@ pkgdesc="The classic Unreal Tournament from 1999 (Retail CD or DVD required)"
 arch=('i686' 'x86_64')
 url="http://www.unrealtournament.com/"
 license=('custom')
+depends=('libfmod' 'libxmp' 'mpg123' 'openal' 'sdl2' 'sdl2_ttf')
 optdepends=('innoextract: Extract GOG release')
 source=("ut.desktop"
         "ut.svg.zstd")
-source_i686+=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2")
-source_x86_64+=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2::https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
-noextract=("OldUnreal-UTPatch${pkgver}-Linux.tar.bz2")
+source_i686+=("https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2")
+source_x86_64+=("https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v${pkgver}/OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
+noextract=("OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2" "OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2")
 sha256sums=('fea5efdcac67564f2b5b8ef215115990739243a53a5f86e67f9414081d5b28dc'
             '8fc6bc71f20b8395d75fad8b30d18fc6c9d39fee1f9633be090ad8fd779e8827')
-sha256sums_i686+=('30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543')
-sha256sums_x86_64+=('4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9')
+sha256sums_i686=('30978800c100e8c5a20fbc66a04b9e12f843424b3a811b04e6fb8e1b6b5d6543')
+sha256sums_x86_64=('4c99bde06d26b724f14471d374d4d6105dbdc98c56ec2a40af3fa541956eeed9')

 prepare() {
     # Mount the UT (GOTY) cd/image or unpack the GOG distribution with the innoextract tool.
@@ -54,16 +55,30 @@ EOF

 package() {
     # Set game destination
-    export _game_dir="/opt/ut"
+    export _game_dir="/opt/${pkgname}"
+
+    [ "$CARCH" = "i686" ] && _system_dir=${_game_dir}/System
+    [ "$CARCH" = "x86_64" ] && _system_dir=${_game_dir}/System64
+
+    [ "$CARCH" = "i686" ] && _srctar=OldUnreal-UTPatch${pkgver}-Linux-x86.tar.bz2
+    [ "$CARCH" = "x86_64" ] && _srctar=OldUnreal-UTPatch${pkgver}-Linux-amd64.tar.bz2

     # Create game directory
     install --mode=755 -d -- ${pkgdir}${_game_dir}/{Music,Sounds,Maps}

     # Unpack patch into game directory
-    tar xaf ${srcdir}/OldUnreal-UTPatch${pkgver}-Linux.tar.bz2 -C ${pkgdir}${_game_dir}
+    tar xaf ${srcdir}/${_srctar} -C ${pkgdir}${_game_dir}
     # fix permissions
     find ${pkgdir}${_game_dir} -type d -exec chmod 755 {} \;

+    # https://github.com/OldUnreal/UnrealTournamentPatches#linux-installation
+    # distro deps
+    rm ${pkgdir}${_system_dir}/libfmod.so*
+    rm ${pkgdir}${_system_dir}/libmpg123.so*
+    rm ${pkgdir}${_system_dir}/libopenal.so*
+    rm ${pkgdir}${_system_dir}/libSDL2*
+    rm ${pkgdir}${_system_dir}/libxmp.so*
+
     # Copy the Music and Sounds directories from the distribution directory into the game directory
     install --mode=644 -t ${pkgdir}${_game_dir}/Music ${srcdir}/dist_dir/Music/*
     install --mode=644 -t ${pkgdir}${_game_dir}/Sounds ${srcdir}/dist_dir/Sounds/*
@@ -81,9 +96,8 @@ package() {
     # Extract all compressed maps (i.e., maps with a .uz extension) into your game's Maps directory as follows.
     # If there are no compressed maps in your game distribution folder, you may ignore this step.
     #for i in /mnt/Maps/*.uz; do ./System64/ucc-bin decompress $i; done
-    [ "$CARCH" = "i686" ] && _system_dir=${_game_dir}/System
-    [ "$CARCH" = "x86_64" ] && _system_dir=${_game_dir}/System64
-    find ${srcdir}/dist_dir/Maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} \;
+    find ${srcdir}/dist_dir/Maps/ -name "*.uz" -exec ${pkgdir}${_system_dir}/ucc-bin decompress {} -nohomedir \;
+    mv ${pkgdir}${_system_dir}/*.unr ${pkgdir}${_game_dir}/Maps

     install --mode 755 -d -- ${pkgdir}/usr/bin
     ln -s ${_system_dir}/ut-bin ${pkgdir}/usr/bin/ut

travisghansen commented on 2023-06-12 01:56 (UTC)

I just tried to install this with yay and all the maps ending up in my home dir as well. Not sure what the fix is but I can mess with it for a bit and see if I can get it to package correctly.

XenGi commented on 2023-06-03 15:56 (UTC) (edited on 2023-06-03 15:58 (UTC) by XenGi)

@alex.pyattaev thx for testing. No idea how this could get through my tests. It should work now. I fixed all the permissions and ownerships too. The bonuspacks are also happy now. unrealtournament-bonuspack1 is the only one which is still not able to install because it tries to overwrite /opt/ut/System/epiccustommodels.u and /opt/ut/System/relics.u.

alex.pyattaev commented on 2023-06-02 05:04 (UTC)

Hi! We've tried this package and found a couple of issues: 1. when installer is used via yay, it fails to find /Music however, when used via makepkg directly, it finds all the files, but unpacks them into the user's home instead of /opt/ut/ . Naturally, one needs to manually copy the maps etc into /opt/ut/Maps for stuff to work. 2. Certain files such as multimesh.u and de.u are not copied to /opt/ut, as a result game fails to host multiplayer sessions. Again, manually copying them solves the issue.

XenGi commented on 2023-05-03 19:35 (UTC) (edited on 2023-06-03 15:59 (UTC) by XenGi)

The package is now purely based on the OldUnreal patch and the installation is massively simplified. Let me know if anything doesn't work. Happy fragging!