]> git.xonotic.org Git - xonotic/xonotic.git/commitdiff
Merge branch 'bones_was_here/improve-serverbench' into 'master'
authorMartin Taibr <taibr.martin@gmail.com>
Sun, 12 Apr 2020 22:52:54 +0000 (22:52 +0000)
committerMartin Taibr <taibr.martin@gmail.com>
Sun, 12 Apr 2020 22:52:54 +0000 (22:52 +0000)
Improve serverbench command WRT #273

- Use a temporary directory for the files previously created in the repo with -nohome (eg lock, data/data/defaultSVQC.cfg). This is better than just deleting the files as it will still work if the files created change, and won't annoy a user who is running their normal server or client with -nohome.
- Gitignore the temp directory, so it won't get committed if the serverbench was interrupted.
- Use dedicated instead of requiring it as an argument, previously without args it would run in threaded server mode which is considered unstable and doesn't run properly in this useage.

Resolves #273

See merge request xonotic/xonotic!62

13 files changed:
.gitignore
CMakeLists.txt
COPYING
README.md
derivation.nix
misc/infrastructure/checkupdate.txt
misc/infrastructure/xonotic-map-compiler.cron
misc/tools/all/release.subr
misc/tools/all/xonotic.subr
misc/tools/xonotic-map-compiler
misc/tools/xonotic-map-compiler-autobuild
misc/tools/xonotic-map-screenshot
server/server.cfg

index 8a322326a9b61433998471b8b2cacd865ba01b50..9c8d3f41d598022127c0cad2749d8aee23099c87 100644 (file)
@@ -1,5 +1,5 @@
 /build/
-/daemon
+/daemon-glue
 /darkplaces
 /gmqcc
 /div0-gittools
@@ -12,6 +12,7 @@
 /data.old/
 /xonstat/
 /xonstatdb/
+/xonotic.org
 /wiki
 
 .idea/
index 23080598b53504e61e954830ad56295dc97b3c7f..fa840e5e192bb710e9daec7af3ee8e79a48107c8 100644 (file)
@@ -14,7 +14,7 @@ function(subproject id name)
 endfunction()
 
 subproject(PKI d0_blind_id)
-subproject(DAEMON daemon)
+subproject(DAEMON daemon-glue)
 subproject(DP darkplaces)
 subproject(QCC gmqcc)
 subproject(RADIANT netradiant)
diff --git a/COPYING b/COPYING
index 9e734d94517370a6168147c8b4226629776f3aa1..bc269ef8da5dfaa380f1ba0f5f4116160936bbdd 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -20,7 +20,7 @@ Xonotic-owned branches, such as:
 - Files downloaded from a web server by Xonotic (e.g. automatic map downloads)
 
 - Branches of our repository that are owned by a user of the repository, and
