Map rotation (12 maps) Server config?


(GUFX) #1

Hi,

maybe this question has already been asked and answered. I did not find the answer. I want to configure my game server (unranked) so that all 12 maps can be played without break in a row, A great map rotation of all official maps. The XP will remain. Is that possible? I found this guide, but it does not work for me:
http://teamipx.net/gaming/games/etqw/team-ipx-etqw-server-install-guide


(DrFunkenstein) #2

Attached to this reply you’ll find the campaign definition that Villa uses for it’s XP save server. I had to rename it so I could attach it to this post. Save the file locally and change the extension to pk4 if you want to use it.

If you open it with Winrar, you’ll see a file and a sub directory that contains another directory with the file “untilQWcrashes.def” in it. This file contains the actual list of the maps that are in the campaign and if you open it, you’ll see that it’s basically a trick, it’s simply an almost endless repetition of the 12 maps that come with the game.

-Villa-untilQWcrashes.zip (1.11 KB)

You can use this as a basis for what you want and you can find more info about creating custom campaigns in this thread.

This should work, but it’s a bit of a hassle and you can probably do it in a simpler way. There should be a file called server.cfg in the \base directory of your server. You can set the game type of the server there by adding or editing si_rules. The default value is “sdGameRulesCampaign” but you can change that to “sdGameRulesObjective”.

Once you’ve done that, you could add this as the map rotation:

set m1 “set g_nextMap $m2; spawnServer maps/refinery”
set m2 “set g_nextMap $m3; spawnServer maps/slipgate”
set m3 “set g_nextMap $m4; spawnServer maps/island”
set m4 “set g_nextMap $m5; spawnServer maps/valley”
set m5…
set m12 "set g_nextMap $m1; spawnServer maps/volcano

vstr m1

(I didn’t feel like typing it all out, I hope you get the idea.)

This is UNTESTED but I’m fairly positive it should work. Might need some tweaking though, if you have any questions or need further help, please ask.

Dr. Funkenstein


(DrFunkenstein) #3

It suddenly dawned on me that the second alternative I suggested isn’t gonna achieve what you want. If you want to save XP over 12 maps in a row, setting the server to objective mode isn’t going to work because you get an XP reset after each map. Sorry.

My guess is that you’ll have to create a custom campaign for what you want. The first part of my initial reply should help you getting started.

Dr, Funkenstein


(GUFX) #4

Thanx,
I have made ​​many experiments, but never with the requested result. As far as I add only one map more here,

set m0 “set g_nextMap $m1;spawnServer campaign_africa”
set m1 “set g_nextMap $m2;spawnServer campaign_northamerica”
set m2 “set g_nextMap $m3;spawnServer campaign_northeurope”
set m3 “set g_nextMap $m0;spawnServer campaign_pacific”
vstr m0

the server will not start anymore.
Hm, maybe im to stupid :-).


(Assassin4004) #5

The asterik (*) behind net_serverDlTable means all.

net_serverDlTable “*” //pak names for which download is provided, seperated by semicolon - use a * to mark all paks

You can use a URL for net_serverDlBaseURL. As specified in my example. Just be sure to use a port number if the http server is not hosting from port 80. It doesn’t hurt to always include the port number. The net_serverDlBaseURL points to the folder being shared by the http server. This folder contains a “base” folder with all the pk4s for downloading. For TAW we host from our Bravehardt server. Inside the Custom_Maps folder at the hosting site is a “base” folder and inside the “base” folder are the custom pk4s.

Example: net_serverDlBaseURL “http://bravehardt.com/TAW/Quake_Wars/Custom_Maps/

I don’t really know what you mean by the server don’t know the pk4 files…The location where all the pk4s are located is specified on the server. So the server knows where the pk4s are. The * then says that the server allows automatic downloads for all the pk4s that it can find at the net_serverDlBaseURL. When you spawnServer maps/mapname aka start a map on your server. The server launches the pk4. When a client connects to your server, based on the current pk4 being run on your server with the spawnServer command, the client will automatically download the correct pk4.

Therefore you don’t need to worry about MIMEs. I have no knowledge with MIMEs but can say I have my own custom server running that hosts custom pk4s.


(GUFX) #6

Now It looks as if it works :-).


2 bots got in honor your names :-). I have yet to play through the entire campaign to have certainty.
Is the download working for you? Can you please test it?

<--------Berliner Ballerbude --------->

For me all is fine :-))))))


(Assassin4004) #7

