slotzero / manquake Goto Github PK
View Code? Open in Web Editor NEWRune Quake's dedicated server based off ProQuake 3.50.
Rune Quake's dedicated server based off ProQuake 3.50.
Not sure what the binaries on your ftp server need:
ftp://ftp.runequake.com/quake/engines/manquake/latest/
But when I run a simple shell script I am getting this:
./linux-manquake.sh: line 2: ./manquake_274: No such file or directory
Here's the contents of the script, much like what goes in a .bat on windows:
#!/bin/bash
./manquake_274 -game runes -dedicated 16 -ip xxxxxxxx -port 26000 -condebug -heapsize 128000 -nosound -noipx +map start
Both the shell script and the binary have exec permissions 664 (chmod +x).
I'll look around, maybe compile my own manquake..
Server specs:
Fresh Ubuntu 14.04 installation
ubuntu@ip-172-31-63-134:~/quake$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
Linux kernel:
ubuntu@ip-172-31-63-134:~/quake$ uname -a
Linux ip-172-31-63-134 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Thanks Slot! (gunm4n & on behalf of Cobalt & Sgt. PieFace)
Note, need to install some 32-bit deps and it helped manquake 2.74 run.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
manquake-2.75 and latest code from github runs but won't allow Darkplaces clients (or possibly other clients) connect.
In DP it says "Connection Accepted",, then a few seconds later "Connection Timed out"
On the server console it says:
SV_ReadClientMessage: NET_GetMessage failed
Client unconnected removed
Here is what I needed to compile:
ubuntu@ip-172-31-63-134:~/quake$ sudo apt-get install build-essential
Here's the compile output:
ubuntu@ip-172-31-63-134:~/quake$ make build_release
ubuntu@ip-172-31-63-134:~/quake/resources/manquake-src$ make build_release
make targets BUILDDIR=release-i386 CFLAGS="-m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations"
make[1]: Entering directory `/home/ubuntu/quake/resources/manquake-src'
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/cmd.o -c cmd.c
gcc -m32 -Dstricmp=strcasecmp -g -o release-i386/squake/common.o -c common.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/console.o -c console.c
console.c: In function ‘Con_DebugLog’:
console.c:136:10: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(fd, data, strlen(data));
^
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/crc.o -c crc.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/cvar.o -c cvar.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/host.o -c host.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/host_cmd.o -c host_cmd.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/iplog.o -c iplog.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/banlog.o -c banlog.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/mathlib.o -c mathlib.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/model.o -c model.c
model.c: In function ‘Mod_LoadTexinfo’:
model.c:652:34: warning: iteration 4u invokes undefined behavior [-Waggressive-loop-optimizations]
out->vecs[0][j] = LittleFloat (in->vecs[0][j]);
^
model.c:651:3: note: containing loop
for (j=0 ; j<8 ; j++)
^
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/net_dgrm.o -c net_dgrm.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/net_loop.o -c net_loop.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/net_main.o -c net_main.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/net_udp.o -c net_udp.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/net_bsd.o -c net_bsd.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/pr_cmds.o -c pr_cmds.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/pr_edict.o -c pr_edict.c
pr_edict.c: In function ‘PR_GlobalString’:
pr_edict.c:350:40: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
dpsnprintf (line, sizeof(line), "%i(???)", ofs);
^
pr_edict.c: In function ‘PR_GlobalStringNoContents’:
pr_edict.c:374:40: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
dpsnprintf (line, sizeof(line), "%i(???)", ofs);
^
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/pr_exec.o -c pr_exec.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/r_main.o -c r_main.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/security.o -c security.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/sv_main.o -c sv_main.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/sv_phys.o -c sv_phys.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/sv_move.o -c sv_move.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/sv_user.o -c sv_user.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/zone.o -c zone.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/wad.o -c wad.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/world.o -c world.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/squake/sys_linux.o -c sys_linux.c
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -DELF -x assembler-with-cpp -o release-i386/squake/math.o -c math.s
math.s: Assembler messages:
math.s:123: Warning: indirect jmp without `*'
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -DELF -x assembler-with-cpp -o release-i386/squake/worlda.o -c worlda.s
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -DELF -x assembler-with-cpp -o release-i386/squake/sys_a.o -c sys_a.s
gcc -m32 -Dstricmp=strcasecmp -g -O6 -ffast-math -funroll-loops -fexpensive-optimizations -o release-i386/bin/squake release-i386/squake/cmd.o release-i386/squake/common.o release-i386/squake/console.o release-i386/squake/crc.o release-i386/squake/cvar.o release-i386/squake/host.o release-i386/squake/host_cmd.o release-i386/squake/iplog.o release-i386/squake/banlog.o release-i386/squake/mathlib.o release-i386/squake/model.o release-i386/squake/net_dgrm.o release-i386/squake/net_loop.o release-i386/squake/net_main.o release-i386/squake/net_udp.o release-i386/squake/net_bsd.o release-i386/squake/pr_cmds.o release-i386/squake/pr_edict.o release-i386/squake/pr_exec.o release-i386/squake/r_main.o release-i386/squake/security.o release-i386/squake/sv_main.o release-i386/squake/sv_phys.o release-i386/squake/sv_move.o release-i386/squake/sv_user.o release-i386/squake/zone.o release-i386/squake/wad.o release-i386/squake/world.o release-i386/squake/sys_linux.o release-i386/squake/math.o release-i386/squake/worlda.o release-i386/squake/sys_a.o -lm -ldl
make[1]: Leaving directory `/home/ubuntu/quake/resources/manquake-src'
strip release-i386/bin/*
Seemed like it compiled fine.. copied to my base quake dir. Ran it, here's the server console when trying to connect:
ubuntu@ip-172-31-63-134:~/quake$ ./linux-manquake.sh
Added packfile ./id1/pak0.pak (339 files)
Added packfile ./id1/pak1.pak (85 files)
Playing registered version.
Log file initialized.
./runes/qconsole.log
Sat Mar 26 15:50:59 2016
Console initialized.
Could not initialize security module
UDP Initialized
Exe: 15:42:05 Mar 26 2016
128.0 megabyte heap
========Quake Initialized========
Linux ManQuake Version 1.00
FindFile: ./runes/autoexec.cfg
execing autoexec.cfg
FindFile: can't find server.cfg
couldn't exec server.cfg
SV_SpawnServer: Sat Mar 26 15:50:59 2016
FindFile: ./runes/progs.dat
Sending console bindings
FindFile: can't find startlevel.cfg
couldn't exec startlevel.cfg
FindFile: can't find mute.txt
couldn't exec mute.txt
SV_ReadClientMessage: NET_GetMessage failed
Client unconnected removed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.