Mappen delen voor steam bibliotheek.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • DVX73
  • Registratie: November 2012
  • Nu online
Mijn vraag
Ik wil de map waarin de steambibliotheek staat delen tussen meerdere accounts(op de computer).
Steam werkt echter niet tenzij je owner van de bestanden bent.
Ook Proton kan problemen geven...
Nu heb ik hiervoor een werkende oplossing, echter is vraag mij af of deze optimaal is.

Relevante software en hardware die ik gebruik
Steam
Kubuntu 22.04

Wat ik al gevonden of geprobeerd heb
Nieuwe map gemaakt voor de steamgroep users.
code:
1
2
3
sudo mkdir /opt/games/SteamLibrary
sudo chgrp -R steam /opt/games/SteamLibrary
sudo chmod g+s /opt/games/SteamLibrary


Script gemaakt dat iedere gebruiker uitvoert bij inloggen
code:
1
2
3
4
#!/bin/bash
bindfs -m <users> --multithreaded /opt/games/SteamLibrary/common $HOME/.steam/debian-installation/steamapps/common
bindfs -m <users> --multithreaded /opt/games/SteamLibrary/downloading $HOME/.steam/debian-installation/steamapps/downloading
bindfs -m <users> --multithreaded /opt/games/SteamLibrary/shadercache $HOME/.steam/debian-installation/steamapps/shadercache


Iedere gebruiker heeft een aparte locatie waar Steam Linux Runtime* en Proton Experimental geïnstalleerd staan.

Weet er iemand nog een betere/efficiëntere oplossing?

Beste antwoord (via DVX73 op 07-01-2024 22:35)


  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Je hebt het package acl nodig, hierin zijn de commando's 'getfacl' en 'setfacl' waarmee je ACLs maakt en bekijkt.

Wat betreft Proton zelf, ik heb mijn eigen games naar een aparte map maar o.a. Steam Runtime en Proton kan je in de default library laten. Waarom zou je die buiten de $HOME zetten? Zo groot zijn ze effectief niet, zeker vergeleken met games. Die kan je dus gewoon in de standaard locatie laten.

Commandline FTW | Tweakt met mate

Alle reacties


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Al eens gekeken naar acl?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DVX73
  • Registratie: November 2012
  • Nu online
Ik ben het wel tegengekomen, maar ik loop vast met dit in te richten.
  1. Wat moet ik hiervoor extra installeren?
  2. Hoe configureer ik dit?, mogelijk dat --help uitkomst geeft, maar dan moet ik eerst weten welk command ik moet draaien.
  3. Dit zal dan waarschijnlijk in combinatie met symlinks (ln -s) moeten, in verband met Proton.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Je hebt het package acl nodig, hierin zijn de commando's 'getfacl' en 'setfacl' waarmee je ACLs maakt en bekijkt.

Wat betreft Proton zelf, ik heb mijn eigen games naar een aparte map maar o.a. Steam Runtime en Proton kan je in de default library laten. Waarom zou je die buiten de $HOME zetten? Zo groot zijn ze effectief niet, zeker vergeleken met games. Die kan je dus gewoon in de standaard locatie laten.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DVX73
  • Registratie: November 2012
  • Nu online
Heb ACL werkend (getest met 1 Proton Game)

Hoe heb ik dit gedaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#maak hoofdmap aan
sudo mkdir /opt/games
sudo mkdir /opt/games/SteamLibrary
sudo chmod 770 /opt/games/SteamLibrary
#Maak usergroep steam:
sudo groupadd steam
#Vul usergroep steam
sudo usermod -aG steam <user>
#wijzig groep van hoofdmap
sudo chgrp -R steam /opt/games/SteamLibrary
#groep toekennen aan alle nieuwe bestanden
sudo chmod g+s /opt/games/SteamLibrary
sudo setfacl -d -m g:steam:rwx /opt/games/SteamLibrary
#maak submappen
sudo mkdir /opt/games/SteamLibrary/common
sudo mkdir /opt/games/SteamLibrary/downloading
sudo mkdir /opt/games/SteamLibrary/shadercache


En dan per gebruiker symlinks maken met:
code:
1
2
3
ln -s /opt/games/SteamLibrary2/common $HOME/.steam/debian-installation/steamapps/common
ln -s /opt/games/SteamLibrary2/downloading $HOME/.steam/debian-installation/steamapps/downloading
ln -s /opt/games/SteamLibrary2/shadercache $HOME/.steam/debian-installation/steamapps/shadercache

Acties:
  • 0 Henk 'm!

  • DVX73
  • Registratie: November 2012
  • Nu online
Dan resteren nog de appmanifest.acf bestanden en het Libraryfolder.vhf bestand.

De .acf bestanden kunnen met scripts gesynchroniseerd(rsync) worden en het vhf bestand kan ook met een symlink.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Waarom heb je niet in Steam onder Settings -> Storage een locatie toegevoegd en verwezen naar je nieuwe map in /opt?

Met wat je nu als eerste test hebt, doet de ACL eigenlijk niks omdat je de groep sticky hebt gemaakt. Een ACL is juist bedoelt om meerdere gebruikers en/of groepen toegang te geven tot een map of bestand zonder de 'other' bit te gebruiken waarmee je effectief de wereld toegang geeft.

Wanneer je trouwens een ACL maakt waarbij je ook execute rechten geeft omdat je met mappen te maken hebt, kan je beter 'rwX' gebruiken, ipv 'rwx'. Met de hoofdletter krijgen alleen mappen uitvoer rechten, zodat je de map in kan, zonder dat bestanden ook gelijk uitvoerbaar worden.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DVX73
  • Registratie: November 2012
  • Nu online
Hero of Time schreef op maandag 8 januari 2024 @ 18:46:
Waarom heb je niet in Steam onder Settings -> Storage een locatie toegevoegd en verwezen naar je nieuwe map in /opt?

Met wat je nu als eerste test hebt, doet de ACL eigenlijk niks omdat je de groep sticky hebt gemaakt. Een ACL is juist bedoelt om meerdere gebruikers en/of groepen toegang te geven tot een map of bestand zonder de 'other' bit te gebruiken waarmee je effectief de wereld toegang geeft.

Wanneer je trouwens een ACL maakt waarbij je ook execute rechten geeft omdat je met mappen te maken hebt, kan je beter 'rwX' gebruiken, ipv 'rwx'. Met de hoofdletter krijgen alleen mappen uitvoer rechten, zodat je de map in kan, zonder dat bestanden ook gelijk uitvoerbaar worden.
Zal het dadelijk proberen zonder sticky groep en met rwX ipv rwX.

Wat ik gelezen heb heeft iedere gebruiker zijn eigen compatdata map nodig bij games die Proton gebruiken.
Zal proberen of het ook werkt als deze map gedeeld is.

Samengevat zou het volgende dus moeten werken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
#maak nieuwe map
sudo mkdir /opt/games/SteamLibrary
#maak een groep voor steam gebruikers
sudo groupadd steam
#Vul usergroep steam
sudo usermod -aG steam <user>
#wijzig groep van map
sudo chgrp -R steam /opt/games/SteamLibrary
#zet rechten goed op map
sudo chmod 770 /opt/games/SteamLibrary
#configureer ACL (geef steamgroep rwX rechten)
sudo setfacl -d -m g:steam:rwX /opt/games/SteamLibrary

En dan in steam de map toevoegen als locatie.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Sticky groep ipv ACL is eerder de gedachte. Wanneer je met ACL gaat werken, zou ik de gebruikers specificeren die er gebruik van gaan maken.

De compat map is de Proton prefix. Die wil je idd wel per gebruiker apart houden. De mijne staat in m'n default storage map, waar al m'n games ook staan. Geen idee of ik die zelf heb verplaatst via de een of andere manier.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • DeerDitch
  • Registratie: Mei 2010
  • Laatst online: 16:52
Je weet dat Steam een Family Library Sharing optie heeft?
...allows selected accounts to use your game library on authorized computers while you're not playing...

f251a3362191f14872ff368789dd3c1a220782a1c582fbb31fec609763dd2cef


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

DeerDitch schreef op dinsdag 9 januari 2024 @ 16:49:
Je weet dat Steam een Family Library Sharing optie heeft?

[...]
Dat is de games zelf delen op een ander systeem. Niet de benodigde schijfruimte beperken door het maar 1x op je schijf te hebben, ipv 3x omdat je 3 gebruikers hebt. Leuk als je om en om eens Ark: Survival Evolved met uitbreidingen speelt, ben je bijna 500 GB kwijt.

Commandline FTW | Tweakt met mate

Pagina: 1