Hello. I'm getting a new DM server up and running with the primary purpose of hosting a rotating set of custom DM maps.

I'm wondering about the best mod to use for this (CRMOD, CaX, and RuneQuake are the active mods in the running). I had a few questions on RuneQuake configurations.

(1) Is it possible to disable the "runes" part of runequake ... e.g. run the game with no runes spawning, no extra weapons, no hook, etc.? Is that what "match" mode does? Or does match mode still spawn with runes, extra weapons, etc.?

(2) It looks like you can edit the QC to add custom maps and/or restrict the playable maps to only what is defined in the QC list. Is this correct? I'd be interested in removing the ability to play (or vote for) stock maps and keep the server focused around a dozen custom maps at any one time.

(3) Does RuneQuake support powerup drops (e.g. you drop the quad damage when you are killed and other players can pick it up).

(4) How does RuneQuake handle map rotations? Is it possible to define a map rotation in a server.cfg file? Ideally it would be great that if you switched to a teamplay mode or 1v1 mode (arena?) it would use a set of maps appropriate to that mode.

(5) I love head hunters and see that RuneQuake supports a head hunters mode. Where does the alter spawn? Will it spawn randomly somewhere in any level automatically? It would be cool to have an option for the first player to place the alter somewhere before the round begins.

(1) Is it possible to disable the "runes" part of runequake ... e.g. run the game with no runes spawning, no extra weapons, no hook, etc.? Is that what "match" mode does? Or does match mode still spawn with runes, extra weapons, etc.?

Each mode of the server has it own set of hard coded defaults. By default, the server is setup to run as a runequake server. Also configured by default are the "default options" setting for runequake. What this means is that if a player changes the mode of the server, or one of its many votable options, when they leave, the server will reset itself back to the hard coded defaults. It also means that if you enter any commands in the console or via config, they will be reset by the hard coded defaults. To stop using the hard coded defaults, you'll need to modify the scratch1 cvar by adding 1024 [no default mode]. For a list of options see Configuring or type help-scratch1 from the server console.

Once the default mode has been disabled, you can enable and disable runes, hook, alternate weapons, etc. Type commands in the server console to see the list of commands. To disable runes, for example, you would type runesoff. Also note that these options are votable to the players so they can turn them on and off as well.

There are six main modes on the server, normal (runes), match (crmod style match), practice (crmod style practice), rocket arena (1 v 1 only), midair (similar to rocket arena, but with RL only), and head hunters. Each mode has its own set of hard coded defaults that best fits its mode, or at least, my interpretation of such. These of course can be modified by editing and compiling the source.

Mezmorki wrote:

(2) It looks like you can edit the QC to add custom maps and/or restrict the playable maps to only what is defined in the QC list. Is this correct? I'd be interested in removing the ability to play (or vote for) stock maps and keep the server focused around a dozen custom maps at any one time.

You will need to edit the source code adding the desired custom maps and compile in order to use custom maps. There are two ways to compile the source. One is a straight forward QC compiler, and the other involves using GNU tools or compatible such as Cygwin. I can go over this at a later time, should you decide to do so.

