SRCDS Steam group


[Need help] looking for shell script for batch symlink creation...
#1
Question 
Hi everybody, I have been checking this forum regarding the issue, that when the SRCDS starts, it complains about:

----------------------------------
Failed to load $include VMT file...
----------------------------------


which is due to the case sensitivty nature of Linux.

I found a thread here at srcds.com, yet that thread ends with someone saying that it wouldn't cause any problem. However, from my experience, it does, especially with the custom maps, even the popular ones like "Castle" and "Warpath."

Actually, to fix it, we just need to create a symlink to the actual file. For example:

--------------------------------------
If srcds_run complains about finding a file "GLASS/GLASSWINDOW001A.vmt",

which the actual path and filename are "glass/glasswindow001a.vmt"
--------------------------------------

then, creating a symlink for the actual folder "glass" and the actual file "glasswindow001a.vmt" would fix the issue.

However, since every file under the "materials" folder has to have a symlink in order to eliminate this case sensitivty issue, it is just too much for doing so one by one...

I am stilling learning PHP at the moment, and I am not able to create or modify a script for doing that yet... Any guru here happens to have this issue, and have written a shell script for creating the symlink?


P.S.
I set up my Linux SRCDS mainly for testing purposes at home, but not using it as a main SRCDS server, since I am stilling learning to use Linux, and don't have the necessary skills to admin a Linux server yet. But still, it is good for me, or any new Linux users, to find more use of the Linux box, so it can help the learning. Big Grin (Otherwise people would just use the Linux box a bit, for surfing the web, or word processing, and eventually go back to Windows)

P.S.S.
There is a shell script that someone written for fixing the same case sensitivty issue, but it is for Synergy:

URL: http://synergymod.net/forums/index.php?showtopic=387&st=0&p=3798&#entry3798
____________________________________________
Reply
#2
Try this

Code:
#!/bin/sh
      # lowerit
      # convert all file names in the current directory to lower case
      # only operates on plain files--does not change the name of directories
      # will ask for verification before overwriting an existing file
      for x in `ls`
        do
        if [ ! -f $x ]; then
          continue
          fi
        lc=`echo $x  | tr '[A-Z]' '[a-z]'`
        if [ $lc != $x ]; then
          mv -i $x $lc
        fi
        done
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)