nquake / server-linux Goto Github PK
View Code? Open in Web Editor NEWnQuake (QuakeWorld) server for Linux
Home Page: http://www.nquake.com/
nQuake (QuakeWorld) server for Linux
Home Page: http://www.nquake.com/
When selecting what mirror to choose the common pattern is like below, which won't match https. The installer automatically chooses another mirror when selecting a https one.
mirror=$(grep "^$number=[fhtp]\{3,4\}://[^ ]*$" nquake.ini | cut -d "=" -f2)
Should be as follows (s added to allowed chars and 5 instead of 4 max chars for protocol part)
mirror=$(grep "^$number=[fhtps]\{3,5\}://[^ ]*$" nquake.ini | cut -d "=" -f2)
Workaround is to define them as http as they will redirect to https anyway (can fix the script of course but for existing installations it's not really practical)
qtv.cfg should contain:
address <ip>:<port>
eb's script fixes have not been deployed which leads to errors during the installation process and inability to start QTV with ./start_servers for example.
This should disable screen dependency and add -q parameter to wgets
it doesn't include server watch ips if installing in docker mode
As build.quakeworld.nu is finally working and up-to-date, the update_binaries.sh script should get the latest official release binaries from that server, instead of delivering a pre-packed zip file.
It would ease the load on the nquake team, as you guys won't have to update any binary packages anymore. It would just work.
For example, official KTX build: https://builds.quakeworld.nu/ktx/releases/latest/
'latest' always points to the latest release, so no need to update anything afterwards.
This is true for mvdsv and qtv as well
QTV and QWFWD are started but not all the MVDSV ports when running start_servers from cronjob. Incorrect work dir as the MVDSV start scripts are using scriptfolder variable instead of installation dir for the path.
When stopping servers there are redundant error messages when killing the processes as there are two pids returned for the same thing it seems.
Sample output:
liback@liback-VirtualBox:~/nquakesv$ ./start_servers.sh
* Starting mvdsv #1 (port 28501)...[OK]
* Starting mvdsv #2 (port 28502)...[OK]
* Starting mvdsv #3 (port 28503)...[OK]
* Starting mvdsv #4 (port 28504)...[OK]
* Starting qtv (port 28000)...[OK]
* Starting qwfwd (port 30000)...[OK]
liback@liback-VirtualBox:~/nquakesv$ ./stop_servers.sh
* Stopping mvdsv (port 28501)..../stop_servers.sh: 6: kill: No such process
[OK]
* Stopping mvdsv (port 28502)..../stop_servers.sh: 6: kill: No such process
[OK]
* Stopping mvdsv (port 28503)..../stop_servers.sh: 6: kill: No such process
[OK]
* Stopping mvdsv (port 28504)..../stop_servers.sh: 6: kill: No such process
[OK]
* Stopping qtv (port 28000)..../stop_servers.sh: 27: kill: No such process
[OK]
* Stopping qwfwd (port 30000)..../stop_servers.sh: 38: kill: No such process
[OK]
We get two pid's returned when stopping a port:
liback@liback-VirtualBox:~/nquakesv$ ps ax | grep -v grep | grep "mvdsv -port 28501"
15430 ? Ss 0:00 SCREEN -dmS qw_28501 /home/liback/nquakesv/mvdsv -port 28501 -game ktx +exec port1.cfg
15431 pts/6 Ss+ 0:00 /home/liback/nquakesv/mvdsv -port 28501 -game ktx +exec port1.cfg
Test if replacing scriptfolder with installdir works in start_servers.sh as it's probably a leftover.
Is there any reason these can't be localhost:? Currently we connect via the external IP asked for during setup (and required for sv_getrealip to work). The mvdsv streaming ports don't need to be open to the public, so right now on a standard install QTV fails to connect. (depending on answer to #11, we might not set the connection password, so the streaming ports should be kept firewalled)
Hi there,
I'm going to submit a change for this, but the cron.d addition does not properly function with the -N flag on the script. Specifically this section:
[ -d "/etc/cron.d" ] && {
nqecho
nqnecho "Add nQuake server to crontab (ensures servers are always on) [y/N]: "
read addcron
[ "${addcron}" = "y" ] && {
echo "*/10 * * * * \$(cat ~/.nquakesv/install_dir)/start_servers.sh >/dev/null 2>&1" | sudo tee /etc/cron.d/nquakesv >/dev/null
}
}
This needs to be updated to honor the -N value when passed to the installer. I'm trying to automate the installation with flags or defaults as part of a automated build (cloudformation script) and I want to make sure this piece works with the non-interactive method as well.
mushiToday at 4:41 PM
btw
hello!
https://www.quakeservers.net/quakeworld/servers/d=unnamed%20qwfwd/
QuakeWorld Servers / QuakeServers.net
Quake, QuakeWorld, Quake 2, Quake 3 and Quake 4 Servers.
this needs to be checked out in nquakesv config
the qwfwd's aren't being named correctly
In a Docker container using alpine:latest as the base, the install scripts fails to extract the zip file.
I can open the zip file on my Windows machine and Debian box, and re-recreating the zip from the extracted files on one of those machines also succeeds in the Docker container.
All other zips can be extracted just fine.
Can you please recreate the zip file and update it on the mirrors?
Thanks!
unzip sv-bin-x86.zip
Archive: sv-bin-x86.zip
replace ktx/qwprogs.so? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: ktx/qwprogs.so
error: zipfile probably corrupt (illegal instruction)
Update_configs.sh fetches nquake.ini from http://nquake.sourceforge.net/nquake.ini
Should probably be https://raw.githubusercontent.com/nQuake/client-win32/master/etc/nquake.ini
Same goes for update_maps.sh and update_binaries.sh
The update binaries script explicitly moves only qwprogs.so from the zip, so bots-enabled-qwprogs.so and bots-disabled-qwprogs.so are never saved, so can't enable bots easily as they're disabled by default in qwprogs.so.
Meag:
you should be fine to set sv_crypt_rcon 1 again now, but not sure if you want to mess with that
it was bugged on 64-bit systems
should be in [MVDSV] 0.31 final, yes (July 2016)
During installation, the user is prompted for the QTV admin password.
This is then used as mvdsv's (non-admin) QTV password, required by connecting QTV servers.
We then also use it as the QTV admin password for QTV but not the connection password, so QTV fails to connect.
Not sure which way to fix this, depending on what the intention of the question was supposed to be.
Just remove pwd.cfg from dist files. Other solution would be to force overwrite pwd.cfg but downside is having this file overwritten every time the server restarts.
Ch0wW: Using nQuakeSV for linux:
Ch0wW@Ch0wW-01:~/qw$ ./install_nquakesv.sh ERROR: The package 'screen' is not installed. Please install it and run the nQuakesv installation again. Welcome to the nQuakesv v1.8 installation ========================================= Press ENTER to use [default] option.
Ch0wW: Shouldn't the error STOP the installer from running ?
Ubuntu Server 24.04
Can´t connect to server. Start command is ok. But stop command give error.
user@server:~$ $(cat ~/.nquakesv/install_dir)/start_servers.sh
Any solutions? Worked fine on Ubuntu Server 22.04.
I suggest to make the default behavior to not regenerate config files when running start_servers if they already exist.
' root@ubuntu:~/nquakesv# sudo sh start_servers.sh
Starting mvdsv #1 (port 28501)...[OK]
Starting mvdsv #2 (port 28502)...[OK]
Starting mvdsv #3 (port 28503)...[OK]
Starting mvdsv #4 (port 28504)...[OK]'
servers started without error, but couldn't find server in quake
any other way to see the status for the server?
Thanks
instructions here:
https://gist.github.com/meag/09b7b6c736b8f2fde1df991cf1151abb
add to server.cfg:
set k_demotxt_format json // .txt files generated next to .mvd files will be in json format
change mvdsv.cfg
sv_demotxt 2 // create demo .txt (0 = off, 1=on, 2 = stats )
Currently included maps in sv-maps.zip nquakesv:
2bfree.bsp
a2.bsp
aerowalk.bsp
amphi.bsp
arena3.bsp
arenax.bsp
barrel.bsp
blessed.bsp
bloodfest.bsp
boom.bsp
bravado.bsp
bravadob5.bsp
bsdm6.bsp
capit.bsp
catwalk2.bsp
cmt1b.bsp
cmt2.bsp
cmt3.bsp
cmt4.bsp
cmt5b.bsp
cpm1qw.bsp
cpm3a.bsp
cpm3qw.bsp
ctf1.bsp
ctf2.bsp
ctf2m1.bsp
ctf2m2.bsp
ctf2m3.bsp
ctf2m4.bsp
ctf2m5.bsp
ctf2m6.bsp
ctf2m7.bsp
ctf2m8.bsp
ctf3.bsp
ctf4.bsp
ctf5.bsp
ctf6.bsp
ctf7.bsp
ctf8.bsp
dad.bsp
death32c.bsp
debello.bsp
del1.bsp
dm1.bsp
dm2.bsp
dm2dmm4.bsp
dm3.bsp
dm3hill.bsp
dm4.bsp
dm4dmm4.bsp
dm4ish.bsp
dm5.bsp
dm5a.bsp
dm6.bsp
dm6dmm4.bsp
dmz1++.bsp
doomed.bsp
dungeonsurf.bsp
e2m2.bsp
e3m7.bsp
end.bsp
endif.bsp
escape2a.bsp
fmc.bsp
four.bsp
frenzy.bsp
frobodm2.bsp
genocide.bsp
gym.bsp
hate.bsp
head-shot.bsp
head.bsp
hook.bsp
hoppa2.bsp
jqdf1.bsp
jqdf2.bsp
jqdf3.bsp
jqfs1.bsp
jqfs2.bsp
jqfs3.bsp
jqrace1.bsp
kjdm7.bsp
leaks.bsp
monsoon.bsp
mvdsv-kg.bsp
oldcrat.bsp
outpost.bsp
pdm18.bsp
pkeg.bsp
pkeg1.bsp
pound.bsp
povdmm4.bsp
povdmm4b.bsp
pushdmm4.bsp
q1q3almostlost.bsp
q1q3cpm4_beta4.bsp
q1q3evolution_beta2.bsp
q1q3hektik.bsp
q1q3monsoon.bsp
q1q3ospdm5.bsp
q1q3phrantic.bsp
q1q3solid.bsp
q1q3thunderstruck.bsp
q1q3vertical_beta5.bsp
q3dm6ish.bsp
q3dm6qw.bsp
qcon1.bsp
qtdm3.bsp
race1.bsp
race10.bsp
race11.bsp
race12.bsp
race2.bsp
race3.bsp
race4.bsp
race5.bsp
race6.bsp
race7.bsp
race8.bsp
race9.bsp
rampage.bsp
rampcity.bsp
rawspeed.bsp
rf2test.bsp
rj3.bsp
rwild.bsp
sacredb1.bsp
schduel.bsp
schloss.bsp
shifter.bsp
shine.bsp
skull.bsp
slide1.bsp
slide2.bsp
slide3.bsp
slide4.bsp
slide5.bsp
slide6.bsp
slide7.bsp
slide8.bsp
slide9.bsp
slstart.bsp
softbox.bsp
speed.bsp
speedrush.bsp
spinev2.bsp
spitfire.bsp
subslide.bsp
subterfuge.bsp
travelert6.bsp
trick.bsp
trick1.bsp
tridm3.bsp
trix.bsp
tuhnu1.bsp
ukpak2.bsp
ultrav.bsp
vdm3v3.bsp
zjumps.bsp
ztndm3.bsp
ztndm3q.bsp
ztndm4.bsp
ztndm6.bsp
ztrain.bsp
ztricks.bsp
ztricks2.bsp
make servers more manageable by starting them in a backgrounded terminal multiplexer, eg "screen -dmS qw_$port ./run/portX.sh"
summarize here the changes to make to the configs, regarding the updated ktx and mvdsv (qtv and qwfwd don't need? don't think so)
pkg-config libcurl4-openssl-dev
- even though it won't be used right now, these libs are needed to set www communitcation. source: https://gist.github.com/meag/09b7b6c736b8f2fde1df991cf1151abbdecide what to do with addons folder.
The old scripts used to change directory to ./qtv/ and then run qtv.bin
The new scripts run qtv.bin by absolute address, so the working directory is still the location of ./start_servers.sh
This pretty much breaks QTV http:// access - no css/images etc, and the 'demos' symbolic link is in the wrong place so no demos are available unless a new link created in the root nquakesv directory.
The plan is to abandon the "old" nquakesv linux installer, but I think it will be used for many more years, because of its simplicity and people are used to it.
here's a suggestion on how to improve it.
in the script, the scripts ask us how many ports we want to run. I suggest that we add an advanced menu option in that prompt.
the advanced menu, when selected, would print more options to the qwsv configuration.
here's a quick mockup of how it would look,:
Number of KTX ports setup: 0
Add a port using the prompt below
Options:
a) supports bots [SELECTED]
b) default instagib
c) default hoonymode (normal ktx only)
d) default midair (normal ktx only
)
e) default race (normal ktx only)
z) don't publish to masterserver (for lans or private events)
Add port:
1) normal KTX
2) FFA only
3) CTF only
4) Clan Arena only
type X to exit.
Your command: _
This would add more flavours to KTX, the current server listing is so bland.
I thought this advanced menu would be nicer if it was on a separate screen, refreshing the menu (with clear
and rendering the menu again) when the user inputs a command.
when the user eXited, the script continued where it was before.
More options can be added ofc.
any advanced bash user could do this, I see this as an independent section of the install_nquake.sh
script.
Hey - thanks so much for this easy to setup Quake server!
I'm attempting to run it on a raspberry pi, with Raspbian Jessie. I get this error when I run the start servers shell script:
./mvdsv: 1: ./mvdsv: Syntax error: "(" unexpected
When I try running mvdsv directly, I get this error:
./mvdsv: cannot execute binary file: Exec format error
My guess is that mvdsv is not compatible with Rasbian/debian perhaps? I hope that's not the issue, because I've looked high and low for a raspbian mvdsv build and haven't been able to find one.
add Spider Crossings to the package. There's even a config file for that map, but the map isn't in the package
https://www.quaddicted.com/files/maps/multiplayer/qwq3wcp9.rar
after configuration we see:
Install directory: /home/ciscon/nquakesv
Hostname: asdf
Listen address:
Number of ports: 1
RCON password: asdf
Install QTV: no
Install QWFWD: no
Admin: ciscon [email protected]
Search for pak1:
but when starting the ports using start_servers.sh:
$ ./start_servers.sh
and we can see that it configured 4 ports for us in ~/.nquakesv/ports:
$ ls ~/.nquakesv/ports/
28501 28502 28503 28504
They have windows line endings and won't run.
lets update the maps that are included in nQuake package.
AND add some .ent files that are currently being developed as well.
files to change:
sv_maps.zip
sv-non-gpl.zip
We have a decision to make.
Shipping nQuakeSV with binaries that support bots will use more memory when running the server, even if they're not enabled. I guess the more the ports, the more memory.
How much memory more, i don't know.
lets use this issue to discuss this.
anni's arena maps are included, but they don't have a cfg in the server. they are dmm4 maps, should have a cfg like povdmm4 to load dmm4 mode, timelimit 3, etc.
remove k_teamoverlay from configs/usermodes/default.cfg
see KTX issue: k_teamoverlay dont work #65
Throws error if there's an existing directory and it's the way it's done for existing directories.
Should be the github one.
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.