Facepunch / garrysmod-issues

Garry's Mod issue tracker
147 stars 56 forks source link

Games aren't mounted #16

Closed Jookia closed 11 years ago

Jookia commented 11 years ago

In Garry's Mod Beta on Linux, games like CS:S don't correctly mount their content (it goes under CSGO in game), and games like Portal or Half-Life 2 (which are in beta at the moment in Linux) and Team Fortress 2 aren't detected at all.

d10sfan commented 11 years ago

Also seeing this on Linux. I have the games installed, including CSS, HL2 and its episodes, DOD, etc and none show in the mount list as being mounted, and I don't have the assets available.

On Linux, the games are already on steampipe

stormkiller1456 commented 11 years ago

Im having a similar problem I've just installed HL2 EP1 and HL DEATHMATCH SOURCE and HL2 DEATHMATCH and I have all the hl2 episodes and hl2 and I check to install hl2 ep 1 it says I don't have css or age of chivalry and zombie panic source but I have them

stormkiller1456 commented 11 years ago

please someone fix it!

Jookia commented 11 years ago

I have a slight suspicion that if games are using appids then Linux may be using different ones than what Garry's Mod expects.

d10sfan commented 11 years ago

Anything new with this?

ghost commented 11 years ago

Same issue, with any Half life 2 content and Portal. Yet Portal 2 CSS and HL2DM work fine

nmirthes commented 11 years ago

In ../GarrysMod/garrysmod/cfg/mount.cfg

//
// Use this file to mount additional paths to the filesystem
// DO NOT add a slash to the end of the filename
//

"mountcfg"
{
    "cstrike"   "/home/<user>/.local/share/Steam/SteamApps/common/Counter-Strike Source/cstrike"
    "hl2"       "/home/<user>/.local/share/Steam/SteamApps/common/Half-Life 2/hl2"
    "hl2mp"     "/home/<user>/.local/share/Steam/SteamApps/common/Half-Life 2 Deathmatch/hl2mp"
    "episodic"  "/home/<user>/.local/share/Steam/SteamApps/common/Half-Life 2/episodic"
    "ep2"       "/home/<user>/.local/share/Steam/SteamApps/common/Half-Life 2/ep2"
    "lostcoast" "/home/<user>/.local/share/Steam/SteamApps/common/Half-Life 2/lostcoast"
    "portal"    "/home/<user>/.local/share/Steam/SteamApps/common/Portal/portal"
    "tf"        "/home/<user>/.local/share/Steam/SteamApps/common/Team Fortress 2/tf"
}

CS:S's vpk files get ignored, unfortunately.

Jookia commented 11 years ago

Mounting the files that way allow me to use the models, but Garry's Mod doesn't list the games or anything nice like that.

d10sfan commented 11 years ago

Adding that file made it so I could use hl2 and episodes (and their maps), but CSS didn't show up for me at all either

It looks like there are still some models missing, because some of the maps I downloaded are still showing purple

garrynewman commented 11 years ago

I added some debug code in dev to look into this further.

Jookia commented 11 years ago
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Half-Life 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Counter-Strike Source  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Day of Defeat Source  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Team Fortress 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Half-Life 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Half-Life 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Half-Life 2 Deathmatch  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Half-Life 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Portal  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Left 4 Dead 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/left 4 dead  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Portal 2  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Alien Swarm  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Nuclear Dawn  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Dino D-Day  IS A FOLDER
APP INSTALL DIR: /home/jookia/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive  IS A FOLDER
garrynewman commented 11 years ago

So what I'm seeing is my Bootil function to determine whether it's a folder or not isn't working on linux (those error messages are backwards). This is the function..

        BOOTIL_EXPORT bool IsFolder( const BString & strFileName )
        {
            struct stat fileStat;
            int err = stat( strFileName.c_str(), &fileStat );

            if ( err != 0 ) { return false; }

            return ( fileStat.st_mode & S_IFMT ) == S_IFDIR;
        }

The passed string is the string printed above - ie "/home/jookia/.local/share/Steam/steamapps/common/Team Fortress 2"

Any idea why that wouldn't be working on Linux?

Jookia commented 11 years ago
[jookia@jookia-arch ~]% stat "/home/jookia/.local/share/Steam/steamapps/common/Team Fortress 2"
stat: cannot stat ‘/home/jookia/.local/share/Steam/steamapps/common/Team Fortress 2’: No such file or directory

The first thing I notice about your code is that while technically something not existing means it's not a folder, it'll return false if the path doesn't exist at all. You should check if the path exists before checking if it's a folder.

The second thing is that it's not case insensitive. The problem in the path is the lowercase 'steamapps' actually, meaning IsFolder fails.

garrynewman commented 11 years ago

Oh man, that's a bit of a fuck up on Valve's part - that string is coming straight from Steam's API call. I will do a find a replace if it fails the first time.. that should get it.

garrynewman commented 11 years ago

Ok that should be on dev now

Jookia commented 11 years ago

The content folder in the main menu kind of doesn't work now (it freezes up the GUI), but I can now use other game's content!

garrynewman commented 11 years ago

I'm gonna call this fixed then - and will have to look into the menu freeze separately.

Thanks for the help!

nmirthes commented 11 years ago

@garrynewman

Something's still weird with CS:S and HL2 dm. When I was mucking with mount.cfg, the folder path failed and no vpks were found. Oddly, if I symlink the cs:s root directory elsewhere then the vpks are found.

Edit: "cstrike" "/home/user/.local/share/Steam/SteamApps/common/Some Random Stuff/cstrike"

fails to pick up vpks, but both

"cstrike" "/home/user/.local/share/Steam/SteamApps/common/Random Stuff/cstrike" "cstrike" "/home/user/.local/share/Steam/SteamApps/common/Random Stuff 3/cstrike"

find the vpks.

d10sfan commented 11 years ago

Half Life 2 mounts now, but the episodes, CSS, DOD, and TF2 dosent mount

Jookia commented 11 years ago

TF2 mounts for me? :s

d10sfan commented 11 years ago

Do you have the mount.cfg that was manually created still in your gmod folder? I removed it to test this way

Jookia commented 11 years ago

I didn't manually create it, I have the default version.

d10sfan commented 11 years ago

Ok, I used the manually created mount.cfg earlier and removed it

Verified game cache and am able to see Half Life 2 and TF2 now, but I don't see Half Life 2 episodes, HL2DM, DOD, Portal, or CSS

Also, the mount menu freezes the game for me too

origintopleft commented 11 years ago

Still unable to mount any games on a fresh install of Garry's Mod.

Jookia commented 11 years ago

On Linux, on the dev branch?

d10sfan commented 11 years ago

Seems like this should be re-opened

origintopleft commented 11 years ago

On Linux, on the dev branch?

Yes, and yes.

Seems like this should be re-opened

I'm thinking so.

Jookia commented 11 years ago

Do you have a custom mount.cfg?

d10sfan commented 11 years ago

I don't, using default settings

Jookia commented 11 years ago

Hmm. I'm finding out my CS stuff isn't mounting correctly either. It shows up but it doesn't let me use it.

garrynewman commented 11 years ago

Can you type path in the console and paste the results? It might be the vpk isn't mounting...

On Monday, June 10, 2013, Jookia wrote:

Hmm. I'm finding out my CS stuff isn't mounting correctly either. It shows up but it doesn't let me use it.

— Reply to this email directly or view it on GitHubhttps://github.com/Facepunch/garrysmod-issues/issues/16#issuecomment-19181564 .

Jookia commented 11 years ago
] path
---------------
Paths:
"/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/" "tf" 
"/home/jookia/.local/share/Steam/SteamApps/common/Counter-Strike Source/cstrike/" "cstrike" 
"/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/" "hl2" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "garrysmod" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/hl2/" "hl2" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/platform/" "PLATFORM" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/data/" "DATA" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/lua/" "LuaMenu" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/gamemodes/" "LuaMenu" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/bin/" "EXECUTABLE_PATH" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/" "BASE_PATH" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "LOGDIR" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/platform/config/" "CONFIG" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/bin/" "gamebin" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/" "EXECUTABLE_PATH" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "MOD" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "MOD_WRITE" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "DEFAULT_WRITE_PATH" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/" "GAME_WRITE" 
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/sourceengine/hl2_textures.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/sourceengine/hl2_sound_vo_english.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/sourceengine/hl2_sound_misc.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/sourceengine/hl2_misc.vpk
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/sourceengine/" "GAME" 
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/platform/platform_misc.vpk
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/platform/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/download/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/download/" "DOWNLOAD" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/hl2/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/" "GAME" 
"hl2" "hl2" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_misc.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_misc.vpk
"hl2" "hl2" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_pak.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_pak.vpk
"hl2" "hl2" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_sound_misc.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_sound_misc.vpk
"hl2" "hl2" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_sound_vo_english.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_sound_vo_english.vpk
"hl2" "hl2" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_textures.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Half-Life 2/hl2/hl2_textures.vpk
"/home/jookia/.local/share/Steam/SteamApps/common/Counter-Strike Source/cstrike/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/" "GAME" 
"tf" "tf" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_misc.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_misc.vpk
"tf" "tf" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_sound_misc.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_sound_misc.vpk
"tf" "tf" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_sound_vo_english.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_sound_vo_english.vpk
"tf" "tf" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_textures.vpk
"GAME" "GAME" (VPK)/home/jookia/.local/share/Steam/SteamApps/common/Team Fortress 2/tf/tf2_textures.vpk
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/addons/advduplicator/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/addons/wire/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/downloads/" "GAME" 
"/home/jookia/.local/share/Steam/SteamApps/amunuck/GarrysMod/garrysmod/fallbacks/" "GAME" 
garrynewman commented 11 years ago

Looks like the CS:S VPK files aren't getting mounted for some reason. It's probably worth opening a new ticket for it and I will look into it.