PDA

View Full Version : players get kicked for invalid iwd files



Ryan
10th June 2014, 15:05
hey guys,

i'm new to this forum and i've been recommended to pose my question here by a mate who thinks that some of you will be able to help me with this problem.

i've got a server and i'm running zPAM205 on it, which was originally created by clanbase. now the problem is that everytime someone connects to my server and they have a mod file from any other server inside their main directory, they get kicked immediately after connecting to my server with the message "invalid iwd files".
now there is a method to prevent this from happening. on the server's ftp, there is a file called "start", i'm not sure which file type it is, i think start.sh so it's a Linux file. inside this file, there's a command that says
+fs_game awe
this forces the game to load the mod you want from a folder called awe, which you have to create on the server's ftp. normally, you put your mod in there and this then prevents your mod file from conflicting with those from other servers.

however, this does not work for my server. whenever someone connects to my server and they have any .iwd file other than the stock ones inside their main folder, they get kicked for invalid iwd files.

does anybody have a solution to this problem? i would be very grateful!

regards,

Ryan

Ni3ls
10th June 2014, 15:23
No that doesnt work. COD still reads the mods of the player that are inside "main". You must check your mod carefully if there arent any missing files or duplicated names

kung foo man
10th June 2014, 17:18
You must check your mod carefully if there arent any missing files or duplicated names

At least IzNoGod, Silent (J4L) and me wrote a tool for that, to automatically detect "implied" files for manymaps support. By generating an empty.iwd, with all possible files with 0 byte, the engine thinks "nothing is missing" and won't load any other crap from main-folder.

@ryan You might send the location to your fastdownload, so somebody can check it.

Ni3ls
10th June 2014, 18:17
At least IzNoGod, Silent (J4L) and me wrote a tool for that, to automatically detect "implied" files for manymaps support. By generating an empty.iwd, with all possible files with 0 byte, the engine thinks "nothing is missing" and won't load any other crap from main-folder.

@ryan You might send the location to your fastdownload, so somebody can check it.

Can you direct me to that tool? Sounds really usefull :)

kung foo man
10th June 2014, 19:46
Made finally a git repo out of it: https://github.com/kungfooman/manymaps

It's quite complex, a php script which is calling also zip, luajit and python, which are calling Windows tools with wine (lol).

ATM the project folder is hard coded, make a folder named "project_ns_maps_2" in the repo. Just drop all your .iwd's there and call the script. When everything is setup correctly, you gotta see something like:

714

When everything goes correct, it is generating a directory named /Library (in the project dir aka "project_ns_maps_2").

Well, some example says more than 1000 words:



.
./Library
./Library/empty
./Library/empty/maps
./Library/empty/maps/mp
./Library/empty/maps/mp/mp_activity.csv
./Library/empty/maps/mp/mp_activity.d3dbsp
./Library/empty/maps/mp/mp_atim_v1.csv
./Library/empty/maps/mp/mp_atim_v1.d3dbsp
./Library/empty/maps/mp/mp_colours.csv
./Library/empty/maps/mp/mp_colours.d3dbsp
./Library/empty/maps/mp/mp_combo_v1.csv
./Library/empty/maps/mp/mp_combo_v1.d3dbsp
./Library/empty/maps/mp/mp_dawe_blue_v1.csv
./Library/empty/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/empty/maps/mp/mp_epicfail.csv
./Library/empty/maps/mp/mp_epicfail.d3dbsp
./Library/empty/maps/mp/mp_extreme.csv
./Library/empty/maps/mp/mp_extreme.d3dbsp
./Library/empty/maps/mp/mp_first_v2.csv
./Library/empty/maps/mp/mp_first_v2.d3dbsp
./Library/empty/maps/mp/mp_highspeed.csv
./Library/empty/maps/mp/mp_highspeed.d3dbsp
./Library/empty/maps/mp/mp_its_all_blue_v2.csv
./Library/empty/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/empty/maps/mp/mp_karamel.csv
./Library/empty/maps/mp/mp_karamel.d3dbsp
./Library/empty/maps/mp/mp_mofo.csv
./Library/empty/maps/mp/mp_mofo.d3dbsp
./Library/empty/maps/mp/mp_noko_v2.csv
./Library/empty/maps/mp/mp_noko_v2.d3dbsp
./Library/empty/maps/mp/mp_pacman_world.csv
./Library/empty/maps/mp/mp_pacman_world.d3dbsp
./Library/empty/maps/mp/mp_playground.csv
./Library/empty/maps/mp/mp_playground.d3dbsp
./Library/empty/maps/mp/mp_rush.csv
./Library/empty/maps/mp/mp_rush.d3dbsp
./Library/empty/maps/mp/mp_super_v1.csv
./Library/empty/maps/mp/mp_super_v1.d3dbsp
./Library/empty/maps/mp/mp_yoshi_dawe_v2.csv
./Library/empty/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/empty/materials
./Library/empty/materials/loadscreen_mp_activity
./Library/empty/materials/loadscreen_mp_atim_v1
./Library/empty/materials/loadscreen_mp_colours
./Library/empty/materials/loadscreen_mp_combo_v1
./Library/empty/materials/loadscreen_mp_dawe_blue_v1
./Library/empty/materials/loadscreen_mp_epicfail
./Library/empty/materials/loadscreen_mp_extreme
./Library/empty/materials/loadscreen_mp_first_v2
./Library/empty/materials/loadscreen_mp_highspeed
./Library/empty/materials/loadscreen_mp_its_all_blue_v2
./Library/empty/materials/loadscreen_mp_karamel
./Library/empty/materials/loadscreen_mp_mofo
./Library/empty/materials/loadscreen_mp_noko_v2
./Library/empty/materials/loadscreen_mp_pacman_world
./Library/empty/materials/loadscreen_mp_playground
./Library/empty/materials/loadscreen_mp_rush
./Library/empty/materials/loadscreen_mp_super_v1
./Library/empty/materials/loadscreen_mp_yoshi_dawe_v2
./Library/empty/mp
./Library/empty/mp/mp_activity.arena
./Library/empty/mp/mp_atim_v1.arena
./Library/empty/mp/mp_colours.arena
./Library/empty/mp/mp_combo_v1.arena
./Library/empty/mp/mp_dawe_blue_v1.arena
./Library/empty/mp/mp_epicfail.arena
./Library/empty/mp/mp_extreme.arena
./Library/empty/mp/mp_first_v2.arena
./Library/empty/mp/mp_highspeed.arena
./Library/empty/mp/mp_its_all_blue_v2.arena
./Library/empty/mp/mp_karamel.arena
./Library/empty/mp/mp_mofo.arena
./Library/empty/mp/mp_noko_v2.arena
./Library/empty/mp/mp_pacman_world.arena
./Library/empty/mp/mp_playground.arena
./Library/empty/mp/mp_rush.arena
./Library/empty/mp/mp_super_v1.arena
./Library/empty/mp/mp_yoshi_dawe_v2.arena
./Library/empty.iwd
./Library/mp_activity
./Library/mp_activity/maps
./Library/mp_activity/maps/mp
./Library/mp_activity/maps/mp/mp_activity.csv
./Library/mp_activity/maps/mp/mp_activity.d3dbsp
./Library/mp_activity/materials
./Library/mp_activity/materials/loadscreen_mp_activity
./Library/mp_activity/mp
./Library/mp_activity/mp/mp_activity.arena
./Library/mp_activity.iwd
./Library/mp_atim_v1
./Library/mp_atim_v1/maps
./Library/mp_atim_v1/maps/mp
./Library/mp_atim_v1/maps/mp/mp_atim_v1.csv
./Library/mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./Library/mp_atim_v1/materials
./Library/mp_atim_v1/materials/loadscreen_mp_atim_v1
./Library/mp_atim_v1/mp
./Library/mp_atim_v1/mp/mp_atim_v1.arena
./Library/mp_atim_v1.iwd
./Library/mp_colours
./Library/mp_colours/maps
./Library/mp_colours/maps/mp
./Library/mp_colours/maps/mp/mp_colours.csv
./Library/mp_colours/maps/mp/mp_colours.d3dbsp
./Library/mp_colours/materials
./Library/mp_colours/materials/loadscreen_mp_colours
./Library/mp_colours/mp
./Library/mp_colours/mp/mp_colours.arena
./Library/mp_colours.iwd
./Library/mp_combo_v1
./Library/mp_combo_v1/maps
./Library/mp_combo_v1/maps/mp
./Library/mp_combo_v1/maps/mp/mp_combo_v1.csv
./Library/mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./Library/mp_combo_v1/materials
./Library/mp_combo_v1/materials/loadscreen_mp_combo_v1
./Library/mp_combo_v1/mp
./Library/mp_combo_v1/mp/mp_combo_v1.arena
./Library/mp_combo_v1.iwd
./Library/mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/maps
./Library/mp_dawe_blue_v1/maps/mp
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.csv
./Library/mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./Library/mp_dawe_blue_v1/materials
./Library/mp_dawe_blue_v1/materials/loadscreen_mp_dawe_blue_v1
./Library/mp_dawe_blue_v1/mp
./Library/mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./Library/mp_dawe_blue_v1.iwd
./Library/mp_epicfail
./Library/mp_epicfail/maps
./Library/mp_epicfail/maps/mp
./Library/mp_epicfail/maps/mp/mp_epicfail.csv
./Library/mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./Library/mp_epicfail/materials
./Library/mp_epicfail/materials/loadscreen_mp_epicfail
./Library/mp_epicfail/mp
./Library/mp_epicfail/mp/mp_epicfail.arena
./Library/mp_epicfail.iwd
./Library/mp_extreme
./Library/mp_extreme/maps
./Library/mp_extreme/maps/mp
./Library/mp_extreme/maps/mp/mp_extreme.csv
./Library/mp_extreme/maps/mp/mp_extreme.d3dbsp
./Library/mp_extreme/materials
./Library/mp_extreme/materials/loadscreen_mp_extreme
./Library/mp_extreme/mp
./Library/mp_extreme/mp/mp_extreme.arena
./Library/mp_extreme.iwd
./Library/mp_first_v2
./Library/mp_first_v2/maps
./Library/mp_first_v2/maps/mp
./Library/mp_first_v2/maps/mp/mp_first_v2.csv
./Library/mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./Library/mp_first_v2/materials
./Library/mp_first_v2/materials/loadscreen_mp_first_v2
./Library/mp_first_v2/mp
./Library/mp_first_v2/mp/mp_first_v2.arena
./Library/mp_first_v2.iwd
./Library/mp_highspeed
./Library/mp_highspeed/maps
./Library/mp_highspeed/maps/mp
./Library/mp_highspeed/maps/mp/mp_highspeed.csv
./Library/mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./Library/mp_highspeed/materials
./Library/mp_highspeed/materials/loadscreen_mp_highspeed
./Library/mp_highspeed/mp
./Library/mp_highspeed/mp/mp_highspeed.arena
./Library/mp_highspeed.iwd
./Library/mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/maps
./Library/mp_its_all_blue_v2/maps/mp
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.csv
./Library/mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./Library/mp_its_all_blue_v2/materials
./Library/mp_its_all_blue_v2/materials/loadscreen_mp_its_all_blue_v2
./Library/mp_its_all_blue_v2/mp
./Library/mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./Library/mp_its_all_blue_v2.iwd
./Library/mp_karamel
./Library/mp_karamel/maps
./Library/mp_karamel/maps/mp
./Library/mp_karamel/maps/mp/mp_karamel.csv
./Library/mp_karamel/maps/mp/mp_karamel.d3dbsp
./Library/mp_karamel/materials
./Library/mp_karamel/materials/loadscreen_mp_karamel
./Library/mp_karamel/mp
./Library/mp_karamel/mp/mp_karamel.arena
./Library/mp_karamel.iwd
./Library/mp_mofo
./Library/mp_mofo/maps
./Library/mp_mofo/maps/mp
./Library/mp_mofo/maps/mp/mp_mofo.csv
./Library/mp_mofo/maps/mp/mp_mofo.d3dbsp
./Library/mp_mofo/materials
./Library/mp_mofo/materials/loadscreen_mp_mofo
./Library/mp_mofo/mp
./Library/mp_mofo/mp/mp_mofo.arena
./Library/mp_mofo.iwd
./Library/mp_noko_v2
./Library/mp_noko_v2/maps
./Library/mp_noko_v2/maps/mp
./Library/mp_noko_v2/maps/mp/mp_noko_v2.csv
./Library/mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./Library/mp_noko_v2/materials
./Library/mp_noko_v2/materials/loadscreen_mp_noko_v2
./Library/mp_noko_v2/mp
./Library/mp_noko_v2/mp/mp_noko_v2.arena
./Library/mp_noko_v2.iwd
./Library/mp_pacman_world
./Library/mp_pacman_world/maps
./Library/mp_pacman_world/maps/mp
./Library/mp_pacman_world/maps/mp/mp_pacman_world.csv
./Library/mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./Library/mp_pacman_world/materials
./Library/mp_pacman_world/materials/loadscreen_mp_pacman_world
./Library/mp_pacman_world/mp
./Library/mp_pacman_world/mp/mp_pacman_world.arena
./Library/mp_pacman_world.iwd
./Library/mp_playground
./Library/mp_playground/maps
./Library/mp_playground/maps/mp
./Library/mp_playground/maps/mp/mp_playground.csv
./Library/mp_playground/maps/mp/mp_playground.d3dbsp
./Library/mp_playground/materials
./Library/mp_playground/materials/loadscreen_mp_playground
./Library/mp_playground/mp
./Library/mp_playground/mp/mp_playground.arena
./Library/mp_playground.iwd
./Library/mp_rush
./Library/mp_rush/maps
./Library/mp_rush/maps/mp
./Library/mp_rush/maps/mp/mp_rush.csv
./Library/mp_rush/maps/mp/mp_rush.d3dbsp
./Library/mp_rush/materials
./Library/mp_rush/materials/loadscreen_mp_rush
./Library/mp_rush/mp
./Library/mp_rush/mp/mp_rush.arena
./Library/mp_rush.iwd
./Library/mp_super_v1
./Library/mp_super_v1/maps
./Library/mp_super_v1/maps/mp
./Library/mp_super_v1/maps/mp/mp_super_v1.csv
./Library/mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./Library/mp_super_v1/materials
./Library/mp_super_v1/materials/loadscreen_mp_super_v1
./Library/mp_super_v1/mp
./Library/mp_super_v1/mp/mp_super_v1.arena
./Library/mp_super_v1.iwd
./Library/mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/maps
./Library/mp_yoshi_dawe_v2/maps/mp
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.csv
./Library/mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./Library/mp_yoshi_dawe_v2/materials
./Library/mp_yoshi_dawe_v2/materials/loadscreen_mp_yoshi_dawe_v2
./Library/mp_yoshi_dawe_v2/mp
./Library/mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./Library/mp_yoshi_dawe_v2.iwd
./missing
./missing/images
./missing/images/mp_activity.iwi
./missing/images/mp_atim_v1.iwi
./missing/images/mp_colours.iwi
./missing/images/mp_combo_v1.iwi
./missing/images/mp_dawe_blue_v1.iwi
./missing/images/mp_epicfail.iwi
./missing/images/mp_extreme.iwi
./missing/images/mp_first_v2.iwi
./missing/images/mp_highspeed.iwi
./missing/images/mp_its_all_blue_v2.iwi
./missing/images/mp_karamel.iwi
./missing/images/mp_mofo.iwi
./missing/images/mp_noko_v2.iwi
./missing/images/mp_pacman_world.iwi
./missing/images/mp_playground.iwi
./missing/images/mp_rush.iwi
./missing/images/mp_super_v1.iwi
./missing/images/mp_yoshi_dawe_v2.iwi
./missing/materials
./missing/materials/loadscreen_mp_activity
./missing/materials/loadscreen_mp_atim_v1
./missing/materials/loadscreen_mp_colours
./missing/materials/loadscreen_mp_combo_v1
./missing/materials/loadscreen_mp_dawe_blue_v1
./missing/materials/loadscreen_mp_epicfail
./missing/materials/loadscreen_mp_extreme
./missing/materials/loadscreen_mp_first_v2
./missing/materials/loadscreen_mp_highspeed
./missing/materials/loadscreen_mp_its_all_blue_v2
./missing/materials/loadscreen_mp_karamel
./missing/materials/loadscreen_mp_mofo
./missing/materials/loadscreen_mp_noko_v2
./missing/materials/loadscreen_mp_pacman_world
./missing/materials/loadscreen_mp_playground
./missing/materials/loadscreen_mp_rush
./missing/materials/loadscreen_mp_super_v1
./missing/materials/loadscreen_mp_yoshi_dawe_v2
./missing/mp
./mp_activity
./mp_activity/maps
./mp_activity/maps/mp
./mp_activity/maps/mp/mp_activity.d3dbsp
./mp_activity/maps/mp/mp_sure.csv
./mp_activity/maps/mp/mp_sure.gsc
./mp_activity/mp
./mp_activity/mp/mp_activity.arena
./mp_activity.iwd
./mp_atim_v1
./mp_atim_v1/maps
./mp_atim_v1/maps/mp
./mp_atim_v1/maps/mp/_dawe_hud.gsc
./mp_atim_v1/maps/mp/mp_atim_v1.d3dbsp
./mp_atim_v1/maps/mp/mp_atim_v1.gsc
./mp_atim_v1/mp
./mp_atim_v1/mp/mp_atim_v1.arena
./mp_atim_v1.iwd
./mp_colours
./mp_colours/images
./mp_colours/images/$identitynormalmap.iwi
./mp_colours/images/beed.iwi
./mp_colours/images/lel.iwi
./mp_colours/images/loadscreen_mp_colours.iwi
./mp_colours/images/pillow.iwi
./mp_colours/images/top.iwi
./mp_colours/maps
./mp_colours/maps/mp
./mp_colours/maps/mp/mp_colours.d3dbsp
./mp_colours/maps/mp/mp_colours.gsc
./mp_colours/maps/mp/teleport.gsc
./mp_colours/materials
./mp_colours/materials/beed
./mp_colours/materials/lel
./mp_colours/materials/loadscreen_mp_colours
./mp_colours/materials/pillow
./mp_colours/materials/top
./mp_colours/mp
./mp_colours/mp/mp_colours.arena
./mp_colours.iwd
./mp_combo_v1
./mp_combo_v1/maps
./mp_combo_v1/maps/mp
./mp_combo_v1/maps/mp/mp_combo_v1.d3dbsp
./mp_combo_v1/maps/mp/mp_combo_v1.gsc
./mp_combo_v1/mp
./mp_combo_v1/mp/mp_combo_v1.arena
./mp_combo_v1.iwd
./mp_dawe_blue_v1
./mp_dawe_blue_v1/maps
./mp_dawe_blue_v1/maps/mp
./mp_dawe_blue_v1/maps/mp/_dawe_hud.gsc
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.d3dbsp
./mp_dawe_blue_v1/maps/mp/mp_dawe_blue_v1.gsc
./mp_dawe_blue_v1/mp
./mp_dawe_blue_v1/mp/mp_dawe_blue_v1.arena
./mp_dawe_blue_v1.iwd
./mp_epicfail
./mp_epicfail/maps
./mp_epicfail/maps/mp
./mp_epicfail/maps/mp/mp_epicfail.d3dbsp
./mp_epicfail/maps/mp/mp_epicfail.gsc
./mp_epicfail/maps/mp/teleport.gsc
./mp_epicfail/mp
./mp_epicfail/mp/mp_epicfail.arena
./mp_epicfail/sound
./mp_epicfail/sound/bullseye.mp3
./mp_epicfail/sound/burnz.mp3
./mp_epicfail/sound/gch.wav
./mp_epicfail/soundaliases
./mp_epicfail/soundaliases/sound_bitch.csv
./mp_epicfail/soundaliases/sound_glitch.csv
./mp_epicfail/soundaliases/sound_switch.csv
./mp_epicfail.iwd
./mp_extreme
./mp_extreme/images
./mp_extreme/images/ash.iwi
./mp_extreme/images/nemesis-cobra.iwi
./mp_extreme/maps
./mp_extreme/maps/mp
./mp_extreme/maps/mp/elevator.gsc
./mp_extreme/maps/mp/mp_extreme.d3dbsp
./mp_extreme/maps/mp/mp_extreme.gsc
./mp_extreme/maps/mp/teleport.gsc
./mp_extreme/materials
./mp_extreme/materials/ash
./mp_extreme/materials/nemesis-cobra
./mp_extreme/mp
./mp_extreme/mp/mp_extreme.arena
./mp_extreme.iwd
./mp_first_v2
./mp_first_v2/maps
./mp_first_v2/maps/mp
./mp_first_v2/maps/mp/mp_first_v2.d3dbsp
./mp_first_v2/maps/mp/mp_first_v2.gsc
./mp_first_v2/mp
./mp_first_v2/mp/mp_first_v2.arena
./mp_first_v2.iwd
./mp_highspeed
./mp_highspeed/maps
./mp_highspeed/maps/mp
./mp_highspeed/maps/mp/mp_highspeed.d3dbsp
./mp_highspeed/maps/mp/mp_highspeed.gsc
./mp_highspeed/maps/mp/mp_highspeed_shop.gsc
./mp_highspeed/mp
./mp_highspeed/mp/mp_highspeed.arena
./mp_highspeed/sound
./mp_highspeed/sound/ambient
./mp_highspeed/sound/ambient/amb_yoshi_kong_v2_ext.mp3
./mp_highspeed/soundaliases
./mp_highspeed/soundaliases/mp_highspeed.csv
./mp_highspeed.iwd
./mp_its_all_blue_v2
./mp_its_all_blue_v2/images
./mp_its_all_blue_v2/images/ash.iwi
./mp_its_all_blue_v2/images/beed.iwi
./mp_its_all_blue_v2/images/obsidian.iwi
./mp_its_all_blue_v2/maps
./mp_its_all_blue_v2/maps/mp
./mp_its_all_blue_v2/maps/mp/elevator2.gsc
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.d3dbsp
./mp_its_all_blue_v2/maps/mp/mp_its_all_blue_v2.gsc
./mp_its_all_blue_v2/maps/mp/teleport.gsc
./mp_its_all_blue_v2/materials
./mp_its_all_blue_v2/materials/ash
./mp_its_all_blue_v2/materials/beed
./mp_its_all_blue_v2/materials/obsidian
./mp_its_all_blue_v2/mp
./mp_its_all_blue_v2/mp/mp_its_all_blue_v2.arena
./mp_its_all_blue_v2.iwd
./mp_karamel
./mp_karamel/maps
./mp_karamel/maps/mp
./mp_karamel/maps/mp/mp_karamel.d3dbsp
./mp_karamel/maps/mp/mp_karamel.gsc
./mp_karamel/mp
./mp_karamel/mp/mp_karamel.arena
./mp_karamel.iwd
./mp_mofo
./mp_mofo/images
./mp_mofo/images/nemesis-cobra.iwi
./mp_mofo/maps
./mp_mofo/maps/mp
./mp_mofo/maps/mp/mp_mofo.d3dbsp
./mp_mofo/maps/mp/mp_mofo.gsc
./mp_mofo/materials
./mp_mofo/materials/nemesis-cobra
./mp_mofo/mp
./mp_mofo/mp/mp_mofo.arena
./mp_mofo.iwd
./mp_noko_v2
./mp_noko_v2/images
./mp_noko_v2/images/arab_regular_helmet_hands_sp_col.iwi
./mp_noko_v2/images/arab_regular_lod_sp_col.iwi
./mp_noko_v2/images/arab_regular_sadiq_sp_col.iwi
./mp_noko_v2/images/sense.iwi
./mp_noko_v2/maps
./mp_noko_v2/maps/mp
./mp_noko_v2/maps/mp/mp_noko_v2.d3dbsp
./mp_noko_v2/maps/mp/mp_noko_v2.gsc
./mp_noko_v2/maps/mp/playerhud_v3.gsc
./mp_noko_v2/maps/mp/randomizer.gsc
./mp_noko_v2/materials
./mp_noko_v2/materials/arab_regular_helmet_hands_sp_col
./mp_noko_v2/materials/arab_regular_lod_sp_col
./mp_noko_v2/materials/arab_regular_sadiq_sp_col
./mp_noko_v2/materials/sense
./mp_noko_v2/mp
./mp_noko_v2/mp/mp_noko_v2.arena
./mp_noko_v2/xmodel
./mp_noko_v2/xmodel/sense_arab
./mp_noko_v2/xmodelparts
./mp_noko_v2/xmodelparts/sknhds_zombie_arab3
./mp_noko_v2/xmodelsurfs
./mp_noko_v2/xmodelsurfs/sknhds_zombie_arab3
./mp_noko_v2.iwd
./mp_pacman_world
./mp_pacman_world/maps
./mp_pacman_world/maps/mp
./mp_pacman_world/maps/mp/mp_packman_world.csv
./mp_pacman_world/maps/mp/mp_pacman_world.d3dbsp
./mp_pacman_world/maps/mp/mp_pacman_world.gsc
./mp_pacman_world/maps/mp/mp_secret.gsc
./mp_pacman_world/mp
./mp_pacman_world/mp/mp_pacman_world.arena
./mp_pacman_world.iwd
./mp_playground
./mp_playground/maps
./mp_playground/maps/mp
./mp_playground/maps/mp/mp_playground.d3dbsp
./mp_playground/maps/mp/mp_playground.gsc
./mp_playground/mp
./mp_playground/mp/mp_playground.arena
./mp_playground.iwd
./mp_rush
./mp_rush/maps
./mp_rush/maps/mp
./mp_rush/maps/mp/mp_rush.d3dbsp
./mp_rush/maps/mp/mp_rush.gsc
./mp_rush/maps/mp/mp_secret.gsc
./mp_rush/mp
./mp_rush/mp/mp_rush.arena
./mp_rush.iwd
./mp_super_v1
./mp_super_v1/maps
./mp_super_v1/maps/mp
./mp_super_v1/maps/mp/mp_super_v1.d3dbsp
./mp_super_v1/maps/mp/mp_super_v1.gsc
./mp_super_v1/mp
./mp_super_v1/mp/mp_super_v1.arena
./mp_super_v1.iwd
./mp_yoshi_dawe_v2
./mp_yoshi_dawe_v2/maps
./mp_yoshi_dawe_v2/maps/mp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.d3dbsp
./mp_yoshi_dawe_v2/maps/mp/mp_yoshi_dawe_v2.gsc
./mp_yoshi_dawe_v2/mp
./mp_yoshi_dawe_v2/mp/mp_yoshi_dawe_v2.arena
./mp_yoshi_dawe_v2.iwd
./tree.txt

