Simple way to install game in Linux: use Shell script (Script hosted on GitHub; it downloads stuff from official source repo. To download script from this page: Right-click -> “Save link as…”) |
Outdated: manual guide
First, you should open Terminal program (ctrl
+alt
+t
), and prepare to type in (you can copy-paste from here) some commands.
1) Essentials & libraries
if you have Debian-based Linux*** (Ubuntu, Mint, etc) – your distro package manager is apt
, so the needed libraries and build tools can be obtained with:
sudo apt update
sudo apt install build-essential
sudo apt install autoconf
sudo apt install curl
sudo apt-get install build-essential autoconf libsdl1.2debian libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-mixer1.2-dev
***if you use RPM-based linux (Fedora, Centos, openSUSE..) then apt
command won’t work for you. RPM-based distro package manager is yum; the command to obtain build tools is something like:
sudo yum group install "Development Tools"
and the command to obtain all the needed libraries is:
sudo yum install SDL-devel SDL_ttf-devel SDL_mixer-devel SDL_image-devel
2) Build from sources
Now that you have installed all the needed dependencies and build tools, you can proceed to building the project
- Download sources:
curl -L https://github.com/igroglaz/tangaria/tarball/master | tar xz
by default, it downloads files in the current working directory where it is run, eg
/home/<username>/ - rename downloaded folder from
igroglaz-tangaria-*******
to something likePWMA
- in terminal – change directory to PWMA:
cd PWMA
- run autoconf – macros that produce a shell script configure to generate a Makefile and config header for a project:
autoconf
- run the autogen.sh script which generates the configure script (from configure.ac using autoconf) and any files it needs (like creating Makefile.in from Makefile.am using automake):
./autogen.sh
- run the configure script which generates Makefile and other files needed to build:
./configure --with-no-install --disable-curses --disable-x11 --enable-sdl
- run the make command which builds the software:
make
- run the cp command to copy folder:
cp src/pwmangband .
- run the make install command, which installs it:
sudo make install
After executing make install
, two binaries will be installed system-wide: pwmangclient
and pwmangband
(that’s the server). You can execute them from anywhere.
To connect to the server: run pwmangclient
and choose to join server: game.tangaria.com
To uninstall the game, run this command from PWMA:
sudo make uninstall
Arch Linux (tested with Manjaro in VirtualBox):
sudo pacman -S autoconf automake gcc glibc make sdl sdl_image sdl_mixer sdl_ttf unzip
Please don’t assume that some random key shortcut from your DE is universal…
fixed, thanks 🙂
is it possible to request an official universal (appimages are awesome too BTW) zip of tangaria and assets? it may help jump start the project if it were more easily accessible
https://github.com/igroglaz/Tangaria/archive/refs/heads/dev.zip
sorry if i wasnt clear enough, what i meant was an official prebuilt release like what tomenet provides, along with cross platform assets.
my built binaries do run fine from mx to manjaro and debian, i havent tried building an appimage yet though.
there is a Shell script which could help: https://github.com/igroglaz/Tangaria_release/raw/master/tangaria-setup.sh
> autoconf
configure.ac:231: error: possibly undefined macro: AM_PATH_NCURSESW
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:269: error: possibly undefined macro: AM_PATH_SDL
> sudo make install
/usr/bin/install: ‘activation.txt’ and ‘/opt/tangaria/PWMA/lib//gamedata/activation.txt’ are the same file
Failed to install activation.txt!
make[2]: *** [../../mk/buildsys.mk:435: install] Error 1
make[1]: *** [../mk/buildsys.mk:430: install] Error 2
make: *** [mk/buildsys.mk:430: install] Error 2
Never mind. Shell script works perfect! Just remove this outdated instruction and leave only the link to script.
thanks 🙂 fixed
Got this error:
Successfully compiled common/sockbuf.c.
common/util.c: In function ‘lookup_sval_aux’:
common/util.c:396:58: error: passing argument 3 of ‘obj_desc_name_format’ makes integer from pointer without a cast [-Wint-conversion]
396 | obj_desc_name_format(cmp_name, sizeof(cmp_name), NULL, kind->name, 0, false);
| ^~~~
| |
| void *
common/util.c:286:59: note: expected ‘size_t’ {aka ‘long unsigned int’} but argument is of type ‘void *’
286 | size_t obj_desc_name_format(char *buf, size_t max, size_t end, const char *fmt, const char *modstr,
| ~~~~~~~^~~
Failed to compile common/util.c!
make[3]: *** [../mk/buildsys.mk:243: common/util.o] Error 1
make[3]: Leaving directory ‘/home/rinn/pkgs/pwma_tangaria/src’
make[2]: *** [../mk/buildsys.mk:112: all] Error 2
make[2]: Leaving directory ‘/home/rinn/pkgs/pwma_tangaria/src’
make[1]: *** [mk/buildsys.mk:115: subdirs] Error 2
make[1]: Leaving directory ‘/home/rinn/pkgs/pwma_tangaria’
make: *** [mk/buildsys.mk:110: all] Error 2
What is your Linux distribution and version? Please try to update the game version