Video Demo: Managing Game Libraries with unRAID User Shares


Recommended Posts

Does anybody have long-time experiences with Steam games on a SMB share? I'd be interested to hear from you, particularly the posters above that had it working but experienced failures after a while.

 

I'm trying to sort out how to best manage the Steam Library for my VM. Currently I have a 256GB KVM VM disk image on cache only and a 1TB KVM VM disk image on the array only.

I use the new steam "Move install folder..." feature to move games between the two drives.

 

This works o.k. but steam spins up the drive and parity disk whenever it launches. The best solution would be a 2TB 850 Pro as cache drive and to leave the steam VM disk on it all the time but that's rather expensive at the moment.

Or, software wise, block level caching of the KVM VM disk image that holds my steam games but that would be at odds with how UnRAID works.

 

I haven't had any issues with the smb setup dying over time like some others have, but I would assume that to be mostly due to Windows10 update doing stupid things. Though, how I got around my initial cache disk size limitations (I only had a 256GB to start) was to tell unRAID to use cache only for my Games share, then inside of MC, made a folder with the same name on one of my array drives. As far as Steam could tell, it was pointing to only one place. So games I needed or wanted to run fast would automatically be installed onto the cache drive share, and I would manually move the others to the array drive share. Steam couldn't tell the difference and would run them just fine. Since you said that Steam's feature works "o.k." maybe something like this would work better for you till you have the money to do it the way you were wanting to?

 

As of right now, I have 4 small SSDs Raided together to make 1 btrfs 1TB cache drive (fast but pretty inexpensive). My game library isn't huge, so I keep everything on that cache drive and the share on the array acts more as my game library backup than as extended storage. I don't know much about spinup and spindown since the server is only up and running when I'm actually using it, so I havent really looked into how those are effected. Maybe someone more knowledgable in such things will come along.

Link to comment

My mapped drive goes directly to normal hard drives in the array and I've had no issues. If I'm honest I even have my windows downloads, documents, desktop, and everything else stored on a mapped network drive to the array

 

No issues on my end at all. My drives never spin down however due to storing cctv on them so I don't have to wait for spin ups

Link to comment
  • 1 month later...
On 3/13/2017 at 6:15 PM, jrdnlc said:

Is this possible with Uplay? I have a games share mapped but Uplay won't let me select it. 

I've got my Uplay library shared by 3 gaming VMs. 

1. map network drive

2. make a directory symbolic link (command prompt: "mklink /D c:\games\slow S:")

3. my notes also say:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
and create a new DWORD entry with the name EnableLinkedConnections and value 1

 

 

My other game libraries:

 

Steam: 

Not much issues. Sometimes problems with game updates. They usually go away with time.

- Clients installed on VM "local" drives.

- Games shared as said above. (smb->map->symbolic link)

 

Origin:

Had lots of issues but now kind of works.

- Clients installed on network share. Have to be updated manually.

- Games shared as above.

The problem is that Origin didn't allow me to install games to the symbolic link or network drive. I chatted with the support several times but they coudn't give a solution ("shut up and install the games on your c: drive"). I found out that if I start origin.exe from the network location, I _can_ install and update games there too. Origin client updates don't work though...

 

So now I have one non gaming VM that runs and updates Origin on local drive and then robocopy the directory to network share for gaming VMs to run:

robocopy "c:\Program Files (x86)\Origin" "\\TOWER\arrayGames\Origin" /E /XO
pause

 

I'll have to read through if someone has a better solution for Origin as it's the only one of the three that isn't working automaticly.

Edited by tehappon
Link to comment
  • 5 months later...
On 3/17/2017 at 11:16 AM, tehappon said:

I'll have to read through if someone has a better solution for Origin as it's the only one of the three that isn't working automaticly.

 

Im using a VHD, that mounts automaticcly when i start origin. Origin is installed on c:\program files updates works etc... 

Then i can install games into the VHD that is mounted in windows, located on a dedicated share for it.

Link to comment
On 9/3/2017 at 5:11 AM, Thomas van Dalen said:

 

Im using a VHD, that mounts automaticcly when i start origin. Origin is installed on c:\program files updates works etc... 

Then i can install games into the VHD that is mounted in windows, located on a dedicated share for it.

 

This was my solution for Blizzard games. I made a VHD then used Disk Manager to mount the drive to \program files\blizzard\ folder. I only had D3 so it wasn't a bad performance hit.

Link to comment
  • 3 months later...

I also had the problem, that Origin dosen't want to download the games on a Network Share. After lots of trying i found the reson why. Origin has a service called "Origin Client Service" which is required to download a Game. This service is executed under the SYSTEM user account, which doesn't know of your Network Share mappings. The easiest way to solve this is to disable the service. Now Origin cannot start the service and runs the Executable as Administrator of your User. To allow the Programs, which run as administrator, to see the Network Share you have to follow these instructions: https://technet.microsoft.com/de-de/library/ee844140(v=ws.10).aspx. You culd also map the Network Share in  the SYSTEM user but this is generally not a good idea, because then the SYSTEM user could be atacked throu that share. Also running the service under your user has the drawback that origin would not work in multi-user environments. My solution has the drawback that Origin prompts you with an UAC for the first download after Origin started. 

 

Here the detailed steps to realize my solution: 

1. type services.msc in to the Search field and open Services

2. Search for "Origin Client Host" in the list and duble click it

3. set the Startup type to disabled

4. Click OK and close the Services window

5. type regedit in to the search field and open the entry regedit

6. Locate and then right-click the registry subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

7. Point to New, and then click DWORD Value.

8. Type EnableLinkedConnections, and then press ENTER.

9. Right-click EnableLinkedConnections, and then click Modify.

10. In the Value data box, type 1, and then click OK.

11. Exit Registry Editor, and then restart the computer.

12. Now Origin should be able to to download to the set installation-path even if it is a network share

  • Like 2
  • Upvote 1
Link to comment
  • 1 month later...
On 2/4/2017 at 1:06 AM, lionceau said:

Does anybody have long-time experiences with Steam games on a SMB share? I'd be interested to hear from you, particularly the posters above that had it working but experienced failures after a while.

I saw you had one response, but figured you would be down for more stories. This thread/video-post was one of the first things I did when I got unRAID. I have a user share pointed to a 10K-rpm HD on my array. Then I do this trick for games I want to run really well on my cache, basically same as described in video.  To me, I find performance acceptable on array, and very good on the cache. 

 

Some games, I've found on Steam do have issues running over SMB; two things I've found to help with 90% of these issues:

  1.  Add the registry DWORD for Windows users to share mapped connections. Saarg's quote here (just first place I found it).
  2.  Right-click on Steam shortcut --> "Properties" --> "Shortcut" click on "Advanced..." --> ENABLE: "Run as administrator"

Yes, I run Steam as an administrator. I've found issues with first runs/installs on Steam have problems because the installers want admin rights; so if you don't do #1 things like the DirectX SDK, or VC runtime installers, or in case of GTA5 Rockstar Social Club installer fails -- won't find the path to install. If you don't do #2, IDK, some of my games hate me -- STEEP is one of them (only works when I start Steam as admin in Windows10). STEEP is also UPlay, so I count this as, "[email protected]#$ it's UPlay."

 

On 2/6/2017 at 11:50 PM, luca2 said:

Also, I have a new install with the same setup as Jon, and realised steam data for a game is saved in my c:/users/.. (plugins, configs, ...). Has anyone experience how this affects the game?

 

I've seen this, and as far as I'm concerned it hasn't. The main bit is remembering that it's there, because I use VHD's for my vm's system drives, so if I plan on saying goodbye and want the data I need to remember to temporally put it somewhere before I nuke the VHD. But remembering about my saved games has been the same issue when I was on iron, so I shrug at this one. 

Edited by Jcloud
Link to comment
On 12/22/2017 at 4:09 AM, IIIMADDINII said:

I also had the problem, that Origin dosen't want to download the games on a Network Share. After lots of trying i found the reson why. Origin has a service called "Origin Client Service" which is required to download a Game. This service is executed under the SYSTEM user account, which doesn't know of your Network Share mappings. The easiest way to solve this is to disable the service. Now Origin cannot start the service and runs the Executable as Administrator of your User. To allow the Programs, which run as administrator, to see the Network Share you have to follow these instructions: https://technet.microsoft.com/de-de/library/ee844140(v=ws.10).aspx. You culd also map the Network Share in  the SYSTEM user but this is generally not a good idea, because then the SYSTEM user could be atacked throu that share. Also running the service under your user has the drawback that origin would not work in multi-user environments. My solution has the drawback that Origin prompts you with an UAC for the first download after Origin started. 

 

Here the detailed steps to realize my solution: 

1. type services.msc in to the Search field and open Services

2. Search for "Origin Client Host" in the list and duble click it

3. set the Startup type to disabled

4. Click OK and close the Services window

5. type regedit in to the search field and open the entry regedit

6. Locate and then right-click the registry subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

7. Point to New, and then click DWORD Value.

8. Type EnableLinkedConnections, and then press ENTER.

9. Right-click EnableLinkedConnections, and then click Modify.

10. In the Value data box, type 1, and then click OK.

11. Exit Registry Editor, and then restart the computer.

12. Now Origin should be able to to download to the set installation-path even if it is a network share

Tried it. doesnt work

Link to comment
  • 6 months later...
  • 1 year later...
On 8/27/2018 at 9:25 PM, jbonnett said:

It seems that Uplay no longer works, BattleEye gives me a error when starting Rainbow Six: Siege. 

 

Blocked loading of file with unsupported UNC network path.

Most games that uses BattleEye and EasyAntiCheat does not support loading files from UNC. Some games only blocked loading the exe, so you might try symlink the data files only. While it works(on some games), some games are unable to update.

 

So in conclusion, all Steam, Origin(need some manual registry settings), Uplay doesnt have problem except for games that uses BattleEye, EasyAntiCheat. For Blizzard games, I dont know any other way except using VHD.

 

As for loading times, it is slower than installing on local(should be expected), but its manageable ands its a tradeoff im willing to take. Dont forget to use 1Gbps ethernet network.

Link to comment

Just want to add. Epic games can be stored in nas. to reinstall games that have been installed,

1. rename the game folder (for example Fortnite to Fortnite.bak)

2. install the game from client. wait for few minutes. make sure the client created a folder and have downloaded some files into it.

3. cancel the installation from the client. DO NOT EXIT EPIC GAMES CLIENT.

4. delete the unfinished install folder and rename the fully installed game back to the original name.

5. go back to epic games client. install the game again. this time, the client will find the files and do verifications.

6. once the games is installed(complete verifications), you can play the game.

 

I have shared world war z installation in unraid and shared between 4 pc. and it works well.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.