Debriefing > Bug Reports & Fixes
Fix for case sensitive files
DeaD_EyE:
The developers doesn't know the problem of case sensitve paths/files. Under Linux you will get following errors in your console:
--- Code: ---
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/BLACKMETAL.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/BLACKMETAL.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL7.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL7.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL6.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL7.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL7.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL4.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
Failed to load $include VMT file (materials/GOLDENEYE/COMPLEX/COMPLEXWALL1,8,9AND10.vmt)
--- End code ---
I've written a little script with a recursive function to create symlinks of the missing files to fix the messages. I don't know if the bug is affecting clients. I've tesed until yet only the dedicated server under Linux without connecting with a client.
The Shell-Script:
--- Code: ---
#!/bin/bash
usage() {
echo "Creates recursivly upper typed symlinks from the directory orangebox/gesource/materials/Goldeneye"
echo "$0 ServerRootDirectory"
exit
}
lower2upper() {
ln -s "$@" "`echo $@ | tr 'a-z' 'A-Z'`"
}
sym_upper() {
cd "$1"
ls | while read path; do
if (echo "$path" | grep -q [a-z]); then
lower2upper "$path"
fi
[[ -d "$path" ]] && sym_upper "$path"
done
cd ..
}
if [ $# -eq 0 -o ! -d "$1/orangebox/gesource/materials/Goldeneye" ]; then usage; fi
echo "Changing dir to $1/orangebox/gesource/materials"
cd $1/orangebox/gesource/materials
echo "Create a symlink of Goldeneye"
ln -s Goldeneye GOLDENEYE
echo "Starting recursive function for creating symlinks"
sym_upper "$1/orangebox/gesource/materials/Goldeneye"
echo "Changing file extensions in $1/orangebox/gesource/materials/Goldeneye from .VMT to .vmt"
find "$1/orangebox/gesource/materials/Goldeneye" -name "*.VMT" | while read vmtfile; do mv "$vmtfile" "`echo "$vmtfile" | sed 's/.VMT$/.vmt/'`" &> /dev/null; done
echo "Done, pray that everything works"
--- End code ---
When your server is in /home/someuser/anywhere, you have to call the script with the following argument:
--- Code: ---
./symlinks_UPPER.sh ~someuser/anywhere
--- End code ---
Output:
--- Code: ---
./symlinks_UPPER.sh ~/publicserver/gesorce/
Changing dir to /home/server/publicserver/gesorce//orangebox/gesource/materials
Create a symlink of Goldeneye
Starting recursive function for creating symlinks
Changing file extensions in /home/server/publicserver/gesorce//orangebox/gesource/materials/Goldeneye from .VMT to .vmt
Done, pray that everything works
--- End code ---
After the fix, the console doesn't show the pasted errors. I hope the developer will fix this soon. The problem is already known from the modification Synergy. There are all files required in lower case, but they are given with mixed upper and lower case. Creating symlinks for this is a simple fix to override this error. Someone gives a solution to mount the filesysem for the server as FAT32. But this requires root-privilegues and this is not the best fix to mount for everey server a filesystem with non case-sensitive. There are also missing the ACL for Linux.
PS: To run the server, you need libcurl3. Under Debian you can install the package with 'apt-get install libcurl3-gnutls'. apt-file rulez :-)
killermonkey:
Those errors mean nothing, they affect niether client nor server to my knowledge.
They are actually generated because Hammer, for whatever reason, sometimes capitalizes the resource names for materials.
DeaD_EyE:
Ah, ok. Well to know this. But it's a little bit annoying. Lot of erros which spam the console. I don't like this.
killermonkey:
Yah I dislike the console spam as well, but Valve is le suck so meh. Thanks for the script fix, I will include it with the server distro from now on (obviously links need to be made on a personal level and not in the zip file)
DeaD_EyE:
You can create a tar.gz or tar.bz2 (bzip2 give a better compression) file for Linux-Servers. Tar archives can contain symlinks. So the enduser don't need to execute the script.
--- Code: ---
cd publish_dir
#for bzip2 an installed bzip2 package is required, not all distributions does have this default installed
tar -cjf GoldenEye_Source_v4_1_Server.tar.bz2 gesource
#for gzip (works for all distributions)
#tar -czf GoldenEye_Source_v4_1_Server.tar.gz gesource
--- End code ---
I've seen, that the Mod contains some files with white spaces. Most of this files are only copys from some other files ('* copy.vmt').
Navigation
[0] Message Index
[#] Next page
Go to full version