Rune Central

The Official Rune Quake Message Board
It is currently Sun Aug 20, 2017 10:29 pm

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Runequake Server Configuration Suggestions
PostPosted: Mon Sep 21, 2015 3:48 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
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.

Thanks!


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Mon Sep 21, 2015 7:15 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
(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 Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Mon Sep 21, 2015 7:23 pm 
Offline
User avatar

Joined: Sat Mar 08, 2014 12:56 pm
Posts: 63
Location: Rocky Mountains (Boulder)
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?


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Mon Sep 21, 2015 7:38 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Tue Sep 22, 2015 8:54 am 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
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.

Cheers!


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Tue Sep 22, 2015 3:45 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Tue Sep 22, 2015 10:54 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
Slot Zero wrote:
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!

Here's a snippet of the current impulse code...

Code:
void() ServerImpulses =
{
   if(self.impulse == 150)
   {
      if(saved1 & SK_NOQUAD)
      {
         saved1 = saved1 - (saved1 & SK_NOQUAD);
         bprint("Quad Damage enabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      else
      {
         saved1 = saved1 | SK_NOQUAD;
         bprint("Quad Damage disabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      saved1 = rint(saved1);
      MOTD = ftos(saved1);      //MOTD is a global string which is not used ATM
      cvar_set("saved1", MOTD);
   }
   else if(self.impulse == 151)
   {
      if(saved1 & SK_NORING)
      {
         saved1 = saved1 - (saved1 & SK_NORING);
         bprint("Ring of Shadows enabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      else
      {
         saved1 = saved1 | SK_NORING;
         bprint("Ring of Shadows disabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      saved1 = rint(saved1);
      MOTD = ftos(saved1);      //MOTD is a global string which is not used ATM
      cvar_set("saved1", MOTD);
   }
   else if(self.impulse == 152)
   {
      if(saved1 & SK_NOPENT)
      {
         saved1 = saved1 - (saved1 & SK_NOPENT);
         bprint("Pentagram of Protection enabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      else
      {
         saved1 = saved1 | SK_NOPENT;
         bprint("Pentagram of Protection disabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      saved1 = rint(saved1);
      MOTD = ftos(saved1);      //MOTD is a global string which is not used ATM
      cvar_set("saved1", MOTD);

and so on......


Does that look like it's what needs to be reimplemented? where in the runequake code do you do the bit flags thing? i can take a look to maybe reverse engineer?


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Tue Sep 22, 2015 11:46 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Wed Sep 23, 2015 7:12 am 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
In defs.qc

Code:
float M_OBSERVER = 0;
float M_PLAYER = 1;
float M_CAM = 2;

float L_SERVERCLOSED = 1;

//D_ : modifications stored in deathmatch cvar
float D_NORMAL = 1;
float D_ALLWEAPONS = 2;
float D_WEAPONSSTAY = 4;
float D_SPEED = 8;
float D_INFINITEAMMO = 16;
float D_MOREHEALTH = 32;
float D_DARKDM = 64;
float D_BERSERKDM = 128;
float D_FASTRELOAD = 256;
float D_BERSERKDM2 = 512;
float D_OCTADAMAGE = 1024;
float D_FULLARMOR = 2048;
float D_OVERTIME = 4096;
float D_CANTHARMSELF = 8192;
float D_GETHEAD = 16384;
float D_SHAMBLERHEAD = 32768;
float D_HH = 65536;

//G_ : modifications stored in gamestatus qcvar
float G_STARTING = 1;
float G_STARTED = 2;
float G_SERVERENTEREDGAME = 4;
float G_BERSERKMODE = 8;

//S_ : status of entity in .status attribute
float S_READYOBSERVER = 2;
float S_READYPLAY = 4;
float S_OBSERVERNOCHANGE = 8;
float S_REMOVE = 64;
float S_BREAK = 128;
float S_DROPPED = 256;
float S_TORCHON = 512;
float S_VOTEREINC1 = 1024;
float S_VOTEREINC2 = 2048;
float S_VOTEREINC3 = 4096;
float S_VOTEREINC4 = 8192;
float S_VOTEREINC5 = 16384;
float S_VOTEREINC6 = 32768;
float S_CHOOSINGTEAM = 65536;
float S_CHANGEDTEAM = 131072;
float S_TEAMCHOSEN = 262144;
float S_BERSERK = 524288;
float S_ORGINFO = 1048576;
float S_BECOMECAM = 2097152;

//Z_ : Zone damage multipliers
float Z_FEET = 0.8;
float Z_CHEST = 1.5;
float Z_HEAD = 2;

//SK_ : Itemsettings stored in saved1 cvar
float SK_NOQUAD = 1;
float SK_NORING = 2;
float SK_NOPENT = 4;
float SK_NOHEALTH = 8;
float SK_NORA = 16;
float SK_NOYA = 32;
float SK_NOGA = 64;
float SK_NOSSG = 128;
float SK_NONG = 256;
float SK_NOSNG = 512;
float SK_NOGL = 1024;
float SK_NORL = 2048;
float SK_NOLG = 4096;
float SK_NOSHELLS = 8192;
float SK_NONAILS = 16384;
float SK_NOROCKETS = 32768;
float SK_NOCELLS = 65536;

//T_ : modifications stored in temp1 cvar
//move to reincdefs?
float T_ALLOWOBSERVER = 1;
float T_NOMESSAGES = 2;
float T_SUICIDEPROTECTION = 4;
float T_DROPPOWERUPS = 8;
float T_JOINAVERAGEFRAGS = 16;
float T_MOREGIBS = 32;
float T_FAIRWEAPON = 64;
float T_SERVERCLOSED = 128;
float T_DEATHINFO = 256;
float T_VISBKPWEAPONS = 512;
float T_RPROTECTION = 1024;
float T_HITZONES = 2048;
float T_DAMAGEINFO = 4096;
float T_ALLOWHOOK = 8192;
float T_ALLOWRUNES = 16384;

//TEAM_ : Teamplay settings stored in teamplay cvar
float TEAM_NORMAL = 1;
float TEAM_HEALTHPROTECT = 2;
float TEAM_ARMORPROTECT = 4;
float TEAM_DAMAGEPENALTY = 8;
float TEAM_FRAGPENALTY = 16;
float TEAM_DEATHPENALTY = 32;
float TEAM_NOCHANGE = 128;
float TEAM_AUTOJOIN = 256;
float TEAM_MATCH = 512;
float TEAM_MATCH2 = 1024;
float TEAM_CTF = 2048;

float TBLUE    = 1;
float TRED    = 2;
float TGREEN    = 3;
float TYELLOW    = 4;
float TWHITE    = 5;
float TBROWN    = 6;

float THUNTED   = 1;
float THUNTER   = 2;

float ALERTMINUTES = 5;               
float DM_MOREHEALTH_MAXHEALTH = 350;   //maxhealth in megahealth mode
float BERSERKTIME = 20;               //time left in seconds when berserk mode begins
float VERSION = 1.0;

string MOTD;


So basically, it sounds like what I want to do is already built in, I just need to copy the above values our for reference and then I can use the referenced cvars in a server config.

If I want to lock the server down, I suppose I can also then comment out (or just delete) all the impulse commands for things I don't want players to be able to change in game.


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Wed Sep 23, 2015 4:01 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
If I want to lock the server down, I suppose I can also then comment out (or just delete) all the impulse commands for things I don't want players to be able to change in game.

You can comment it out but rather than compile each time you want a change, you can add another cvar option to have them work only when that cvar option is enabled. For example,

Code:
float SK_ALLOW_OPTION = 131072;

 if(self.impulse == 150)
   {
      if(saved1 & SK_NOQUAD && saved1 & SK_ALLOW_OPTION)
      {
         saved1 = saved1 - (saved1 & SK_NOQUAD);
         bprint("Quad Damage enabled.\n");
         sprint(self,"You have to restart the server.\n");
      }
      else


The SK_NOQUAD will only work if you have explicitly set saved1 by adding in the value in SK_ALLOW_OPTION.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 9:56 am 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
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

Code:
void(entity targ, entity attacker) Killed =
{
   local entity oself, respawner, head, lh;
   local string h, a;
   local float tl;

   oself = self;
   self = targ;
   
   if (self.health < -99)
      self.health = -99;      // don't let sbar look bad if a player

   if (self.movetype == MOVETYPE_PUSH || self.movetype == MOVETYPE_NONE)
   {   // doors, triggers, etc
      self.th_die ();
      self = oself;
      return;
   }

   self.enemy = attacker;

   ClientObituary(self, attacker);

// NEW CODE

   if((temp1 & T_DEATHINFO) && (attacker.health > 0) && (self != attacker))
   {
      h = ftos(attacker.health);
      if(attacker.armorvalue)
         gencenterprint7(self, attacker.netname, " had ", h, " health and ", ftos(attacker.armorvalue), " armor.", "");
      else
         gencenterprint7(self, attacker.netname, " had ", h, " health.", "", "", "");
      if(NumberOfPlayers() > 2)
         gencenterprint7(attacker, "You killed ", self.netname, ".", "", "", "", "");
   }
};


Thoughts ... the last IF statement is missing an else? What's the point of that last statement anyway?


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 1:25 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
Issue #2

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.

Code:
void() CheckForDCP =
{
local entity dcp;
local float mt;
local string smt;

   dcp = find(world, classname, "dcplayer");   //get to know if this player was already on the server
   while(dcp != world)
      if((dcp.netname != self.netname) && ((dcp.team != self.team) && teamplay))
         dcp = find(dcp, classname, "dcplayer");
   if(dcp)
   {
      if(dcp.netname == self.netname)
      {
         bprint(self.netname);
         bprint(" re-entered the game after ");
         mt = rint(time - dcp.delay);
         MOTD = " seconds.\n";   //MOTD currently not used
         if(mt >= 60)
         {
            mt = mt / 60;
            MOTD = " minutes.\n";
         }
         smt = ftos(mt);
         bprint(smt);
         bprint(MOTD);
      }
      else
      {
         bprint(self.netname);
         bprint(" gets the frags of his disconnected teammate ");
         bprint(dcp.netname);
         bprint(".\n");
      }
      self.frags = dcp.frags;
      dcp.frags = 0;
      remove(dcp);
   }
};



REVISED:

Code:
void() CheckForDCP =
{
local entity dcp;
local float mt;
local string smt;

   dcp = find(world, classname, "dcplayer");   //get to know if this player was already on the server
   while(dcp != world)
   {
      if((dcp.netname != self.netname) && ((dcp.team != self.team) && teamplay))
         break;
      dcp = find(dcp, classname, "dcplayer");
   }

      FOLLOWING CODE UNCHANGED FORM ABOVE ....


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 3:05 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
@Slot Zero

Messing around with RuneQuake configurations here :)

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


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 3:31 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 4:05 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
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 #2
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.


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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 4:50 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
Thanks for the replies!

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.

console log is not terribly helpful:

Code:
Sending console bindings
Cvar_Set: variable lcd_x not found
couldn't exec startlevel.cfg
couldn't exec ban.txt
Cvar_Set: variable lcd_yaw not found
host:    AA-R90F8BMM
version: Qrack 2.011 (build 3467)
tcp/ip:  10.2.33.85
map:     start
players: 0 active (16 max)

ADDRESS    2419(sv)entity 0     2364(?]              703(?]               
      net.qc : net_address
   client.qc : client_ip
   client.qc : ClientConnect
<NO FUNCTION>
assignment to world entity

===========================
Host_Error: Program error
===========================

Host_ShutdownServer: NET_SendToAll failed for 6 clients


I'm totally getting thwarted at every turn here. If the mod works, the server doesn't. If the server works, the mod doesn't. I still can't figure out how to get my DNS name working. Fun eh!?


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 7:30 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 10:44 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
The eventual server is an older machine running WinXP :O

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.


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Thu Sep 24, 2015 11:53 pm 
Offline
User avatar

Joined: Fri Sep 11, 2015 9:18 am
Posts: 32
Here is the error log for Dedicated Qrack Server + RuneQuake. The dedicated server works and I can issue commands. The second a client joins however it crashes with the errors below.

Code:
host:    13 Acres of Hell! Custom DM Maps
version: Qrack 2.015 (build 4959) Sep 24 2015
tcp/ip:  192.168.1.69
map:     lundm1
players: 0 active (16 max)

ADDRESS    2419(sv)entity 0     2364(?]              703(?]               
      net.qc : net_address
   client.qc : client_ip
   client.qc : ClientConnect
<NO FUNCTION>
assignment to world entity

===========================
Host_Error: Program error
===========================

Host_ShutdownServer: NET_SendToAll failed for 15 clients


Top
 Profile  
Reply with quote  
 Post subject: Re: Runequake Server Configuration Suggestions
PostPosted: Fri Sep 25, 2015 4:17 am 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1199
Location: New Jersey, USA
Mezmorki wrote:
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.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group