-  thus not owned by Team Xonotic (these branches are always prefixed with user
+  thus not owned by Team Xonotic (these branches are usually prefixed with user
   name and a slash, as in "divVerent/")
 
 For status of such content, please contact its author.
index c3fbbbab4da303a50cb0b00283dbb64fa627aff0..e48c6f5ef1956a02068512258e82f11c6d25c210 100644 (file)
--- a/README.md
+++ b/README.md
@@ -25,6 +25,7 @@ No installation required, just unpack and run. Got questions? See the [FAQ](http
 We're mainly looking for help in the following areas:
 
 - [Translations](https://www.transifex.com/team-xonotic/xonotic/)
+  - More info [on the wiki](https://gitlab.com/xonotic/xonotic/-/wikis/home#translating)
 - [Modeling and texturing](https://gitlab.com/xonotic/xonotic-data.pk3dir/issues?label_name=Area%3A+Assets)
 - Documentation
   - Some of it is still scattered in [Docs](https://gitlab.com/xonotic/xonotic/tree/master/Docs) instead of being on our [wiki](https://gitlab.com/xonotic/xonotic/wikis/home)
index d0365715ca9a234943b3715607b1d4d1365de7e6..35051b97affd2a5d70bb41fcaa68908f424688b3 100644 (file)
@@ -77,7 +77,7 @@ let
             result = (cleanSourceFilter name type)
                 && !(name == "${project}/release")
                 && !(name == "${project}/d0_blind_id")
-                && !(name == "${project}/daemon")
+                && !(name == "${project}/daemon-glue")
                 && !(name == "${project}/darkplaces")
                 && !(name == "${project}/data")
                 && !(name == "${project}/gmqcc")
index 319dadb42017107e3f227758cec6ef97ca1aa400..45879d19de91eaa620e6dfcd31fcc27e0694235a 100644 (file)
@@ -12,6 +12,7 @@ C 20170701181425
 U http://www.xonotic.org/
 
 # List of startswith tests for banned servers, separated by space.
+# Supports up to 16 banned servers.
 # Possible items:
 #   IPv4 address:
 #     a.b.c.d:
@@ -24,18 +25,17 @@ U http://www.xonotic.org/
 #     [a:b:c:d:
 #     [a:b:c:
 # B 8.8.8.8:
+# rexuiz:
 B 104.238.159.167:
 B 108.61.164.188:
 B 85.25.139.30:
 B 51.15.46.239:
-B 163.172.104.191:
-B 89.163.144.198:
 B 51.38.113.134:
-B 85.114.138.57:
 B 178.162.196.237:
-B 89.163.214.186:
+# fpsclassico.de - faking activity (adds a spectator bot posing as a client when empty)
 B 85.10.203.92:
-B 89.163.247.98:
+# Xonotic 0.8.2 server - faking activity
+B 37.157.255.36:
 
 # Emergency packs. Specify as:
 # E http://packurl/pack.pk3 file-in-pack.txt
index 6434f9649c23bdc895bf0c4297429bbef243f36c..eb743faa38d43a156452a8cd728a753e0b9acdb5 100755 (executable)
@@ -10,8 +10,11 @@ trap 'kill $lockpid || true; cd "$mepwd"; lockfile-remove "$me"' EXIT
 trap 'exit 1' INT TERM
 
 set -e
+[ -d xonotic-map-compiler ] || git clone git://git.xonotic.org/xonotic/xonotic.git xonotic-map-compiler
 cd xonotic-map-compiler
-./all clean -m -fU -D
-# like reclone but do not delete untracked, so q3map2.x86 compile stays
-make -C netradiant install/q3map2.x86
+./all clean -m -fU -D # like reclone but do not delete untracked, so q3map2.x86 compile stays
+cd netradiant
+cmake -G "Unix Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
+cmake --build build -- q3map2
+cd ..
 ./misc/tools/xonotic-map-compiler-autobuild build
index 078c09171c0c93b7355e8c956af458ea4cd408f0..86ee76379b4cfe33889bdae0bf8f7467c6738ff9 100644 (file)
@@ -392,6 +392,10 @@ case "$cmd" in
                        verbose cp ../source/progs.dat .
                        verbose cp ../source/csprogs.dat .
                        verbose cp ../source/menu.dat .
+                       # Include line numbers in qc errors
+                       verbose cp ../source/progs.lno .
+                       verbose cp ../source/csprogs.lno .
+                       verbose cp ../source/menu.lno .
                        verbose rm -rf qcsrc
                        getversion .
                        case "$RELEASETYPE" in
index cb3b67537fadc1955d7908e9cd3e8452891e03db..35ce643154553ff53f139592e02fdb35c977475d 100644 (file)
@@ -8,9 +8,10 @@ case "$cmd" in
                        msg "Usage: ./all compile-map mapname1 mapname2 mapname3"
                        msg "For example: ./all compile-map dance xoylent"
                fi
-               if ! [ -f "netradiant/install/q3map2" ] ; then
-                       msg "q3map2 needed! Building netradiant..."
-                       make -C netradiant BUILD=native install/q3map2
+               if ! [ -f "netradiant/build/q3map2" ] ; then
+                       msg "q3map2 needed! Building q3map2..."
+                       cmake -H'netradiant' -B'netradiant/build' -G'Unix Makefiles' -D'CMAKE_BUILD_TYPE=Release' -DBUILD_RADIANT=OFF -DDOWNLOAD_GAMEPACKS=OFF
+                       cmake --build 'netradiant/build' -- q3map2
                fi
                for mapfile in "$@"; do
                        mapfile="data/xonotic-maps.pk3dir/maps/$mapfile.map"
index f21daaf8dd6d9a6f591d757a6341fa4fb149492a..90815e863c61e989d931eb99d7f87dfac9414711 100755 (executable)
@@ -11,9 +11,9 @@ use File::Temp;
        # Path to Xonotic (where the data directory is in)
        our $XONOTICDIR  = getcwd();
 
-       # Path to your q3map2 program. You find it in your GtkRadiant/install
+       # Path to your q3map2 program. You find it in your netradiant/build
        # directory.
-       our $Q3MAP2      = getcwd() . '/netradiant/install/q3map2';
+       our $Q3MAP2      = getcwd() . '/netradiant/build/q3map2';
 
        # General flags for q3map2 (for example -threads 4)
        our $Q3MAP2FLAGS = '-fs_forbiddenpath xonotic*-data*.pk3* -fs_forbiddenpath xonotic*-nexcompat*.pk3*';
index f8f3455206619a2b1c5ac3a5ca8b95154bd9e9dd..0cfb057922ff7401190bd2392bf36e4259c935e6 100755 (executable)
@@ -3,7 +3,7 @@
 set -e
 
 bspdir="$PWD/data"
-url_http=http://beta.xonotic.org/autobuild-bsp/
+url_http=https://beta.xonotic.org/autobuild-bsp/
 url_ssh=xonotic-beta:autobuild-bsp/
 build_cachedir="$HOME/xonotic-map-compiler.cache/"
 screenshot_cachedir="$HOME/xonotic-map-screenshot.cache/"
@@ -308,7 +308,7 @@ getthemap()
                fi
        fi
        if ! wget -c -O "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
-               if ! curl -o "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
+               if ! curl -Lo "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
                        rm -f "$bspdir/$M-$blobhash.pk3"
                        echo "WARNING: could not download $url$M-$blobhash.pk3, maybe not ready yet"
                        return 0
index ce00dbc7729539208601680a86dd6b77e4c0bcd8..1d578887c51b19faf6956ed3074218b9b8cb1c71 100755 (executable)
@@ -18,6 +18,7 @@ count=`yes x | head -n "$count" | tr -cd x`
        "$@" \
        +'sv_precacheplayermodels 0' \
        +'cl_hidewaypoints 1' \
+       +'cl_movement 0' \
        +'r_motionblur 0' \
        +'r_damageblur 0' \
        +'r_letterbox -1' \
index ab835ccddedb728e7e2b2311930e13f2f60d1a78..a33a5b36ec7a23f5d301521857ea2fd2507794c0 100644 (file)
@@ -101,7 +101,7 @@ sv_vote_gametype 1          // set to 1 to enable voting for gametypes after every mat
 //set sv_vote_gametype_mycustom_description "This is my custom gametype"       // the description for the custom gametype
 // Custom icons for custom gametypes are supported and have to be located in a server pk3 as gfx/menu/default/gametype_mycustom
 
-//sv_vote_commands "restart fraglimit chmap gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoauto shuffleteams bots nobots"       // players can vote for those commands or use them if they are masters. You can also add 'g_grappling_hook' for hook voting, and 'sv_fbskin_green sv_fbskin_red sv_fbskin_orange sv_fbskin_off' for fbskin voting.
+//sv_vote_commands "restart fraglimit gotomap nextmap endmatch reducematchtime extendmatchtime allready kick cointoss movetoauto shuffleteams bots nobots"     // players can vote for those commands or use them if they are masters. You can also add 'g_grappling_hook' for hook voting, and 'sv_fbskin_green sv_fbskin_red sv_fbskin_orange sv_fbskin_off' for fbskin voting.
 //sv_vote_master_commands "movetored movetoblue movetoyellow movetopink"       // add commands masters can use if logged in or elected. You may want to put 'kickban' here, so masters can keep out punks. It may be good to also put "sv_status_privacy 0" then...
 //rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban\" status \"sv_cmd teamstatus\" movetoauto movetored movetoblue movetoyellow movetopink"      // commands for the (stronger) rcon restricted
 //rcon_restricted_password ""  // put here the password for a "restricted" rcon user (see below)