Pages: [1]
  Print  
Author Topic: One of the maps makes the game unable to load any other map.  (Read 14875 times)
RaverWild
Nub


Cakes 0
Posts: 5



« on: December 18, 2008, 07:49:41 AM »

hi there. i know it sounds strange but it's true.

my environment:
up to date 8.04 ubuntu with latest open arena:
Code:
$ uname -a
Linux arakis 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux

since it's stated that OA works with most Q3 maps, i used to download some. problem is with just one. this one:

http://lvlworld.com/#c=m8&i=15&d=28%20Nov%202008&m=All&p=review&q=q3dead1

note: this does not have anything with file permissions, tested it.

how to reproduce:
  • copy the pk3 file in baseoa/ and run the game
  • choose singleplayer or multiplayer

observe:
  • singleplayer - game shows just one level with out screenshot
  • multiplayer - games shows levels without screenshots
  • in both the game reports screenshots are not available. whatever levels game shows, none of them is selectable and playable
in fact i think the level data is just not loaded.

when you delete the map, everything goes back to normal.

my opinion: something in this map, confuses the load process and game is unable to load the level data. everything else in the game still normal - game loads, menus are available

dont know if this could help but i am attaching console outputs
(q3dead1.pk3 is the problematic map)

hope this helps to debug. if you need something else, write me.
RaverWild
« Last Edit: December 18, 2008, 08:16:55 AM by RaverWild » Logged
damocles
Bigger member


Cakes 0
Posts: 158


May cause drowsiness


« Reply #1 on: December 18, 2008, 11:09:42 AM »

Instead of an arena file, there is an arenas.txt (list of maps) inside q3dead1.pk3.

It's a copy of the list from the retail game, with q3dead1 added to the end.  This will break the arenas.txt that was prepared for OpenArena.
Logged
RaverWild
Nub


Cakes 0
Posts: 5



« Reply #2 on: December 18, 2008, 02:30:19 PM »

I see. so this makes it Q3 specific. But I think OA should intercept such situations then.
Logged
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #3 on: December 18, 2008, 03:34:06 PM »

There's a solution for it, if you don't mind to play the map online.
Open the .pk3, edit arenas.txt only leaving map specific info of q3dead1, save it, rename to, for example, q3dead1.arena (it MUST end with .arena) and replace arenas.txt in that PK3 with q3dead1.arena.
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #4 on: December 18, 2008, 03:37:20 PM »

so this makes it Q3 specific.
Not really it will break Q3 too in many cases. If any mod or a map that uses the same technique exists they will break each other.
Logged

There are nothing offending in my posts.
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #5 on: December 18, 2008, 04:16:14 PM »

So... conclusion is: when you're doing your map, NEVER put an arenas.txt with only your map info, instead, rename it to somenameormapname.arena. Tongue

Same for bots: just replace arenas.txt for bots.txt and somenameormapname.arena with somenameorbotname.bot. Tongue
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
RaverWild
Nub


Cakes 0
Posts: 5



« Reply #6 on: December 20, 2008, 06:49:08 AM »

I see. But guys, why someone should get to know to understand how the game work, in order to solve this? Isn't there a user-friendly solution?

I am programmer too and when problem arises, even small one, I don't ask users to get to know the application - I get issue in the issue tracker and I fix it.

Does it actually depends on OA or it is IOQ3 problem to be fixed? Whom's code is responsible for this load? If needed will address this to IOQ3 team (at least I've read OA uses IOQ3 to run on).

?
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #7 on: December 20, 2008, 07:08:06 AM »

Whom's code is responsible for this load?
Technically it is the map's fault. The program with fixing this is that while this map misuses the ability to replace the default map list some mods (total conversions) might actually depend on this possibility.

Solving this problem with an engine hack will break many mods and maybe patches too. Solving with a gamecode hack would mean that all mods running in OpenArena would still have the problem.

I know it is not a nice to have to open a maps pk3 but the bug is in there. The fact that it in some rare circumstances would work with Quake 3 does not mean that it does not have a bug.
Logged

There are nothing offending in my posts.
Neon_Knight
In the year 3000
***

Cakes 49
Posts: 3775


Trickster God.


« Reply #8 on: December 20, 2008, 08:11:02 AM »

Technically it is the map's fault. The program with fixing this is that while this map misuses the ability to replace the default map list some mods (total conversions) might actually depend on this possibility.
In this case, is the mapper's fault. Tongue
Logged


"Detailed" is nice, but if it gets in the way of clarity, it ceases being a nice addition and becomes a problem. - TVT
Want to contribute? Read this.
RaverWild
Nub


Cakes 0
Posts: 5



« Reply #9 on: December 20, 2008, 02:49:42 PM »

There's a solution for it, if you don't mind to play the map online.

what do you mean? what would happen if i play the map online with the below modifications?

Open the .pk3, edit arenas.txt only leaving map specific info of q3dead1, save it, rename to, for example, q3dead1.arena (it MUST end with .arena) and replace arenas.txt in that PK3 with q3dead1.arena.

okay. tomorrow im gonna write a fixing script for this. never before dealt with pk3 files, but as i just saw it with a hex editor, it begins with 'PK' signature and appears to be a casual ZIP. so solution is

  • extraxt arenas.txt
  • delete everithing inside, except all data for the current map (should investigate what's inside), then save file
  • put it back, replacing the original arenas.txt

anything else i am missing?

the only reason i am dealing with this, is because i rarely download a single map and "install" it. what had is bunch of maps, then downloaded another bunch of maps and when i added them to baseoa/ and ran the game, noticed the problem. first i though i probably replaced a game file by accident and was ready to reinstall the game when i accidentally decided to remove all custom maps and adding them again one by one to test if this is map problem and that's how i found it. for future, seems this test is the only debugging solution. at least when one discovers the problematic map, i'll write the script to fix it.

hm....something that could be of great help - please take this as a proposal - could at least OA print a warning to STDERR? at least this wont break anything in other mods.

how about something as:

Code:
WARNING: possible problem XXX on map blah.pk3

...where XXX to be a referal number, explained somewhere in the game wiki on a table of problems, what exactly the problem is.

what do you think? i find it more reasonable that way. and then if you experience the problem, you don't have to perform the above test to find which map it is - you could have it reported by the game.

?
RaverWild
Logged
fufinha
stop making alt accounts and self-termination
Member


Cakes 7
Posts: 584


retired


« Reply #10 on: December 20, 2008, 03:17:55 PM »

I think you've just been unlucky and found a map which has this issue, first time I've heard of this.

yea.. pk3 = zip

There are no system files or anything that should conflict which should force a re-install. The pak-*.pk3 in baseoa are the game files and a few other things like config files. You can put additional pk3's here and take them out without causing damage.

If your going to fix the map then you can maybe change the bsp name and levelshot file name and add -oa to it.. to make it unique. zip it back up then rename it to the same as the bsp file. Otherwise anyone else with the original map will download it again and end up with the dodgy one.

Alternatively you could fix the map and send it to Tig at lvlword and see if he will replace it. I guess it would be worth it since it would affect other custom q3 based games. Thats assuming the arena file will work ok on all games.
Logged
sago007
Posts a lot
*

Cakes 62
Posts: 1664


Open Arena Developer


WWW
« Reply #11 on: December 20, 2008, 04:20:55 PM »

appears to be a casual ZIP. so solution is

  • extraxt arenas.txt
  • delete everithing inside, except all data for the current map (should investigate what's inside), then save file
  • put it back, replacing the original arenas.txt

anything else i am missing?
It is an ordinary zip file just renamed so people do not modify them by mistake and so Autodownload wont overwrite any real files.

You should not put "arenas.txt" back in the zip file... as Armageddon_Man explained it should be renamed to "ARENANAME.arena" before putting it back. Otherwise it will still overwrite the original arenas.txt and cause all original maps to disappear (again this is engine design, all files can be overwritten to give modders as much power as possible).

You can look at some other maps most have it correctly.
Logged

There are nothing offending in my posts.
RaverWild
Nub


Cakes 0
Posts: 5



« Reply #12 on: December 21, 2008, 12:00:06 PM »

okay. so we just need to add to the pk3 an additional file called mapname.arena (botname.arena for bots) and containing only this map/bot info from arenas/bots.txt. right?

by the way is there a way to safely autodetect, that a map could cause this problem? you previously said that there could be a map which also uses the same technique, but will not cause problems. so - how to autodetect which map would cause problems and which would not?

if i get this info i could write a file loop for baseoa/ and fix everything at once, both maps and bots.

ideas?
Logged
fufinha
stop making alt accounts and self-termination
Member


Cakes 7
Posts: 584


retired


« Reply #13 on: December 21, 2008, 12:18:16 PM »

If the issue causes the game to break then..

I think you've just been unlucky

.. I have over 2000 maps and with the exception of a handful of maps I only get missing textures. Please also read my comment about renaming the map. If you decide to alter custom maps (which arent really a concern for the dev ppl of oa) then consider that these maps now differ from the original.

Servers with pure enabled do a checksum and a filename match between server and client. Players may not be pleased if they have to download maps again each time they visit your server.

You maybe able to edit the arena file (since that is a server file) without forcing the client to download, I dont know. You'd probably better  getting that confirmed first - but only a concern if your going to edit these maps.   

Logged
fufinha
stop making alt accounts and self-termination
Member


Cakes 7
Posts: 584


retired


« Reply #14 on: December 21, 2008, 01:02:39 PM »

oh.. and if you do write a script to check for problem arena files then please post it here. People can run it on their systems and post any map names that may have this issue.

One time I edited something and someone pointed out (dash9 I think) the download issue to me. An arena file is used by the server but I cant remember if pure checks the pk3 size or the file. The server files probably dont matter if the client has a different one, but if you were to remove a music file, then that would cause a forced download. Simple way to check is to make the edit to your map on the client and connect to a server with that map and see if it works without the server requesting a dl.

Even if having a different arenas file works i would still consider renaming it because noone knows if more stricter auth will be implemented in future.
Logged
Cacatoes
Banned for leasing own account
Posts a lot
*

Cakes 73
Posts: 1427


also banned for baiting another to violate rules


« Reply #15 on: December 21, 2008, 01:15:46 PM »

I think it goes the other way : if you edit some file inside a pk3, then you will be kicked from the server (if it is pure).
I think it calculates checksum, so the slightest change in a file is noticed.
Logged

Todo: Walk the cat.
fufinha
stop making alt accounts and self-termination
Member


Cakes 7
Posts: 584


retired


« Reply #16 on: December 21, 2008, 01:26:29 PM »

aah ok. I think your right but on q3 people change spawn points without forcing downloads. I guessed this is one of the map files so wasnt so sure. But on q3 thats one of the inbuilt maps so maybe thats why it's not an issue

Logged
Pages: [1]
  Print  
 
Jump to: