[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Вся ваша совместная библиотека в одном блокнотике

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Актуалочка перед Тайным Сантой, чтобы вам не дарили игру, 5 копий которой у вас уже есть в семейной библиотеке

А пополнить Steam без каких-либо конвертаций с комиссией всего 6% можно с промокодом Family.

Если вы не поняли как сделать что-то, то для вашего удобства записал видео, где повторил часть гайда

1. Заходим на сайте стима во вкладку "Управление семейными группами"

Если кто-то боится переходить по ссылке:
Об аккаунте (тыкаем на стрелочку рядом с ником и аватаркой) ➜ Управление семейными группами

*Важное примечание

Для удобства лучше сменить язык на английский, чтобы потом в списке не пришлось искать по региональному названию(дабы вместо "Ведьмак 3: Дикая Охота" был "The Witcher 3: Wild Hunt")

Язык меняем на этой же странице, тыкая "Настройки языка"


2.
Тыкаем на вкладку "библиотека"

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

3. Раскрываем нажатием "Показать все" все 3 списка, если это возможно.

Рекомендую раскрывать с низа, чтобы потом не пришлось листать вниз 
Рекомендую раскрывать с низа, чтобы потом не пришлось листать вниз 

4. Открываем "Код элемента" нажатием "Ctrl + Shift + I" или "F12"(работает не везде)
5. Тыкаем на вкладку "Консоль" (может быть на английском языке)

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

6. Вставляем любой текст в консоль, если выдало предупреждение как на картинке снизу, то пишем руками (БЕЗ СКОБОК) "разрешить вставку" или, если у вас стоит английский, "allow pasting" и жмем Enter

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

Как выглядит предупреждение
Как выглядит предупреждение

7. Теперь убеждаемся, что весь список игр раскрыт и вставляем в консоль следующий код:

ВО ВРЕМЯ ВЫПОЛНЕНИЯ СКРИПТА ВКЛАДКА ДОЛЖНА БЫТЬ АКТИВНОЙ! НЕ ПЕРЕКЛЮЧАЙТЕСЬ НА ДРУГУЮ!

(async () => { console.log("Начало выполнения скрипта..."); // Хранение уникальных названий игр const uniqueGames = new Set(); let previousCount = 0; let maxAttempts = 3; // Лимит попыток для проверки изменений let attempts = 0; // Функция для проверки видимости элемента const isElementInViewport = (el) => { const rect = el.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ); }; // Функция для прокрутки страницы const scrollToTop = () => { window.scrollTo(0, 0); return new Promise((resolve) => setTimeout(resolve, 500)); // Небольшая пауза для загрузки }; const scrollToBottom = () => { window.scrollBy(0, window.innerHeight); return new Promise((resolve) => setTimeout(resolve, 500)); // Небольшая пауза для загрузки [МЕНЯТЬ ЗНАЧЕНИЯ ЗДЕСЬ] [ЕСЛИ ГРУЗИТ МЕДЛЕННО - 1500 И БОЛЬШЕ(ВОЗМОЖНО 2000), ЕСЛИ БЫСТРО ЗАГРУЖАЕТСЯ - 200, можно хоть 1 выставить, смотрите чтобы скрипт успевал подхватить] }; // Прокрутка страницы наверх в начале выполнения скрипта await scrollToTop(); // Основной цикл прокрутки и сбора данных while (attempts < maxAttempts) { console.log(`Попытка #${attempts + 1}`); // Прокрутка страницы await scrollToBottom(); // Сбор всех панелей const panels = document.querySelectorAll('.Panel.Focusable img[alt]'); console.log(`Найдено панелей: ${panels.length}`); // Сохранение уникальных игр panels.forEach(img => { const alt = img.getAttribute('alt'); if (alt) uniqueGames.add(alt); }); // Вывод промежуточных результатов console.log(`Уникальных игр: ${uniqueGames.size}`); // Проверка, увеличилось ли количество уникальных игр if (uniqueGames.size === previousCount) { attempts++; } else { attempts = 0; // Сброс попыток, если список увеличился previousCount = uniqueGames.size; } } // Вывод результатов console.log("Сбор завершён!"); let output = [...uniqueGames].join('\n'); console.log(output); console.log(`Всего найдено уникальных игр: ${uniqueGames.size}`); })();

Индивидуальные настройки для каждого нужны, если:
- У вас слишком долго грузятся обложки игр и скрипт просто пролистывает их до загрузки
- Вы хотите чтобы скрипт работал быстрее

Менять значения в том месте, где я написал об этом в [ТАКИХ СКОБКАХ, КАПСОМ]

Для тех, у кого грузит слишком медленно:
Меняем значение с 1000 на 1500 и более, возможно вам потребуется аж 2000.

Для тех, кто хочет ускорить скрипт:

Меняем значение с 1000 хоть до 1, на 1 у меня скрипт работает исправно и все успевает подхватить.

8. После выполнения скрипта

У вас в консоли будут выведены все игры, которые собрал скрипт. Их можно выделить и скопировать куда вам угодно, главное смотрите, чтобы был показан весь список и не было кнопки "показать еще", в актом случае вы часть списка попросту не скопируете. В моем случае есть кнопка "Копировать" которая копирует полный список, у всех по-разному

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

9. Если вы хотите чтобы игры из категорий "Игры не в семейной библиотеке" и/или "Бесплатные игры" не попали в список, то вам нужно выполнить следующие шаги:

• 1. "F5" чтобы категории свернулись

• 2. Жмем на кнопку выбора элемента

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 3. Выделяем ненужные нам категории
Наводимся курсором как показано на картинке и кликаем

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 4. В элементах выделяется этот блок кода

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 5. Кликаем на него в элементах и удаляем

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)
[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Этот же алгоритм на видео

Больше этой категории(пока мы не обновим страницу) нет, и скрипт игры из нее в список добавлять не будет

9. Вы великолепны!

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Теперь у вас есть целый список игр, с которым вы вольны творить что угодно!

Чтобы найти что-то в списке есть комбинация клавиш "Ctrl + F", которая работает вообще везде. Открывается окошко для поиска, куда вы пишите название, которое ищите

ВИДЕОГАЙД

Куда захостить список, чтобы можно было поделиться им простой ссылкой

Я покажу на примере GitHub Gist, но можно использовать и пастебин и имгур и все что угодно

Для GitHub Gist нужен аккаунт на гитхабе

• 1. Переходим по ссылке и входим в аккаунт

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

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Если вы уже были авторизованы, то сразу попадете на эту страницу после перехода по ссылке сверху

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 2. Вставляем список в это окошко

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 3. Нажимаем "Create secret gist"

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 4. Нажимаем на маленькую кнопочку "Raw"

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

• 5. Вот и все, теперь просто копируем ссылку и делимся ей

[ГАЙД] Как собрать список игр семейной библиотеки(Steam Family Sharing)

Мой способ работает не идеально. Иногда игр находит меньше, чем нужно, чинится перезагрузкой страницы. Если и это не помогло, то попробуйте в другом браузере.

У кого-то какая-то игра просто не будет браться в список при любых махинациях. Я не знаю почему и какая. У меня из 807 игр находит 806 найти какую из этого списка очень сложно и это индивидуальная проблема, у других находит 1 к 1, без пропусков. К примеру, у другого человека из 1301 найдено 1301.

Если вы столкнулись с какой-то проблемой, которую самостоятельно решить не получилось - пишите в комментарии, я попробую вам помочь.

Если же вы суперкрутой прогер на JS и знаете как улучшить скрипт, то я с радостью приму ваши предложения!

2424
1818
11
11
11
11
80 комментариев

Привет! Ты видел шо сейчас утро воскресенье?

5

Да, но завтра уже поздно постить(

5

Сколько хентай пазлов тебе вывалили пейберри?

5

хентай пазлов много не бывает

4

Выглядит сложно, но классно. Молодец!!
(Тебя что, купили платиягода?)

4

Запустил скрипт, все мои игры теперь у зефирки

4