Git Product home page Git Product logo

server-linux's Introduction

nQuake for Windows

To compile an nQuake installer, follow these steps:

  1. Download NSIS (http://nsis.sourceforge.net/) - version 2.x or v3.0+ doesn't matter.
  2. Copy/move the folders in the include folder to C:\Program Files (x86)\NSIS\.
    For NSIS v3.0+ you need to move the plugins (.dll files) to the "x86-ansi" subfolder of "Plugins".
  3. Right-click the nquake-installer_source.nsi file and open with makensisw.exe.

Tips:

  • Most of the code resides in nquake-installer_source.nsi but some code that is used often can be found in nquake-macros.nsh.
  • Edit the contents of the installer pages in the .ini files and their functions in the installer source file (e.g. Function DOWNLOAD for the download page).

If you decide to fork nQuake into your own installer, I would love to get some credit, but since this is GPL I can't force you :)

server-linux's People

Contributors

blood-dog avatar deurk avatar eb avatar fx02 avatar liback avatar meag avatar niclaslindstedt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

server-linux's Issues

Script not exited when screen not found

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 ?

add configs for anni's arena maps

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.

  • anarena
  • anruin
  • antemple

Crontab command is broken with Non-Interactive option

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.

update maps

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

create more info from games played

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 )

Server running but can't find in Quake

' 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

QTV is run with nquakesv as the working directory?

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.

addons folder - keep it?

decide what to do with addons folder.

  1. Keep it and rename it to "_obsolete"
  2. Keep it and update it
  3. Remove it

Use official release builds in update_binaries.sh script

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

support bots in nQuakesv?

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.

more options in server configuration

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.

Stopping servers gives redundant error messages

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

Enable sv_crypt_rcon

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)

sv-bin-x86.zip archive corrupt

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)

Scripts don't support mirrors with https protocol in url

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 server addresses

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)

Update maps

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

doesn't obey how many ports selected at installation time, always starts 4

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

  • Starting mvdsv #1 (port 28501)...[OK]
  • Starting mvdsv #2 (port 28502)...[OK]
  • Starting mvdsv #3 (port 28503)...[OK]
  • Starting mvdsv #4 (port 28504)...[OK]

and we can see that it configured 4 ports for us in ~/.nquakesv/ports:

$ ls ~/.nquakesv/ports/
28501 28502 28503 28504

QTV 'admin' password

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.

upgrade to latest mvdsv and ktx

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)

server.cfg

  • add: set k_fb_enabled 0 //botmode whenever the map is reset (0=off)
  • add: sv_demoDirAlt "" // alternative folder for demo storage
  • change: sv_crypt_rcon 1

ktx.cfg

usermodes/matchless/ctf.cfg

portxxx.cfg

  • change: set k_use_matchless_dir x // use configs/usermodes/matchless instead of [...]/ffa (0 = no, 1 = yes, 2 = ctf)

Additional stuff:

  • ensure ./upgrade_binaries.sh works ( sv-bin-x64.zip and sv-bin-x86.zip )
  • ensure that the binaries are compiled in a machine with: 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/09b7b6c736b8f2fde1df991cf1151abb

./mvdsv: 1: ./mvdsv: Syntax error: "(" unexpected

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.

MVDSV not started when running script from cronjob

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.