Yes, it looks like it works. I deleted all copies I previously had of z_campaign_all_vanilla.pk4 and was prompted to download the pk4. I then spawned in your map as a strogg. I was getting a message though about not having the correct version of Punkbuster so I disconnected quickly so I wouldn’t get kicked from your server. The warning message I received is below:

WARNING: PunkBuster Reports PB Server Running Old Version C1.729

I’m not entirely sure what this means. I think I have the latest version of PunkBuster on my computer, so I think its a problem on the server-side. I think it’s saying that the server is running an old version of PunkBuster because it doesn’t match the version I’m running. You can always disable PunkBuster via an ETQW dedicated server command:

net_serverPunkbusterEnabled 0

This way when people connect they don’t need to go through the hassle of matching their PunkBuster version to your server. I think this may be best because PunkBuster is no longer supporting this game. It was used for anti-cheating but it has been a while since its been used and everything.

BTW I didn’t see bots named after me, but I’ll look again.

Hope this helps and I’m so glad everything is working now!

~Assassin4004


(GUFX) #8

PB is not running on my server. I’ve turned off pb from the beginning. I thought at any rate.
seta net_serverPunkbusterEnabled “0”
but in the last part on server.cfg is seen this:

// PunkBuster
////////////////////
pb_sv_enable

exec pbsv.cfg

Maybe here should be something else.

On the server, there are 50 bots. If only one bot use your name, the probability is not equal to 100% :-).

Thank You!


(DrFunkenstein) #9

I just joined your server without problems, I get a message asking me if I want to download the file and after a couple of restarts and reconnects I was able to join. I did get kicked though because of the PB issue.

Dr. Funkenstein


(GUFX) #10

When i set sdGameRulesObjective the maps are loaded one after the other with this:

set m1 “set g_nextMap $m2; spawnServer area22”
set m2 “set g_nextMap $m3; spawnServer ark”
set m3 “set g_nextMap $m4; spawnServer canyon”
set m4 “set g_nextMap $m5; spawnServer island”
set m5 “set g_nextMap $m6; spawnServer outskirts”
set m6 “set g_nextMap $m8; spawnServer quarry”
set m7 “set g_nextMap $m5; spawnServer refinery”
set m8 “set g_nextMap $m5; spawnServer salvage”
set m9 “set g_nextMap $m5; spawnServer sewer”
set m10 “set g_nextMap $m5; spawnServer valley”
set m11 “set g_nextMap $m5; spawnServer slipgate”
set m12 “set g_nextMap $m1; spawnServer volcano”
vstr m1

but the xp will not be saved.

if i set sdGameRulesCampaign then the server will not boot:-((


(DrFunkenstein) #11

As I said in the “Does anyone still play ETQW?” thread, please have a look at this thread, the answer to your question is in it, but it will require some effort on your part.

You need to create a new campaign and add all 12 stock maps to that campaign. You can find an example of new campaigns I created based on stock maps in that thread and that should help you getting started.

Dr. Funkenstein


(GUFX) #12

Thanks for your help. I play ETQW since 2007. Now I understand why I have never seen on any server an alternative campaign :-).
What is the path to - $ root of custom campaign from $? On my server, I only see this strukture.
/
/etqw-150
/etqw-150/base
/etqw-150/pb
/etqw-150/sdnet
/etqw-150/base/bots
/etqw-150/base/logs and inside /etqw-150/pb 4 directories

Other directories i cant see.


(DrFunkenstein) #13

[QUOTE=GUFX;539836]Thanks for your help. I play ETQW since 2007. Now I understand why I have never seen on any server an alternative campaign :-).
What is the path to - $ root of custom campaign from $? On my server, I only see this strukture.
/
/etqw-150
/etqw-150/base
/etqw-150/pb
/etqw-150/sdnet
/etqw-150/base/bots
/etqw-150/base/logs and inside /etqw-150/pb 4 directories

Other directories i cant see.[/QUOTE]

Your new campaign is a file on your server that needs to be structured in a specific way or it won’t work. Susefreak is talking about the structure of the file itself when he’s talking about $ root of custom campaign$.

I used a campaign created by Donnovan (bless him!) and edited that to suit my needs and you can download my custom campaign here.

If you open it with Winrar or Winzip, you’ll see what I mean by “structure of the file”. The root directory contains one file (addon.conf) and 2 subdirectories (def and script). You will need to edit “addon.conf” and “remix.def” to suit your needs.

Dr. Funkenstein


(GUFX) #14

I begin to understand :-). It´s very complicated.

Can I add new maps to this part in this way? i want to add all 12 maps to one campaign.

campaignDef remix_africa {
map “maps/refinery”
map “maps/slipgate”
map “maps/island”
map “maps/new map” <-----------------

data {
“mtr_backdrop” “levelshots/campaigns/africa”
}
}


