Rune Central

The Official Rune Quake Message Board
It is currently Thu Mar 28, 2024 7:01 pm

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Trouble compiling
PostPosted: Sat May 19, 2007 4:52 pm 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
I'm trying to get runequake running with a set of custom maps on a regular rotation with time/frag limits in place.

Using the instructions I found here: http://forums.runecentral.com/viewtopic.php?t=946
I've made changes using the following code (one map, just to test it all out)...

Code:
my @custom_lev = (
   [], # unused

   [ # small
      'e1m1rmx',
   ],

   [ # medium
   ],

   [ # large
   ],
);


The instructions say that I should use the following command line to recompile the "map-auto.qc"

Code:
perl map > map-auto.qc


I run windows and used ActivePerl to compile

I deleted the line that sets this array to null as the instructions said to do. When I compile with QCCDOS, I get errors in the output and it won't create the progs.dat for me.

Errors:
Code:
D:\QuakeSrc\src\poq>qccdos
outputfile: ../progs.dat
compiling defs.qc
defs.qc:1360:"..." is not a type
defs.qc:1361:"..." is not a type
defs.qc:1362:"..." is not a type
defs.qc:1363:"..." is not a type
defs.qc:1364:"..." is not a type
defs.qc:1365:"..." is not a type
defs.qc:1366:"..." is not a type
defs.qc:1368:"..." is not a type
defs.qc:1369:"..." is not a type
defs.qc:1370:"..." is not a type
defs.qc:1371:"..." is not a type


Compiling with QCCX shows no errors and generates a progs.dat for me

However, when I move the progs.dat to the server for testing, I get runtime errors when starting the dedicated server using Darkplaces that causes the window to immediately close. Using -condebug, I captured the error that Darkplaces is spitting out.

Errors at runtime:
Code:
^7Host_Error: PRVM_EDICT_NUM: server: bad number -781168 (called at prvm_execprogram.h:218)
^7Quake Error: Host_Error: PRVM_EDICT_NUM: server: bad number -781168 (called at prvm_execprogram.h:218)


Again, the window immediately closes and the dedicated server does not start.

My quake command-line:
Code:
darkplaces.exe -game runes -dedicated -udpport 26000 -ip 207.115.73.230 -condebug


What am I doing wrong? Am I using an unsupported compiler?


Top
 Profile  
Reply with quote  
 Post subject: Re: Trouble compiling
PostPosted: Sat May 19, 2007 9:50 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
In2ishun wrote:
I deleted the line that sets this array to null as the instructions said to do. When I compile with QCCDOS, I get errors in the output and it won't create the progs.dat for me.


The code will only compile with qccx or frikqcc 2.5, so continue to use qccx.

In2ishun wrote:
My quake command-line:
Code:
darkplaces.exe -game runes -dedicated -udpport 26000 -ip 207.115.73.230 -condebug


What am I doing wrong? Am I using an unsupported compiler?


Rune Quake runs best with ProQuake 3.50, and doesn't support the Dark Places engine. I think Lardarse is working on a compatible version for Dark Places, so you might want to PM him on his progress or perhaps he will respond here.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject: Re: Trouble compiling
PostPosted: Sat May 19, 2007 11:56 pm 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
Slot Zero wrote:

The code will only compile with qccx or frikqcc 2.5, so continue to use qccx.



Ok... good enough. I found a copy in the FTP directory of runecentral

Slot Zero wrote:
Rune Quake runs best with ProQuake 3.50, and doesn't support the Dark Places engine. I think Lardarse is working on a compatible version for Dark Places, so you might want to PM him on his progress or perhaps he will respond here.


See, I personally would prefer to use ProQuake on the server and I *was* using it. However, I was banging my head against a wall trying to figure out why it wouldn't allow anyone to connect when the server is behind a firewall. Baker at QuakeOne mentioned that ProQuake is more intended to run on a LAN unless you want to open a TON of ports to your server. I'm not happy with Darkplaces. I might be able to get the map rotation thing resolved if I know what and how many ports need to be opened up inbound for ProQuake? Certainly other people are already doing this, right? My compiles might work then.

Thoughts?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun May 20, 2007 12:04 am 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
By the way, love the avatar SlotZero. Two of my all time favorite games that I still manage to play every once in a while. (versions 1 and 2)


Top
 Profile  
Reply with quote  
 Post subject: Re: Trouble compiling
PostPosted: Sun May 20, 2007 1:21 am 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
In2ishun wrote:
Baker at QuakeOne mentioned that ProQuake is more intended to run on a LAN unless you want to open a TON of ports to your server.


It isn't relevant to the discussion, but ProQuake is the server for probably 95% of the public internet Quake servers around, so I'm not sure where you got where I thought ProQuake was for LANs. I'm not being defensive; just explaining.

You do need to keep all of UDP ports open (as far as I know), but I doubt DarkPlaces server is any different if using the Quake protocol.

What's the harm of keeping a lot of UDP ports open anyway? UDP is only used for games -- as far as I know -- so it isn't like that represents a vulnerability. TCP/IP is the protocol used for the internet/web browsers; UDP = games.


Top
 Profile  
Reply with quote  
 Post subject: Re: Trouble compiling
PostPosted: Sun May 20, 2007 12:36 pm 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
Baker wrote:
It isn't relevant to the discussion, but ProQuake is the server for probably 95% of the public internet Quake servers around, so I'm not sure where you got where I thought ProQuake was for LANs. I'm not being defensive; just explaining.


You know what? I mis-credited the comments. It was Canadian Sniper who mentioned that ProQuake was more geared toward LAN play. My apologies. :oops:

Baker wrote:
I doubt DarkPlaces server is any different if using the Quake protocol.


You mean aside from not being able to run Runes? :)

Baker wrote:
What's the harm of keeping a lot of UDP ports open anyway? UDP is only used for games -- as far as I know -- so it isn't like that represents a vulnerability. TCP/IP is the protocol used for the internet/web browsers; UDP = games.


I guess I'm merely following the standard the everything is denied and you open what needs to be open. DOS attacks come in many different flavors and I'm not smart enough to know if I'll be leaving the server wide open or not by allowing all UDP in. I'm guessing it could be fairly ok though I may consider running all this in a Virtual Machine on a VLan just to be safe.

I'll try using ProQuake again and see if I can get the FW rules modified. I'm guessing that my problem can be solved.

Thanks for the help guys. I'm thankful that even a 10-year old game has experts still running around.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun May 20, 2007 2:03 pm 
Offline
User avatar

Joined: Sun Oct 09, 2005 4:48 am
Posts: 392
Location: Hey look! Secret Message!!!!
@Baker: A Darkplaces server only needs to open the port that the server listens for (default 26000). You don't need to open any more ports like you do with Proquake, even with the QUAKE protocol.

This is the way a server should be, one listening port and everything else closed.

_________________
If you see me online, say Hi :)


Top
 Profile  
Reply with quote  
 Post subject: Re: Trouble compiling
PostPosted: Sun May 20, 2007 2:07 pm 
Offline

Joined: Sun Mar 09, 2003 10:47 pm
Posts: 1612
Location: Ohio
In2ishun wrote:
I guess I'm merely following the standard the everything is denied and you open what needs to be open. DOS attacks come in many different flavors and I'm not smart enough to know if I'll be leaving the server wide open or not by allowing all UDP in. I'm guessing it could be fairly ok though I may consider running all this in a Virtual Machine on a VLan just to be safe.


I wouldn't worry about UDP ports being open.

There have been thousands of Quake servers over the years and all of them have had to have all the UDP ports open. If a machine could be hacked via UDP, it would have been done a long time ago. There are a 100 servers right now, some of which that have been running for 10 years (the Clan Rum servers).

As far as a DOS attack goes, that has nothing to do with ports. A DOS attack is when your server or machine is intentionally being flooded; there is no such thing as preventing DOS attacks anymore than you can prevent someone from dialing your phone number non-stop.

Canadian*Sniper wrote:
@Baker: A Darkplaces server only needs to open the port that the server listens for (default 26000). You don't need to open any more ports like you do with Proquake, even with the QUAKE protocol.

This is the way a server should be, one listening port and everything else closed.


Thanks for info, that is a hell of a lot more tidy if true (I am assuming you are correct, I think I read that somewhere now that I think about it). That is a far better approach, although the numerous ProQuake servers don't have problems with ports being open.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 23, 2007 1:19 am 
Offline
zop.runequake.com
User avatar

Joined: Fri May 02, 2003 8:46 am
Posts: 343
Location: Palm Desert, CA
What's your phone number, Baker?

_________________
a random mod server: zop.runequake.com


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed May 23, 2007 11:07 pm 
Offline

Joined: Sat Mar 05, 2005 11:24 pm
Posts: 122
Baker's number is 867-5309

_________________
aka -sole-
Quake 1 Resurrection - QuakeOne.com


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon May 28, 2007 11:47 am 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
Ok... I've finally moved all my server functions to a new datacenter on my own server. I have my own VLAN so I'm not worried about leaving UDP open and can test recompiling "runes" with my custom map selections included.

If you've been following this thread, the only thing I'm really after is automatic map rotation with frag/time limits. The Rune Quake mod, using WQPro on the server is the only way, I've learned, that I'm able to do this without knowing how to program Quake C

