Package Details: terraria-server 1.4.5.6-48

Git Clone URL: https://aur.archlinux.org/terraria-server.git (read-only, click to copy)
Package Base: terraria-server
Description: Official dedicated server for Terraria
Upstream URL: https://terraria.org/
Licenses: unknown
Submitter: mythmon
Maintainer: ilmikko (kiito)
Last Packager: ilmikko
Votes: 13
Popularity: 0.56
First Submitted: 2015-08-14 06:21 (UTC)
Last Updated: 2026-04-04 06:32 (UTC)

Latest Comments

1 2 3 Next › Last »

Terrance commented on 2026-04-28 17:30 (UTC)

For what it's worth, I made some tweaks to just deploy the server files directly, as well as making this package able to coexist with tshock -- happy for some/all of those changes to be included here.

screen: Aha, I hadn't clocked the service was using it -- so far I've just been playing with a modified version of tshock's wrapper script which does something similar but in tmux.

Bigorneau commented on 2026-04-28 17:00 (UTC) (edited on 2026-04-28 17:01 (UTC) by Bigorneau)

Nevermind the TerrariaServer.bin.x86_64 binary is just a wrapper. It look for monoconfig, the .exe and all the .dll

openat(AT_FDCWD, "terraria-server.exe.config", O_RDONLY) = -1 ENOENT (No such file or directory)                                                                            
readlink("terraria-server.exe", 0x7ffcf6ed4f00, 4096) = -1 ENOENT (No such file or directory)                                                                               
getcwd("/tmp", 32)                      = 5                                                                                                                                                                                                                                                                                                             
readlink("terraria-server.exe", 0x7ffcf6ed4ea0, 4096) = -1 ENOENT (No such file or directory)                                                                                                                                                                                                                                                           
getcwd("/tmp", 32)                      = 5                                           
openat(AT_FDCWD, "terraria-server.exe", O_RDONLY) = -1 ENOENT (No such file or directory)                                                                                   
access("terraria-server.exe", F_OK)     = -1 ENOENT (No such file or directory)       
access("terraria-server.exe", F_OK)     = -1 ENOENT (No such file or directory)       
readlink("/tmp", 0x7ffcf6ed4d30, 4096)  = -1 EINVAL (Invalid argument)                
readlink("/tmp/mscorlib.dll", 0x7ffcf6ed4d30, 4096) = -1 ENOENT (No such file or directory)                                                                                 
readlink("/tmp", 0x7ffcf6ed4cd0, 4096)  = -1 EINVAL (Invalid argument)                
readlink("/tmp/mscorlib.dll", 0x7ffcf6ed4cd0, 4096) = -1 ENOENT (No such file or directory)                                                                                 
openat(AT_FDCWD, "/tmp/mscorlib.dll", O_RDONLY) = -1 ENOENT (No such file or directory)                                                                                     
access("/tmp/mscorlib.dll", F_OK)       = -1 ENOENT (No such file or directory)       
access("/tmp/mscorlib.dll", F_OK)       = -1 ENOENT (No such file or directory)       
readlink("/tmp", 0x7ffcf6ed4d30, 4096)  = -1 EINVAL (Invalid argument)                
readlink("/tmp/mono", 0x7ffcf6ed4d30, 4096) = -1 ENOENT (No such file or directory)   
readlink("/tmp/mono/4.5", 0x7ffcf6ed4d30, 4096) = -1 ENOENT (No such file or directory)                                                                                     
readlink("/tmp/mono/4.5/mscorlib.dll", 0x7ffcf6ed4d30, 4096) = -1 ENOENT (No such file or directory)                                                                        
readlink("/tmp", 0x7ffcf6ed4cd0, 4096)  = -1 EINVAL (Invalid argument)                
readlink("/tmp/mono", 0x7ffcf6ed4cd0, 4096) = -1 ENOENT (No such file or directory)   
readlink("/tmp/mono/4.5", 0x7ffcf6ed4cd0, 4096) = -1 ENOENT (No such file or directory)                                                                                     
readlink("/tmp/mono/4.5/mscorlib.dll", 0x7ffcf6ed4cd0, 4096) = -1 ENOENT (No such file or directory)

...

Bigorneau commented on 2026-04-28 16:01 (UTC)

You are right, on 1.4.5.6 it's an ELF

file Linux/TerrariaServer.bin.x86_64      
Linux/TerrariaServer.bin.x86_64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4f6b51d4d79686e921c982505f48e1e1ef7c1ece, not stripped

readelf -d Linux/TerrariaServer.bin.x86_64

Dynamic section at offset 0x51fd50 contains 31 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-x86-64.so.2]
 0x000000000000000f (RPATH)              Library rpath: [$ORIGIN/lib64]

screen is used by the systemd service thou, but the reason might be outdated too

Terrance commented on 2026-04-27 23:24 (UTC)

Is mono and the DLL juggling here still needed? I've slimmed down the PKGBUILD locally to just unpack the server package, and running TerrariaServer directly seems to work fine -- either it's a native Linux build now but wasn't before, or the .NET runtime I have installed elsewhere is contributing via binfmt or similar.

screen also isn't used anywhere directly; could that be moved to optdepends?

Bigorneau commented on 2021-12-05 22:24 (UTC)

Hi,

I propose the following changes to update to 1.4.3.2

diff --git a/.SRCINFO b/.SRCINFO
index 871d1f4..a2578ad 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
 pkgbase = terraria-server
        pkgdesc = Official dedicated server for Terraria
-       pkgver = 1.4.2.3
-       pkgrel = 34
+       pkgver = 1.4.3.2
+       pkgrel = 35
        url = https://terraria.org/
        install = terraria-server.install
        arch = x86_64
@@ -10,13 +10,13 @@ pkgbase = terraria-server
        makedepends = unzip
        depends = mono
        depends = screen
-       source = https://terraria.org/api/download/pc-dedicated-server/terraria-server-1423.zip
+       source = https://terraria.org/api/download/pc-dedicated-server/terraria-server-1432.zip
        source = https://github.com/mono/reference-assemblies/raw/main/v4.8/System.dll
        source = https://github.com/mono/reference-assemblies/raw/main/v4.8/System.Core.dll
        source = terraria-server
        source = config.txt
        source = terraria-server@.service
-       sha256sums = 12bd93494a31a1487384af1d6e86ee52edce72e2f093e90ee9eaa516eabaa462
+       sha256sums = fce0a54133bd881450937893bd86e31b570289c288061fb28b6385a6eac9c7c5
        sha256sums = 6906a72d0c320697cac46820740fd67976e0b270378a772ea42968c463a2b8e5
        sha256sums = b06c0c07ffd912013cc35987d05ce9e6415cc04882b4b9b5c8ebf8a65fbea556
        sha256sums = fba253786b8668dabd18b03514b24b3aac9b24ed9a74dfdacee35f41659c30c9
diff --git a/PKGBUILD b/PKGBUILD
index 92c5646..f1ab0b7 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,8 @@
 # Maintainers: Mike Cooper <mythmon at elem.us>, Mikko <mikko at 5x.fi>

 pkgname=terraria-server
-pkgver=1.4.2.3
-pkgrel=34
+pkgver=1.4.3.2
+pkgrel=35
 pkgdesc="Official dedicated server for Terraria"
 arch=('x86_64' 'x86')
 license=('unknown')
@@ -17,14 +17,14 @@ _pkgver=$(echo $pkgver | sed 's/\.//g')
 # "http://terraria.org/server/${pkgname}-${_pkgver}.zip"

 # https://terraria.org/server/ links after 1402 give a 404, so we use the archive link instead.
-source=("https://terraria.org/api/download/pc-dedicated-server/terraria-server-1423.zip"
+source=("https://terraria.org/api/download/pc-dedicated-server/terraria-server-1432.zip"
         "https://github.com/mono/reference-assemblies/raw/main/v4.8/System.dll"
         "https://github.com/mono/reference-assemblies/raw/main/v4.8/System.Core.dll"
         'terraria-server'
         'config.txt'
         'terraria-server@.service')

-sha256sums=('12bd93494a31a1487384af1d6e86ee52edce72e2f093e90ee9eaa516eabaa462'
+sha256sums=('fce0a54133bd881450937893bd86e31b570289c288061fb28b6385a6eac9c7c5'
             '6906a72d0c320697cac46820740fd67976e0b270378a772ea42968c463a2b8e5'
             'b06c0c07ffd912013cc35987d05ce9e6415cc04882b4b9b5c8ebf8a65fbea556'
             'fba253786b8668dabd18b03514b24b3aac9b24ed9a74dfdacee35f41659c30c9'

kopfik commented on 2021-07-29 15:16 (UTC) (edited on 2021-07-29 15:19 (UTC) by kopfik)

the link to the game has to be changed, the provided one doesn't work: https://terraria.org/system/dedicated_servers/archives/000/000/046/original/terraria-server-1423.zip

my workarround:

yay -G terraria-server

edit PKGBUILD, fix the link (I used this link: https://terraria.org/api/download/pc-dedicated-server/terraria-server-1423.zip)

then manually do:

makepkg -si

rcz commented on 2021-03-21 10:18 (UTC) (edited on 2021-03-21 10:18 (UTC) by rcz)

The links to raw Github files need to be changed. From:

https://github.com/mono/reference-assemblies/blob/master/v4.8/System.dll?raw=true
https://github.com/mono/reference-assemblies/blob/master/v4.8/System.Core.dll?raw=true

to

https://github.com/mono/reference-assemblies/raw/main/v4.8/System.dll
https://github.com/mono/reference-assemblies/raw/main/v4.8/System.Core.dll

Don't forget to fix it in package() as well.

ejona86 commented on 2020-05-18 00:01 (UTC)

When upgrading, I noticed:

(1/1) upgrading terraria-server                    [######################] 100%
terraria:x:697:697::/opt/terraria-server/:/bin/bash
terraria:x:697:

In terraria-server.install I see within post_upgrade(): getent passwd terraria. No > /dev/null. Same thing for the group.

Somewhat unrelated, but I'll note that post_install() and post_remove() could be replaced with a sysusers.d file with u terraria 697 - /opt/terraria-server/ /bin/bash, which is the more modern way since pacman gained hooks.

ilmikko commented on 2020-05-16 18:02 (UTC)

Updated to 1.4.0.1. The GetMinPrime() exception is fixed now, turned out to require a new System.Core.dll. Tested with a small Journey world after the new update - seems to work, will test some more.