(DrFunkenstein) #15

Exactly! (and yes, it’s complicated!)

And “remix_africa” is just a name, you can change it to BerlinerBallerCampaign or whatever you like, but make sure you change the name in addon.conf as well!

Dr. Funkenstein


(GUFX) #16

OK, Thank you!!

After i have add this, the server is runnig, but i cant join.

This error is displayed; Local data is not in sync with the server data.

I have stored the structure of the directories and files here: /etqw-150/base/

Maybe the error is in the file script/map.script in this line:

//#include “script/maps/andes.script”

If I remove the comment characters //# then refers the include command to a nonexistent resource

Something is wrong :-(.


(DrFunkenstein) #17

The lines with “//” in front of it are ignored by the game, it’s called “commenting out” and iD games traditionally use “//” for that.

You should leave those signs in the script file and comment out everything else you don’t need in the other files as well. Or remove those lines entirely, but I prefer to leave them in and comment them out instead, which makes it easier to track back if something isn’t working as expected.

As I said in the other thread, I used a file created by Donnovan as a basis and his campaign contained a map called Andes which uses scripts. Instead of deleting the script entirely, I chose to keep it in and comment everything out, and that way I still have an example of how things should be formatted when I want to create a campaign that uses maps that require scripts.

It’s simply my way of doing things, deleting everything you don’t need is perfectly okay as well.

Every campaign that’s in the addon.conf file that you don’t use, should be commented out or removed entirely and the same is true for the campaigns that are in the remix.def file which you have no use for. You can see how you do that, when you have a look at the file that I posted, the northeurope campaign is included, but commented out completely in addon.conf and remix.def because I don’t use it.

You will also need to change some lines in the server.cfg you use. Here’s what I used to run my custom made campaigns:

//This script cycles through the campaigns with the remixed stock maps

set m1 "set g_nextMap $m2; spawnServer remix_africa"
set m2 "set g_nextMap $m3; spawnServer remix_northamerica"
set m3 "set g_nextMap $m1; spawnServer remix_pacific"

vstr m1

Yours should probably look like this (untested!):

set m1 "set g_nextMap $m1; spawnServer remix_africa"

vstr m1

Make sure you get the campaign names right of you changed those!

Dr. Funkenstein


(GUFX) #18

I have now tested many variations on many paths, but the server will start at no.

The scripts directory I do not need, because the function is commented out,or?

Here is my file /etqw-150/base/def/campaigns/drfunkenstein_a1.def (or must i rename this file to the name of camaign?)

campaignDef Last_STROGG_offensive {
map “maps/valley”
map “maps/slipgate”
map “maps/island”
map “maps/area22”
map “maps/ark”
map “maps/canyon”
map “maps/outskirts”
map “maps/quarry”
map “maps/salvage”
map “maps/sewer”
map “maps/refinery”
map “maps/volcano”

data {
“mtr_backdrop” “levelshots/campaigns/africa”
}
}

My file /etqw-150/base/addon.conf

addonDef {
}

campaignMetaData Last_STROGG_offensive {
“pretty_name” “Last_STROGG_offensive”
“server_shot_thumb” “levelshots/campaigns/thumbs/africa.tga”
“show_in_browser” “1”
}

I test this:

set m1 “set g_nextMap $m1; spawnServer Last_STROGG_offensive”

vstr m1
in server.cfg

but actually my working server.cfg looks like this:

set m0 “set g_nextMap $m1;spawnServer campaign_africa”
set m1 “set g_nextMap $m2;spawnServer campaign_northamerica”
set m2 “set g_nextMap $m3;spawnServer campaign_northeurope”
set m3 “set g_nextMap $m0;spawnServer campaign_pacific”
vstr m0

I´m at the end today :-//


(DrFunkenstein) #19

There are 2 things I would like to suggest:

  • use a local dedicated server for testing purposes (it’s installed by default, look for qwded.exe);
  • try to get my campaign file working first on that local server and when you are sure it works, start editing the files to your own needs and do this step by step.

I can assure you I had some splitting headaches myself when I tried to figure this all out :slight_smile: .

Dr. Funkenstein


(GUFX) #20

I’m getting a cramp :-)))))))). It also does not work locally. Currently my ETQW server is hosted.I do not have enough rights on this hostet server. I can for example here no set/ change chmod for directories. It could be also a rights issue. I can not see the server logs (especially the syslogs).
I have no idea where is the fault. Maybe it’s just as I said above. I’m too stupid :_)

Thank you for your support!