Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #25 on: November 01, 2010, 12:12:16 PM » |
|
What about using the deathmatch spawn points if there are no team spawn points? The map probably would not be completely working anyway (if the author did not put in team spawn points, I suppose he did not put in flags), but at least this would not crash the server.
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #26 on: November 01, 2010, 12:22:30 PM » |
|
What about using the deathmatch spawn points if there are no team spawn points?
It does but the map in question specifically forbids using them in team games so they are removed before the game starts. This is why I say that there must always be one ffa spawnpoint in a map that does not have gametype restrictions on it. Looking at the map schism-b2 in NetRadiant it is clear that it was meant to shutdown in team games. I pointed it out for Nean_Night here http://openarena.ws/board/index.php?topic=2170.msg25801#msg25801 as the maps in that thread suffered for the same problem.
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #27 on: November 01, 2010, 12:32:29 PM » |
|
In this case, I suppose the only thing to do is to ask the map creator to fix the map (IMHO it is better to have a map that starts in any gametype, even if it does not work correcly, than having a server shutdown)... If a map is released under the GPL and its .map file is available, one may add the missing entities by himself. It is even possible to add new entities without modifying the .map file, starting from the .bsp instead ( DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Entities-only_editing]Entities-only editing), but I have some questions about the right way to DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Talk:Entities-only_editing]respect the GPL license after doing it.
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #28 on: November 01, 2010, 12:39:18 PM » |
|
If a map is released under the GPL and its .map file is available, one may add the missing entities by himself.
One can. The map-file is available under the GPL. It was included in 0.8.0 but was removed due to license problems with the textures. I have looked in the map file therefore I know that the problem is that all spawnpoints are marked as "noteam".
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #29 on: November 01, 2010, 01:07:26 PM » |
|
I read DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Servers]here that //seta g_voteMaps "/ctf_inyard/oa_ctf4ish/hydronex/oasago2/" (no longer available in 0.8.5)
Since this looks a bit strange that the server admin has got no way to customize the callvotable maps list, I suppose that it has been moved to an external configuration file. Is it this way? It seems that the page does not mention it... An external text file may be used to support additional options, like allow the server admin to set the available modes for each map, for example: mapname // this line will allow the map to be launched in all the gametypes (like it is now, right?) mapname 0/1/ // this line will allow the map to be played only in these gametypes mapname n/3/4/ // this line will allow the map to be played in all the gametypes, except these mapname n // this line will make the map not available at all mapname * // this line will allow the map to be played in all the gametypes mapname a // this line will allow the map to be played only in the gametypes allowed by the arenas.txt file for that map (the gametypes where you would find the map when starting a match from the GUI). If the map is not listed there at all... I don't know.
The callvote system should check this list when someone asks for a "callvote map x" or "callvote g_gametype y": if the map is flagged as not available with the gametype, the vote would not start, returning an explaining error to the user (and maybe to the server console). This would fix the callvote problem. But implementing this system would need some work for Sago... But there would be a problem with the map rotation script: if the players switch to a gametype that is supported in the current map, but is not supported in the next map, what should happen? Maybe, in this case, the engine should automatically switch to the 2nd next map, the 3rd, etc (continuing to execute the additional commands -like changing the fraglimit- included in each line of the rotation script, even if that map is skipped; remember that a line of the rotation script may also change the gametype, fixing the situation or not), until it finds a compatible map; if no compatible map is in the rotation script, maybe it should continue to use the current map until the players will change the gametype again, selecting one compatible with at least one map in the rotation script. Maybe also the "map" and "g_gametype" commands entered directly from the server (without the callvote) may check the list, and prevent from loading the map or asking for a confirm before continuing (in this case, something like typing another command, like map mapname /f or forcemap mapname and g_gametype x /f or forcegametype x?)... I suppose that devmap, spmap and devspmap commands may simply ignore the list.
|
|
« Last Edit: November 01, 2010, 05:45:37 PM by Gig »
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
Cacatoes
Banned for leasing own account
Posts a lot
Cakes 73
Posts: 1427
also banned for baiting another to violate rules
|
|
« Reply #30 on: November 01, 2010, 04:04:37 PM » |
|
What if the server changes back g_gametype to 0 if it detects this problem, that would allow players to call for another vote, which they would do if their intent really was to play a CTF map. I noticed oa_bases3cl has this problem too. Edit: I misread but that was almost the same suggestion Gig did.
|
|
« Last Edit: November 01, 2010, 04:31:04 PM by Cacatoes »
|
Logged
|
Todo: Walk the cat.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #31 on: November 01, 2010, 05:58:06 PM » |
|
Your solution seems different enough from mine (I suppose that with "detects this problem", you mean to ''automatically'' detect if a map has not valid spawn points available, a thing I didn't thought about).
Maybe it could be faster to implement, and it should workaround this specific problem without the need to do long customization to the server admin.
My solution seems longer to implement, and then will need a manual work from the server admin before being effective. But it would allow to workaround more kinds of problems (like maps that do not crash the server, but do not work with some gametypes), and in general it would give a powerful customizing tool in the hands of the server admins (giving them complete control over the allowed maps/gametypes list).
Who knows, maybe the better thing would be a combination of the two...
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #32 on: November 02, 2010, 09:14:36 AM » |
|
What if the server changes back g_gametype to 0 if it detects this problem
Gametype 0 might have the same problem.
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #33 on: November 02, 2010, 12:57:01 PM » |
|
Well, whato do you think about my idea? - Do you like it? - How much work/time would it take?
... and... what's the current mode to set the available maps? A config file? What's its name? How it works? When using old mods written for Q3A, they use that file, the "old" g_voteMaps, or nothing?
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #34 on: November 02, 2010, 01:21:10 PM » |
|
Well, whato do you think about my idea? ... and... what's the current mode to set the available maps? A config file? What's its name? How it works? When using old mods written for Q3A, they use that file, the "old" g_voteMaps, or nothing?
Currently there is votemaps.cfg and it can be changed with the g_votemapsfile-cvar. Original Quake 3 mods have no limits on voteing unless the mod provides them. Current OAX uses the files maps_dm.cfg, maps_cft.cfg, maps_dd.cfg, maps_elimination.cfg and so on for the autochange map feature. One could redirect the g_votemapsfile-cvar to one of these and force a map from that pool. There is currently a lack of UI to change the maps_GAMETYPE.cfg files and it is also annoying that it was recently brought to my attention that cfg-files in pk3-files cannot be logically overwritten.
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #35 on: November 02, 2010, 03:15:41 PM » |
|
I didn't know that the "autochange map" feature (currently in OAX) used additional files, I thought that it was reading the arenas.txt info. I was wrong.
Simply setting "g_votemapsfile" to one of those files would not fix the problem: it would allow the right maps for the current gametype, but what would happen when one will callvote another gametype? The map list would become wrong...
Maybe those files may work as the base table, implementing a way that the game would automatically control a different file depending on the actual/requested gametype (instead of checking the single file of my idea)... and the additional checks (those about the rotation script, etc) should be implemented anyway, I think.
PS: in the maps_dom.cfg file you could add the islanddm map, I tested and it works with that gametype (6 domination points).
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
Cacatoes
Banned for leasing own account
Posts a lot
Cakes 73
Posts: 1427
also banned for baiting another to violate rules
|
|
« Reply #36 on: November 03, 2010, 05:56:23 AM » |
|
What if the server changes back g_gametype to 0 if it detects this problem
Gametype 0 might have the same problem. Hmm, cycle through gametypes then ? I am not against handling this problem through the start-script and restart the server, reset the config, etc, but I have weird feelings about this and thought there should be a solution within the game. Of course one can build a map with no spawn point at all (who's the admin who would use it, really, means he wouldn't even have tried the map... though some admins leave the possibility for players to upload maps on the server with a web interface), or maybe there should be a safe mechanism to reset the server config. I don't know from a software engineering point of view how this problem can be dealt, but I thought some software should accept any input and digest them in a safe way. Now sorry if I harass you with this problem, I can live with it and if I have a miraculous solution which pops in my mind I'll tell you
|
|
|
Logged
|
Todo: Walk the cat.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #37 on: November 03, 2010, 11:18:23 AM » |
|
I am not against handling this problem through the start-script and restart the server, reset the config, etc, but I have weird feelings about this and thought there should be a solution within the game.
You must remember that the map authors also uses the game to test new maps and if the game makes a lot of assumptions it can mean that the map author misses important information that ruins the map in some other ways. Very fast restarts might disconnect clients anyway. I don't know how the game handles other situations like some variables approaching the upper limit, the binary somehow restarts itself in those situations.
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
smcv
Nub
Cakes 5
Posts: 23
ioquake3/OA/Q3 Debian maintainer
|
|
« Reply #38 on: November 05, 2010, 04:44:03 AM » |
|
I also have a question about the OpenArena Debian package: would it be useful to have some default configuration for servers, and /etc/init.d scripts ?
There's already a feature request for this, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503106 (we're in freeze for Debian 6.0 at the moment, so if I work on it before that's released, the resulting packages will go into experimental). If you have suggestions/prototypes/patches please email them to that bug; the Debian package for tremulous-server might be useful to base things on. Please feel free to report bugs in the Debian BTS, and open a bug with severity 'wishlist' if you want other Debian-specific features (I don't read this forum regularly, but I'm subscribed to openarena, openarena-server and openarena-data bugs).
|
|
|
Logged
|
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #39 on: November 05, 2010, 07:00:19 AM » |
|
Somebody knows if DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/InitScript]this script automatically restarts the server if the game crashes? Anyway, in this case (missing spawn points) the server goes down since it cannot load a map, but I suppose the process would still be there, and an external script would not be able to manage the situation...
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
Falkland
Member
Cakes 6
Posts: 590
|
|
« Reply #40 on: November 05, 2010, 10:02:30 AM » |
|
No , by what I see ... but in a recent commit , ioquake3 has added running pid support ( a text file with process id stored in /var/run ) so the script , or another one managed by cron daemon , could check pid file presence and then restarting the server if it's not there anymore ( eg after a server crash )
|
|
|
Logged
|
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #41 on: November 05, 2010, 10:15:04 AM » |
|
It does. It uses daemon ( http://www.libslack.org/daemon/) with the --respawn parameter. The program also keeps the pid, so one can use "service oa_ded stop" like a normal daemon. It was a requirement I had when writing the script that it should automatically restart. However it has other limitations like I had to make a copy of the script and call it oa_ded2 and change NAME in the script to something else. Previously I used a normal script with a while loop but that was annoying then killing the process.
|
|
« Last Edit: November 05, 2010, 11:59:00 AM by sago007 »
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #42 on: November 05, 2010, 11:34:23 AM » |
|
Sago, maybe in your post you used "then" in the place of "when"?
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #43 on: November 05, 2010, 11:38:03 AM » |
|
Sago, maybe in your post you used "then" in the place of "when"?
I did
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #44 on: November 06, 2010, 08:49:16 PM » |
|
Hey, Sago, what do you think about enhancing votemaps.cfg, allowing the admin to optionally set the allowed callvotable gametypes for each map, like I suggested above? Maybe we could even make the "autoswitch map" feature point to the same file... Let me explain why I think that an enhanced votemaps.cfg file would be better than using the maps_GAMETYPE.cfg files. - Probably, a single file should be easier to manage than 11/12 separate files. To add a new map to the list, you would have to add a new line to a single file (even if there is the need of writing some additional values if one wants to hide the map in some gametypes, that is quite probable but not possible at the moment), instead of opening and adding a new line in many files. - One may prepare more variants of his votemaps file, and then select which to use (only one is active at once), using the already existent g_votemapsfile variable. Not so easy instead, if using the maps_gametype files (overwriting the files from the Operating System each time? Creating 12 more variables like maps_ctffile, maps_ffafile, etc?)... - The single file could use that "(a)utomatic" option that would read arenas.txt to determine the allowed gametypes for that specific map. Note: I hope that in the next release the associations in the arenas.txt files will be more accurated than in 0.8.5: I wrote a post here with a proposal about how to organize ourselves to test all the maps and then update arenas.txt (we should do it few weeks before the new version will come out).
|
|
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #45 on: November 07, 2010, 03:45:25 AM » |
|
Let me explain why I think that an enhanced votemaps.cfg file would be better than using the maps_GAMETYPE.cfg files. - Probably, a single file should be easier to manage than 11/12 separate files. To add a new map to the list, you would have to add a new line to a single file (even if there is the need of writing some additional values if one wants to hide the map in some gametypes, that is quite probable but not possible at the moment), instead of opening and adding a new line in many files. - One may prepare more variants of his votemaps file, and then select which to use (only one is active at once), using the already existent g_votemapsfile variable. Not so easy instead, if using the maps_gametype files (overwriting the files from the Operating System each time? Creating 12 more variables like maps_ctffile, maps_ffafile, etc?)... - The single file could use that "(a)utomatic" option that would read arenas.txt to determine the allowed gametypes for that specific map. Note: I hope that in the next release the associations in the arenas.txt files will be more accurated than in 0.8.5: I wrote a post here with a proposal about how to organize ourselves to test all the maps and then update arenas.txt (we should do it few weeks before the new version will come out). - I believe multiple files are easier to manage... they could be easily generated also by a script. A file with whitespace separated values... it does not get much simpler as this. - The gametype files are selected by g_votemappool, so they can be changed too. The syntax is consistent with other votelists but generally the idea of making a list in a single cvar is not that good. - Arenas.txt is annoying to read. The code in the UI layer that reads it are also a bit unfortunate and it is only in the UI layer, so if one wants to call it from the game-code the code needs to be copied... and it is not nice code to copy. The most important part is the code simplicity. It is not hard to make a complicated format but it makes it harder for the next programmer to guess what is going on. It also make it less dynamic. The mappool solution can be extended to new gametypes simply by changing the cvar (and implementing the gametype).
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
Gig
In the year 3000
Cakes 45
Posts: 4394
|
|
« Reply #46 on: November 08, 2010, 12:05:03 PM » |
|
- The gametype files are selected by g_votemappool, so they can be changed too. The syntax is consistent with other votelists but generally the idea of making a list in a single cvar is not that good.
G_votemappool? Could you please tell me more about it? I just checked in OAX B47, but this cvar seems to not exist... - Arenas.txt is annoying to read. The code in the UI layer that reads it are also a bit unfortunate and it is only in the UI layer, so if one wants to call it from the game-code the code needs to be copied... and it is not nice code to copy.
Moving that part of code to an external procedure/function, accessible from all parts of the game, would be too complicated, or would break compatibility with something? PS: Remember that I'm not even sure about the difference of arenas.txt and .arena files... is the first the "default" one, used for "stock" maps only, and the latter are specific files for each custom map? What about using the deathmatch spawn points if there are no team spawn points?
It does but the map in question specifically forbids using them in team games so they are removed before the game starts. This is why I say that there must always be one ffa spawnpoint in a map that does not have gametype restrictions on it. Just a question: did he used the classic "gametype" key (specifying only ffa, tourney, tdm and ctf) or there is a way to say "show this entity in all team-based modes only" and "show this entity in all non-team-based modes only"? If it does not exist, maybe it could be an idea to implement in a future version...
|
|
« Last Edit: November 08, 2010, 12:16:33 PM by Gig »
|
Logged
|
I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
|
|
|
sago007
Posts a lot
Cakes 62
Posts: 1664
Open Arena Developer
|
|
« Reply #47 on: November 08, 2010, 12:25:20 PM » |
|
It is called g_mappools. Default value is "0\maps_dm.cfg\1\maps_tourney.cfg\3\maps_tdm.cfg\4\maps_ctf.cfg\5\maps_oneflag.cfg\6\maps_obelisk.cfg\7\maps_harvester.cfg\8\maps_elimination.cfg\9\maps_ctf.cfg\10\maps_lms.cfg\11\maps_dd.cfg\12\maps_dom.cfg\" It is the value of g_gametype followed by the pool to use.
A option to generate the pools from the arenas-file would be 15-20 times more efficient. You will likely want to overwrite the default values. Plus it is limited to 15 gametypes... not a problem at the moment though.
I believe they are called notteam and notffa but it is described in the entity editing window in NetRadiant like all the other options.
|
|
|
Logged
|
There are nothing offending in my posts.
|
|
|
|