And yes, you can disable a particular standard map or all of them with respect to map rotation. However, there is no votable option to do so. The custom maps must be added to the source code, but you can enable and disable standard maps without compiling (once you've added custom maps).

Mezmorki wrote:

(3) Does RuneQuake support powerup drops (e.g. you drop the quad damage when you are killed and other players can pick it up).

Yes, this is on by default in normal (runequake) mode. Use the commands powerupdropon/ powerupdropoff. But remember, the default options must be turned off first, or else the option will reset when everyone leaves.

Mezmorki wrote:

(4) How does RuneQuake handle map rotations? Is it possible to define a map rotation in a server.cfg file? Ideally it would be great that if you switched to a teamplay mode or 1v1 mode (arena?) it would use a set of maps appropriate to that mode.

Map rotation can be done linearly (the order in which is was entered in the code), randomly, or by map size. Unfortunately, there is no way to configure a specific set of maps for each gamemode. Adding custom maps involves editing the source and compiling. That being said, you can have a maximum of 100 maps for each level size (small, medium, large) for a grand total of 300 custom maps. All of them votable!

Mezmorki wrote:

(5) I love head hunters and see that RuneQuake supports a head hunters mode. Where does the alter spawn? Will it spawn randomly somewhere in any level automatically? It would be cool to have an option for the first player to place the alter somewhere before the round begins.

The standard maps have the altars in the location that the original head hunters mod author placed them. Custom maps will put altars on info_player_start(). I have yet to implement the ability to add custom altars via config, mainly because of the lack of interest in the mode. But it's on my todo list.

Slot, I know about a year ago you re-introduced headhunter; we never got a group going over there. There was some discussion about everyone going on a Friday nite, just never materialized. I suppose with all the recent changes this is no longer available?

I initially had a server up specifically for head hunters, but it wasn't getting any usage. You can still play head hunters though, by using the practice server located at quake.shmack.net:26002. Just vote-heads when you get there.

Awesome! Thanks for your great reply. I'll play around with the server settings in the source and see what I can get working.

I have a somewhat tangential question ...

I'm also looking at an older server-side mod that is a pretty minimal mod but I like the basic features. However ... most of the new server commands (e.g. "weaponsstay" for deathmatch 3) are not cvar-like commands. E.g., instead of saying "weaponsstay 1" or "weaponsstay 0" the command is a toggle activated by just typing "weaponsstay". This makes it difficult to use in .cfg files.

Furthermore, these commands, while clearly server settings, are only usable by a connected client. So if I type "weaponsstay" into the server console or put it into the server.cfg, the command is "unknown." But I can connect to the server and type in the commands as a client and they work.

So ... what all might be entailed in converting these "toggles" into cvars that are defined server side? Just curious if that's even possible. I can provide a link to the source if interested.

So ... what all might be entailed in converting these "toggles" into cvars that are defined server side? Just curious if that's even possible. I can provide a link to the source if interested.

This is an issue for all mods as the server config files are run well before the mod has a chance to set aliases. One way I work around this is to execute a special config file that is run after all of the aliases are set. Another option would be to set aliases from a config file instead.

Now if the commands don't work from the server console even after the server has been spawned, it's possible that the mod author didn't write any commands for the server console. Check to see if the state of an option stays on after a level change, if so, there is probably a cvar being used to store the value.

Now if the commands don't work from the server console even after the server has been spawned, it's possible that the mod author didn't write any commands for the server console. Check to see if the state of an option stays on after a level change, if so, there is probably a cvar being used to store the value.

Doing a little digging here ...

So the mod has about 30-40 "server" commands, except these are only executable by a connected client. Functionally, they appear to be implemented as impulse commands (in the impulse.qc), which means the server can't execute these commands by itself at all (or so I've been told).

So ..... in order to actually convert these to be server-side instead of client side, I'd need to get them firstly into the worldspawn (yes? or startframe?) of the world.gc. However, these would have to be converted and re-worked to function as some sort of cvar check using a bitflag method (e.g. like runequake has for deathmatch options). This is all probably beyond me!

Functionally, they appear to be implemented as impulse commands (in the impulse.qc), which means the server can't execute these commands by itself at all (or so I've been told).

For the most part, that's correct. You'll crash to the server if you try and set impulse for worldspawn. You can use a special compiler such as qccx that will allow you to do this though.

Mezmorki wrote:

So ..... in order to actually convert these to be server-side instead of client side, I'd need to get them firstly into the worldspawn (yes? or startframe?) of the world.gc. However, these would have to be converted and re-worked to function as some sort of cvar check using a bitflag method (e.g. like runequake has for deathmatch options). This is all probably beyond me!

Seems like all you need are the values for the SK_* options. Check for something that looks similar to this:

Code:

float SK_NOQUAD = 1;float SK_NORING = 2;float SK_NOPENT = 4;

Once you know the values, add up the ones you want enabled and stick them inside the saved1 cvar. At least that is the cvar being used for those three in the code.

Ah, good suggestion. I can try messing around with that a little. Basically, I could use that as a switch to allow clients to change the server settings (or not). Which would be a nice way to handle it.

Quick question about bit flags. I see code like the following:

Code:

(temp1 & T_DEATHINFO)

The "&" here is a check to see if the total bit value for temp1 includes the value for T_DEATHINFO? Or something to that effect?

==================================

Now I have THREE other issues with the mod. Maybe you can help point me in the right direction with these as well. And I should say that I appreciate you helping out a quakec n00b! This is really great. Maybe we can take one at a time

Issue #1 - "Deathinfo Feature Crashes Server"This feature (enabled with "deathinfo") is supposed to tell you information about the attacker that killed you (e.g. their life, armor, etc.). However, when this feature is on, the instant a player kills another player the server crashes. Here's the relevant bit of code from combat.qc

The code below does something fancy to give frags to other players on your team if you quit out of the game. Or something like that. However, it also results in crashing the server if a player leaves the server and then later that same player tries to rejoin the server.

Going well, but I have a question. Where in the QC are the mode defaults stored? I don't see that in settings.qc.

Currently they're at the bottom of team.qc. Search for " DEFAULT SETTINGS FOR MATCH, ARENA, PRACTICE, AND NORMAL" Note: MIDAIR shares the same settings with ARENA, and HEADS shares the same settings with NORMAL (runes), which is why you don't see those settings there.

The "&" here is a check to see if the total bit value for temp1 includes the value for T_DEATHINFO? Or something to that effect?

Yes, it checks the binary position.

Mezmorki wrote:

Issue #1 - "Deathinfo Feature Crashes Server"This feature (enabled with "deathinfo") is supposed to tell you information about the attacker that killed you (e.g. their life, armor, etc.). However, when this feature is on, the instant a player kills another player the server crashes.

Do you have the output of the crash from the server? A link to the source would be useful as well.

Mezmorki wrote:

Issue #2The code below does something fancy to give frags to other players on your team if you quit out of the game. Or something like that. However, it also results in crashing the server if a player leaves the server and then later that same player tries to rejoin the server.

Again, crash message would be useful. Although I do see a potential problem as a client's netname when stored in another edict is a pointer to the client address of netname and does not get copied over. Also, an edict called 'dcp' gets removed, not sure if that is the client edict or not.

I'll take a look at the crash logs tonight. I was chatting with the folks at insideQC and they gave some suggestions on code fixes for #2. Basically, the "while" statement can get into a perpetual loop, which was the crash error if I recall correctly.

On another note ... I've been struggling with my server to use ProQuake as a dedicated server. For whatever reason external clients can't connect to my server when using ProQuake (4.93 or 3.5). However, I've been using Qrack as a dedicated server (strange, I know) and it works fine. The problem is that if I host a dedicated RUNES server with Qrack, it crashes when clients try to connect.

What OS are you using? My guess is that qrack runs single port server mod that allows you to connect with 1 port rather than open up the many that is required for standard engines. As for the crashes, I always thought qrack didn't change much internally but perhaps it has. Have you tried running crmod on qrack? If that crashes as well then there is definitely something internal that has changed in the qrack engine. Dark places is another server not compatible with Rune Quake.

I know that yugo2heck has a single port server fix, but that only worked in linux for me. I never looked into getting to work for windows as I always ran the servers in linux. If you're using windows, then I'll have to checkout Rook's source code to see if I can implement it in my own dedicated server, manquake.

But I've tested dedicated + Qrack + runes on a Win7 machine as well and it also crashes.

I've used CRMOD with Qrack and it has worked fine in testing.

What other dedicated servers for NetQuake are worth trying? I messed around with FTE and turning on the netquake protocols, but it was flaky. All the way back to WinQuake? ProQuake seems like it should work, I don't know why people can't connect to it. I'll try messing around with opening even more (i.e. all) ports.

What other dedicated servers for NetQuake are worth trying? I messed around with FTE and turning on the netquake protocols, but it was flaky. All the way back to WinQuake? ProQuake seems like it should work, I don't know why people can't connect to it. I'll try messing around with opening even more (i.e. all) ports.

I have a custom dedicated server specifically for Rune Quake, you can get the source and download precompiled binaries here: https://github.com/slotzero/manquake. It's essentially a modified version of ProQuake 3.50. I also periodically run my mod on WinQuake 1.08 to make sure that there aren't any crashes.

If you're still having trouble, you might want to reach out to Baker at quakeone.com as he maintains ProQuake now or contact r00k for Qrack. I haven't heard from either of them in quite a while though.

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum