map organization - Printable Version +- Xonotic Forums (https://forums.xonotic.org) +-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10) +--- Forum: Xonotic - Development (https://forums.xonotic.org/forumdisplay.php?fid=12) +--- Thread: map organization (/showthread.php?tid=5448) |
map organization - BuddyFriendGuy - 04-21-2015 I'm very impressed by the many fun maps out there. I like taking my time exploring them alone locally. After a while, the number of these maps grew so big that I'm having a hard time managing them. I added this feature to help the game creation menu, but I still have problem organizing the files themselves better. Currently, the maps downloaded from game servers are put in the .xonotic/data/dlcache folder, and then if I want to play these maps, I move them into the .xonotic/data folder. Problems
Ideas and Questions I want to explore these possibilities and would like to hear some thoughts first.
RE: map organization - -z- - 04-22-2015 (04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: Currently, the maps downloaded from game servers are put in the .xonotic/data/dlcache folder, and then if I want to play these maps, I move them into the .xonotic/data folder. packages* -- It's not just maps that are downloaded. models, sounds, patches, etc. (04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: darkplace seems to unpack all .xonotic/data/*.pk3 files in into one virtual file system. Some pk3 has contents that overwrite other pk3's (alphabetically later files overwrite earlier ones??). For example, I noticed my 200+ health boost sound effect is overwritten, and when I play the factory maps, I still hear those custom sound effects. Server admins *should* be using zzz_ prefix on packages that modify sounds, etc. These are not pk3s you'd want to move out of dlcache for the reason you said. (04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: I suspect when I go to a game server, I'll have to download those files again since they are not in dlcache/ anymore. I could, of course, create symbolic links for all the files, but that's hard to maintain, too. If they are in your ~/xonotic/data folder they will be loaded when you start the game, therefore not downloaded again. This could increase your initial load time of the game however. (04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: Is it possible to add a check box in the menu that says, "include maps in dlcache"? A quick code reading seems to suggest that such handling is only possible in the darkplace engine level, not the game code.dlcache exists for a reason and I would suspect it's dangerous to tell the game to load all these pk3s. You can cause some annoying maybe even breaking issues by doing this. (04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: Is it a bad practice to put those map files in sub-folders? Right now unpacking ~/.xonotic/data/*pk3 files yields to contents under the same folder ~/.xonotic/data/ , and that makes sense. However, since we already have an exception folder ~/.xonotic/data/dlcache , I wonder whether we can have another special folder ~/.xonotic/data/custom to store those *pk3 files that I don't want to leave in ~/.xonotic/data/dlcache to be overwritten when a server has a file with the same name. Technically you can do this by creating directories as siblings of the "data" folder (in ~/.xonotic/) and stacking the -game flag to load these directories. I can't say this is a "best practice" but it works. example: Say I have two "game" directories with maps in them: ~/.xonotic/ctf ~/.xonotic/dm ./all run -game ctf -game dm will load these maps in addition to anything loaded from the "data" game directory. I know when you do this with a server it's automatically seen as a modified server, so I imagine this is also considered a modified client. Hope this helps! RE: map organization - BuddyFriendGuy - 04-24-2015 Thanks a lot for the answer, -z-. (04-22-2015, 05:03 PM)-z- Wrote: Say I have two "game" directories with maps in them: This is super helpful (as usual)! I think I will do this. (04-22-2015, 05:03 PM)-z- Wrote: I know when you do this with a server it's automatically seen as a modified server, so I imagine this is also considered a modified client. What's the implication? Do some servers reject modified clients, to keep away, say, a client with all walls in the factory maps transparent (so the player can cheat)? (04-22-2015, 05:03 PM)-z- Wrote:(04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: I suspect when I go to a game server, I'll have to download those files again since they are not in dlcache/ anymore. I could, of course, create symbolic links for all the files, but that's hard to maintain, too. So how do we prevent collision? There are two levels: The pk3 filename itself: For example, server A has a file called test_map.pk3, server B also has a different file with the same name. What happens when I go to server A, then B? Does B's file overwrites A's file since they have the same name? Does the client do some check sum verification before downloading a new version of a file? The other level is the contents within the pk3. Say:
Am I right to assume that when I visit server B, my client won't touch test_map_A.pk3, thus no collision? And what happens when server C has both test_map_A.pk3 and test_map_B.pk3? Am I right to assume only the map file that's currently being played is unpacked? (04-22-2015, 05:03 PM)-z- Wrote:(04-21-2015, 10:16 PM)BuddyFriendGuy Wrote: Is it possible to add a check box in the menu that says, "include maps in dlcache"? A quick code reading seems to suggest that such handling is only possible in the darkplace engine level, not the game code.dlcache exists for a reason and I would suspect it's dangerous to tell the game to load all these pk3s. You can cause some annoying maybe even breaking issues by doing this. Practicing custom maps locally is a function frequently called for, so I was trying to find a way to make it possible at the game UI level, rather than asking gamers to move files. I agree with you -- unpacking all pk3s is a bad idea. I'm hoping to find a workaround. RE: map organization - Mario - 04-24-2015 The server culls players behind walls, so cheating this way is virtually impossible. |