Rune Central http://runequake.com/forums/ |
|
Trouble compiling http://runequake.com/forums/viewtopic.php?f=2&t=1318 |
Page 1 of 1 |
Author: | In2ishun [ Sat May 19, 2007 4:52 pm ] |
Post subject: | Trouble compiling |
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? |
Author: | Slot Zero [ Sat May 19, 2007 9:50 pm ] |
Post subject: | Re: Trouble compiling |
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. |
Author: | In2ishun [ Sat May 19, 2007 11:56 pm ] |
Post subject: | Re: Trouble compiling |
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? |
Author: | In2ishun [ Sun May 20, 2007 12:04 am ] |
Post subject: | |
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) |
Author: | Baker [ Sun May 20, 2007 1:21 am ] |
Post subject: | Re: Trouble compiling |
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. |
Author: | In2ishun [ Sun May 20, 2007 12:36 pm ] |
Post subject: | Re: Trouble compiling |
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. 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. |
Author: | Canadian*Sniper [ Sun May 20, 2007 2:03 pm ] |
Post subject: | |
@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. |
Author: | Baker [ Sun May 20, 2007 2:07 pm ] |
Post subject: | Re: Trouble compiling |
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. |
Author: | Zop [ Wed May 23, 2007 1:19 am ] |
Post subject: | |
What's your phone number, Baker? |
Author: | steve [ Wed May 23, 2007 11:07 pm ] |
Post subject: | |
Baker's number is 867-5309 |
Author: | In2ishun [ Mon May 28, 2007 11:47 am ] |
Post subject: | |
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. |
Author: | In2ishun [ Mon May 28, 2007 12:07 pm ] |
Post subject: | |
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', ], ); |
Author: | Slot Zero [ Mon May 28, 2007 2:48 pm ] |
Post subject: | |
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. |
Author: | In2ishun [ Mon May 28, 2007 5:15 pm ] |
Post subject: | |
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. |
Page 1 of 1 | All times are UTC - 5 hours [ DST ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |