I won't tell you this is the only correct way to do this or necessarily
the best way, but it does work for me very reliably:

1. create a mapcyclefile named whatever you want to call it in your csgo/
directory (where you'll find one already named mapcycle.txt) - putting the
maps you want to run in that cycle in the order you want them.

2. Add a +mapcyclefile <filename> to the server startup command line,
pointing to this file.  An explicit path isn't necessary as long as you
put it in the server's csgo/ directory.  Note that since the "stock"
mapcycle.txt file will get overwritten by an update, you really WANT to
custom-define mapcyclefile to a different filename so it won't get
overwritten when an update is released.  This is especially important for
sourcemod, see below.

3. In either your "main" GamesModes_Server.txt file, or if you're
custom-defining the file per-server with -gamemodes_serverfile <filename>
on the server cmdline, you define the map group the server will run
containing EXACTLY the same maps you put in the mapcyclefile in EXACTLY
the same order.

NOTE: the map cycle that will actually be LOADED next is what you define
to be next in the config for that mapgroup, although the server will TELL
you (correct or not) at the end of the current map (ingame chat Next Map:
<whatever> that the next map will be whatever is listed to be next in the
mapcyclefile.  I tested this out last weekend.  Not trying to ruffle any
feathers or start any arguments about whether mapcyclefile is still
followed by the server engine or not, I'm just telling you what I proved
by testing myself without MM/SM even loaded.

4.  For sourcemod, it's notion of the mapcycle and thus what it thinks the
next map will be if somebody says "nextmap", etc. comes from
addons/sourcemod/configs/maplists.cfg.  I've gotten into the habit of
reconfiguring this file a bit anyway, because I don't like players being
able to vote a map in that I know will empty the server out, etc.  So what
I do is this, and it works well for CS:GO as well:

In maplists.cfg, the default contents set the key named "default" to a
file named mapcycle.txt:

        /**
         * Default requests go right to the mapcyclefile.
         */
        "default"
        {
                "target"                "mapcyclefile"
                //"file"                        "mapcycle.txt"
        }

Do what I did instead in the example above -- comment the "file" out, and
create a line saying "target"  "mapcyclefile" instead.  This tells
sourcemod, whatever the server thinks the mapcycle file is (by the
mapcyclefile cvar), use this as the default target.

Wanting to be sure what it thought the mapcyclefile was, I also
specifically defined it above the entry excerpted above:

        "mapcyclefile"
        {
                "file"                  "mymapcycle_se.txt"
        }

Since everything else in maplists.cfg can be set to use "target"
"default", or already is by default, you can end up with a config that
basically enforces sourcemod and the server (mapcyclefile-using parts of
the server AND the mapchange part that really obeys the mapgroup config)
to all be on the same page.

enjoy.



> A response from IRC if anyone wants to get any info on this.
>
> <@asherkin> karil, I dont know about the game's, but you can disable
> SourceMod's easily
> <@asherkin> we're hoping to get them synced in the future - SRCDS
> originally didn't have built-in nextmap tracking, and that part of SM
> hasn't changed since the ep1 days, so they conflict more and more as time
> goes o
> _______________________________________________
> Csgo_servers mailing list
> [email protected]
> https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers


_______________________________________________
Csgo_servers mailing list
[email protected]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers

Reply via email to