190 directories, 329 files


In $project/missing I put all the files, which are implied but weren't actually in the .iwd-file. Then I search them in other .iwd's or make them myself (e.g. loadscreens) and the next run of manymaps.php will copy all the missed files into /Library (so the generated .iwd's from /Library are "ready to ship").

The nice thing about this is, that everything happens in the Browser, so it's easy to spot warnings etc. PHP is pretty easy also, so it should be possible to extend it for custom needs.

Don't give up when you don't understand it in some hours... :D

Ryan
12th June 2014, 11:48
strangely enough the solution was to change the name of the mod file. it was called zPAM205 and i changed it to z_srv_pampampam205 to make it as improbable as possible for players to have a mod file with exactly the same name inside their main directory. i thought i'd already tried renaming it, but obviously that's all it took to get rid of the problem.

still thanks for your answers guys, my impression is that this is a place full of competent people to ask as soon as problems occur. thanks again!

Ryan
12th June 2014, 14:22
lol i've just tried it again and still it doesnt work. players keep getting kicked for invalid iwd files.

as far as i know the command +fs_game <foldername> is to prevent other servers' mods from conflicting with yours because it creates a folder that is unique for your server. thus it cant conflict with other mods. on my server its +fs_game awe and it creates a folder called awe in every player's main folder. however, this doesnt seem to solve the problem cos when i put the zPAM205 into the awe folder and connect to the server, people still get kicked for invalid iwd files.

any ideas?

Ni3ls
12th June 2014, 15:16
As I told you before.. COD still reads all the mods inside your "main". So they player have a mod in "main" that conflicts with your mod. If every modder always used fs_game there wouldnt be errors like that. But there are some ppl who use main. So you need to make sure you have all the files inside your mod, no missing files and no duplicating stuff.

Tally
12th June 2014, 20:31
As I told you before.. COD still reads all the mods inside your "main". So they player have a mod in "main" that conflicts with your mod. If every modder always used fs_game there wouldnt be errors like that. But there are some ppl who use main. So you need to make sure you have all the files inside your mod, no missing files and no duplicating stuff.

If you have "pure" server switched on, it doesn't matter what's in the client's "main" folder, it will be ignored. This is the whole point of pure servers - to prevent client files being read. When pure server is enabled, the server only recognises stock server files. A client's mod files will be completely ignored.

Ryan may not have enabled the pure server dvar, in which case it IS reading client files. Turning pure off will make the server read client mod files. The solution to this scenario is to enable pure server. Make sure this dvar is set in your server's config file:


set sv_pure "1"

NB: pure is enabled on a server by default.

Or, if it isn't pure server being turned off, there is something else going on - maybe corrupt stock server IWD files, in which case it will give the error message "unpure client detected" because it thinks the client is corrupt, when in fact it is the server. Solution to this scenario is to reinstall the server.

IzNoGoD
13th June 2014, 01:11
If you have "pure" server switched on, it doesn't matter what's in the client's "main" folder, it will be ignored. This is the whole point of pure servers - to prevent client files being read. When pure server is enabled, the server only recognises stock server files. A client's mod files will be completely ignored.

Ryan may not have enabled the pure server dvar, in which case it IS reading client files. Turning pure off will make the server read client mod files. The solution to this scenario is to enable pure server. Make sure this dvar is set in your server's config file:


set sv_pure "1"

NB: pure is enabled on a server by default.

Or, if it isn't pure server being turned off, there is something else going on - maybe corrupt stock server IWD files, in which case it will give the error message "unpure client detected" because it thinks the client is corrupt, when in fact it is the server. Solution to this scenario is to reinstall the server.

Im curious how clients could get kicked with sv_pure 0 for impure client...

filthy_freak_
13th June 2014, 02:03
The problem is your mod. It is trying to access something that is missing or doesn't exist.

This causes the game to look in the main folder for what is missing. If the game can find the missing data from inside the main folder, and that data is from a mod, it will produce an impure error.

The solution is to do what kung foo man told you, unless you are experienced with modding. If you are, you can go through to mod and find the code causing the problem and remove it.

Ryan
13th June 2014, 14:11
i'm no longer using zPAM205. instead i've downloaded ePAM102 and it works. it's slightly different from zPAM205 but basically it does the same. if you open zPAM205, you can see 4 folders: main, soundaliases, ui_mp and weapons. however, ePAM102 only has main, ui_mp and weapons. i've tried deleting soundaliases and ui_mp from zPAM205 but to no avail. anyways, it seems to be working now with ePAM102. fingers crossed!