LINUX.ORG.RU
решено ФорумGames

Как добавить диск в steam, если он не добавляется через настройки.

 


0

1

На статью не тянет, но с этой проблемой сталкиваются часто, поэтому решил вкинуть немного полезной инфы, чтоб она была в рускоязычном сегменте сети.

Форматируете диск желательно в линуксовую файловую систему. Не используйте ntfs или fat32, иначе рискуете огрести проблем. Организовываете его постоянное монтирование. Монтирование должно выполняться без опции noexec, потому что для работы требуются права на выполнение. Для примера мы будем считать, что диск смонтирован /media/disk0.

Далее в /media/disk0 создаёте новую директорию, в которой будет библиотека стима. Для примера мы будем считать, что директория называется steamlib. Далее назначем владельцем этой директории того пользователя, который будет пользоваться этой библиотекой.

Теперь выключаем стим. В домашнем каталоге ищем файл libraryfolders.vdf по пути .steam/steam/steamapps. Открываем его текстовым редактором.

Вот его основной синтаксис:

"libraryfolders"
{
	"0"
	{
		"path"		"/media/hdd0/steam/.local/share/Steam"
		"label"		""
	}
	"1"
	{
		"path"		"/media/ssd0/steam/library"
		"label"		""
	}
}

Открыв реальный файл, вы увидите, что он несколько отличается: в нём есть гораздо больше информации, чем я привёл, но это не должно вас сбить с толку, поскольку вся остальная информация добавляется стимом динамически.

Уже на данном этапе должно быть понятно, что нужно сделать - дописать в файл путь до новой директории с библиотекой стим по аналогии с тем, что там уже есть. Пишете двойные кавычки и число в них на единицу больше от того, что в предыдущих двойных кавычках. Далее блок из фигурных скобок с полями path и label. label оставляете пустым, а в path прописываете путь до нового диска. В нашем случае это будет примерно так:

"libraryfolders"
{
	"0"
	{
		"path"		"/media/hdd0/steam/.local/share/Steam"
		"label"		""
	}
	"1"
	{
		"path"		"/media/ssd0/steam/library"
		"label"		""
	}
	"2"
	{
		"path"		"/media/disk0/steamlib"
		"label"		""
	}
}

Сохраняете изменения, запускаете стим. Больше ничего делать не нужно - новая директория уже будет доступна в библиотеке стима.

Еще один нюанс есть:

При ручном добавлении автоматически не будет создана /media/ssd0/steam/library/steamapps, из-за чего при попытке поставить игру на такой диск стим выгрунется ошибкой записи (хотя перенос игры через стим сработает и создаст эту директорию).

★★★

Последнее исправление: dataman (всего исправлений: 4)

Я правильно понимаю, что это инструкция о том, как директорию с игра в Винде, расширить в Линукс. Чтоб игры по 2 раза не устанавливать?

Пс: пробовал по статье из арчвики, но чёт где то там запнулся и болт забил.

А так полезно.

Tesler
()
Ответ на: комментарий от Tesler

Нет, не правильно понял. Попробуй прочесть текст. В частности обрати внимание на:

Форматируете диск желательно в линуксовую файловую систему. Не используйте ntfs или fat32, иначе рискуете огрести проблем.

cobold ★★★★★
()

Для писателей того, что всё делается через интерфейс стима домашнее задание: почему я вообще знаю о том, какой конфиг и как надо править для добавления нового диска в библиотеку стим?

u5er ★★★
() автор топика
Ответ на: комментарий от u5er

почему я вообще знаю о том, какой конфиг и как надо править для добавления нового диска в библиотеку стим?

Я думаю тут нам сразу можно сдаваться, потому что лично я, как наверное и остальные, прекрасно добавил диск из гуя, и даже не подозревал, что для этого нужен гайд.

goingUp ★★★★★
()
Ответ на: комментарий от hargard

Какая глупость

Увы, моих куриных мозгов хватает только чтоб писать глупости :(

А за монтирование в /media тебе надо саморез в голову вкрутить.

Всего один? Чё так мало?!

А если серьёзно, то использовал это для примера. Ты вместо того, чтоб уныло вбрасывать, лушче привёл бы путь, куда следует монтировать диски на постоянку и привёл агрументы.

u5er ★★★
() автор топика
Ответ на: комментарий от goingUp

А вот я не смог добавить, прикинь? В итоге я в своё время потратил много времени и нашёл информацию где-то в закоулках англоязычного сегмента сети.

потому что лично я

В этом главная проблема УМВРщиков: у них всё работает и когда они видят какое-то костыльное на их взгляд решение несуществующей у них проблемы, то WTF - их единственная реакция. Увы и ах. Ах и увы. :(

u5er ★★★
() автор топика
Ответ на: комментарий от anonymous

Судя по темам (в интернете есть ещё аналогичное) Не могу добавить жесткий диск в Стим добавляется да не всегда. Там человек видео выложил, там совсем что-то неадекватное происходит, во время добавления.

LINUX-ORG-RU ★★★★★
()

И это надо бы, всё же, в статьи перенести. Статьи заметки приветствуются насколько я помню. Так как важен не количество текста, а полезность

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Tesler

Чтоб 2 раза не у устанавливать есть жалоба в спортлото.
Если без шуток, то я руками делаю типо такого

killall --wait steam

cd /media/ntfs0

# proton не работает на ntfs.
mkdir -p /SteamLibrary/steamapps/compatdata
ln -sn /SteamLibrary/steamapps/compatdata SteamLibrary/steamapps/compatdata

# Копирование жёсткими ссылками.
cp -rlP SteamLibrary SteamLibraryLinux

# Чтобы получить новый id библиотеки и различать библиотеки в Steam
rm SteamLibraryLinux/libraryfolder.vdf

# Удалить из libraryfolders.vdf SteamLibrary и добавить SteamLibraryLinux сверху и перед другими, или просто заменить удалив строки с label и id и все лишнее.

Но потом придётся в кроне запускать что-то вроде этого. Нужно в одно слово {}Steam*, иначе ссылки сгенерируются на весь диск, а rdfind права доступа и владельца не сохраняет, и может полная * придти, на все диски!

#!/bin/sh
find /media/*/ /mnt/*/ / -maxdepth 0 -type d -print0 | parallel -0 \
rdfind -makehardlinks true -checksum sha256 {}Steam*
chown -R games:games /media/*/Steam* /mnt/*/Steam* /Steam*

Удалять игры придётся тоже через *, а не интерфейс никакой.

bbgg
()
Последнее исправление: bbgg (всего исправлений: 3)
Ответ на: комментарий от mittorn

Может и проще, но я в своё время даже эту инфу нашёл с трудом. А add_library_folder в гугле вообще не бьётся, так что подробности в студию!

u5er ★★★
() автор топика
Ответ на: комментарий от u5er

В итоге я в своё время потратил много времени и нашёл информацию где-то в закоулках англоязычного сегмента сети.

Наверное, потому что у всех оно просто и работает и никто не лезет в конфиги. Надо выдавливать из себя линуксоида и перед правкой всё-таки проверить, а нет ли гуйного способа.

Aceler ★★★★★
()
Ответ на: комментарий от u5er

Согласно стандарата FHS, внешние диски стоит монтировать в /mnt.

А для данного гайда я бы вообще монтировал в /home//steam или что-то такое, иначе, если стим установлен из флатпака, либо установлен selinux, придётся добавлять всякие исключения.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Наверное, потому что у всех оно просто и работает и никто не лезет в конфиги.

У меня не заработало и я полез в конфиг. В процессе поиска я находил жалобы, что через гуй не добавляются диски. Получается, что не у меня одного траблы. Так что держи клоуна за «у всех» ;)

u5er ★★★
() автор топика
Ответ на: комментарий от Aceler

Я думал внешний диск это всякие юсб, сдкарты, флопи или блюрей. Хотя они монтировались вообще куда-то в /run/media/user/label кажется.

fucpsy
()
Последнее исправление: fucpsy (всего исправлений: 1)
Ответ на: комментарий от Aceler

Я думал про mnt в самом начале. Но всё же чаще его используют как временную точку монтирования, поэтому решил в медиа.

А для данного гайда я бы вообще монтировал в /home//steam или что-то такое, иначе, если стим установлен из флатпака, либо установлен selinux, придётся добавлять всякие исключения.

Тут тонкости возможны. А что если под стим выделен отдельный пользователь, а диск должен использоваться несколькими пользователями? Например, у меня так ссд монтируется. В нём несколько каталогов для каждого пользователя.

Про флатпак и селинукс я вообще не могу ничего написать, т.к. не имею опыта ними. Если у тебя есть что написать, то напиши отдельным постом и я потом в шапку дам ссылку на твой пост. Ну или модераторы это сделают.

u5er ★★★
() автор топика
Ответ на: комментарий от u5er

Но всё же чаще его используют как временную точку монтирования, поэтому решил в медиа.

Которая специально создавалась для временных точек монтирования :-)

Тут тонкости возможны.

Конечно.

Aceler ★★★★★
()
Ответ на: комментарий от u5er

У меня не заработало

Т.е. о существовании гуйного способа ты знал, но вместо починки полез в конфиг?

Окей, поправь (если можешь), пожалуйста, заголовок «как добавить диск в steam, если он не добавляется через настройки». И ещё нам нужна статья на тему, «какого хрена диск в steam не добавляется через настройки и что с этим сделать».

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Которая специально создавалась для временных точек монтирования :-)

Ага. Наверное, тут сыграл мой опыт гентушника. Там чрут в /mnt/gentoo делается, если не ошибаюсь. В lfs тоже /mnt вроде был. Наверное это сыграло свою роль при выборе мною пути для монтирования.

u5er ★★★
() автор топика
Ответ на: комментарий от Aceler

Т.е. о существовании гуйного способа ты знал, но вместо починки полез в конфиг?

Ты явно на приколе :) У меня через гуй не получилось и я полез искать в сети решение проблемы. Пробовал всё, что предлагалось. В итоге в какой-то момент я нашёл информацию, которая мне помогла и которой я решил поделиться. Такие дела.

Окей, поправь (если можешь), пожалуйста, заголовок «как добавить диск в steam, если он не добавляется через настройки».

Резонно. Сейчас организую.

И ещё нам нужна статья на тему, «какого хрена диск в steam не добавляется через настройки и что с этим сделать».

Так чего же мы ждём?!.jpg

u5er ★★★
() автор топика
Ответ на: комментарий от u5er

Пробовал всё, что предлагалось.

И даже подобная ругань в логах стима тебя не смущала?

[0000-00-00 00:00:00] sh: 1: /path/.steam_exec_test.sh: Permission denied
[0000-00-00 00:00:00] Failed system("/path/.steam_exec_test.sh") in execute test: 32256
anonymous
()
Ответ на: комментарий от anonymous

Такая ругань у меня была когда не было прав на исполнение. Я поэтому отдельно указал не использовать опцию noexec. Там суть в том, что стим проверяет возможность использования пути, создавая и запуская в нём тестовый скрипт.

u5er ★★★
() автор топика
Последнее исправление: u5er (всего исправлений: 1)
Ответ на: комментарий от Aceler

В веб-версиях может не работать диалог выбора каталога.
В старых vgui-версиях если отключить браузер - ломается именно окно настроек библиотеки т.к его переделали на вебню. Может, если отрыть версию стима примерно 2020го кода, там не будет ничего отваливаться, но последние 5 лет поломанная настройка в гуе - почти дефолт

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
5 октября 2025 г.

Сохраняете изменения, запускаете стим. Больше ничего делать не нужно - новая директория уже будет доступна в библиотеке стима.

Еще один нюанс есть. При ручном добавлении автоматически не будет создана /media/ssd0/steam/library/steamapps, из-за чего при попытке поставить игру на такой диск стим выгрунется ошибкой записи (хотя перенос игры через стим сработает и создаст эту директорию).

altwazar ★★★★★
()