Again, I followed the instructions noted at the top of this thread and compiled a "map-auto.qc" using ActivePerl. When I move the map-auto.qc into the POQ directory and recompile my progs.dat using QCCX, there are no compile errors and a progs.dat is generated. When I launch WQPro in dedicated mode using the following command line:

Code:
WQPro.exe -dedicated 8 -game runes -ip 162.42.196.222 -udpport 26001


I generate the following error

Code:
PackFile: E:\Gaming\Quake/id1/pak0.pak : maps/b_nail0.bsp
PackFile: E:\Gaming\Quake/id1/pak0.pak : maps/b_bh100.bsp
Sending console bindings
FindFile: can't find ban.txt
couldn't exec ban.txt
ADDRESS    3141(array)entity 0  3143(i)  0.0         3161(?]
   strman.qc : allocate_string_size
     team.qc : change_teamplay
    world.qc : StartFrame
<NO FUNCTION>
assignment to world entity
Host_Error: Program error

***********************************
ERROR: Host_Error: Program error

Press Enter to exit
***********************************


Wanting to be sure it wasn't some kind of incompatibility with QCCX, I also used FRIKQCC. Frik wasn't able to generate a progs.dat, I'm assuming, due to the errors below.

Code:
D:\QuakeSrc\src\poq>frikqcc

--------------- frikqcc v2.6 ----------------
defs.qc
settings.qc
func.qc
internal.qc
internal.qc(29): error: Wrong immediate type for SV_LASTCHECKTIME, Expected float found int
internal.qc(30): error: Wrong immediate type for SV_NAME, Expected float found int
internal.qc(31): error: Wrong immediate type for SV_MODELNAME, Expected float found int
internal.qc(32): error: Wrong immediate type for SV_WORLDMODEL, Expected float found int
internal.qc(33): error: Wrong immediate type for SV_MODEL_PRECACHE, Expected float found int
internal.qc(34): error: Wrong immediate type for SV_MODELS, Expected float found int
internal.qc(35): error: Wrong immediate type for SV_SOUND_PRECACHE, Expected float found int
internal.qc(36): error: Wrong immediate type for SV_LIGHTSTYLES, Expected float found int
internal.qc(37): error: Wrong immediate type for SV_NUM_EDICTS, Expected float found int
internal.qc(38): error: Wrong immediate type for SV_MAX_EDICTS, Expected float found int
internal.qc(39): error: Wrong immediate type for SV_EDICTS, Expected float found int

../progs.dat - 11 error(s), 0 warning(s)
press a key


I'm not really sure if this is something I'm doing wrong, or if there's a problem with my modification of the "map" file in the \src\ directory. Here is the modification I've made to that file. (I'm using only one map in order to test functionality. My intention is to add/remove maps then recompile as time goes by based on player feedback. I could add another map reference, but somehow I don't think that's the problem.)

Code:
my @custom_lev = (
   [], # unused

   [ # small
      'alk08dm',
   ],

   [ # medium
   ],

   [ # large
   ],
);


If you have any insight, I would be grateful if you'd share it.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon May 28, 2007 12:07 pm 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
Just a brief update. I've confirmed that the following array doesn't appear to elliminate the runtime errors on the server.

Code:
my @custom_lev = (
   [], # unused

   [ # small
      'alk08dm',
   'a2',
   ],

   [ # medium
      'aerowalk',
   'alkdm04',
   ],

   [ # large
      'auhdm2',
   'factory3',
   ],
);


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon May 28, 2007 2:48 pm 
Offline
Site Admin
User avatar

Joined: Fri Mar 07, 2003 7:41 pm
Posts: 1255
Location: New Jersey, USA
Make sure you're using the /O2 command line option with qccx or fikqcc 2.5. Only qccx and frikqcc version 2.5 is supported. Earlier and later versions of frikqcc won't work.

Sorry for the inconvenience, I've already addressed this /O2 requirement and it won't be necessary in future releases.

_________________
Slot Zero
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon May 28, 2007 5:15 pm 
Offline

Joined: Tue Jun 14, 2005 7:31 pm
Posts: 13
Slot Zero wrote:
Make sure you're using the /O2 command line option with qccx or fikqcc 2.5. Only qccx and frikqcc version 2.5 is supported. Earlier and later versions of frikqcc won't work.

Sorry for the inconvenience, I've already addressed this /O2 requirement and it won't be necessary in future releases.


Yup, that did it. All this effort finally paid off and I found what I was after - map rotation for custom maps only based on time / frag limits.

Many, many, thanks to all who gave me a hand. I'm a happy camper... err.... fragger I mean to say. :D


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 37 guests


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