Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Steam Ciber Cafe+Менеджер "плавающих" лицензий
Runpad/GameClass Forums > RunpadPro/Runpad, (Shell/Rollback) > Пожелания, отзывы (Runpad Pro)
Art_zone
В Runpad Pro 2.10 добавлен новый, долгожданный функционал, "Менеджер "плавающих" лицензий для игр" - за это огромная благодарность разработчику
Нажмите для просмотра прикрепленного файла
Решил его применить на деле.
Если с играми, не со стима и самим клиентом стим всё понятно, указал путь к исполняему файлу и путь к файлу с лицензией и всё должно работать.
Но в стиме этих "Исполнительных файлов" для игр (по моему) нету , по крайней мере я не знаю где они.
Если создать ярлык на рабочий стол с помощью клиента стим на пример, Counter-Strike, он будет такого содержания "steam://rungameid/10", как его применить в ранпаде?

Добавляю выдержку из инструкции ранпада, что бы не искать.
Цитата
Менеджер "плавающих" лицензий для игр



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

Принцип работы
Для каждой игры, которая требует лицензирования, создается на сервере .ini-файл с лицензиями. Сколько таких игр, столько будет и файлов.
Далее в настройках ярлыка такой игры необходимо установить путь относительно СЕРВЕРА к соотв. ini-файлу в параметре "Плавающая лицензия". Путь должен быть доступен с сервера, т.к. именно сервер будет считывать файл. Если программа администратора также находится на сервере, то файл можно выбрать через окошко обзора файлов, а иначе - вписать путь вручную.
При запуске игры произойдет передача на сервер запроса, а сервер, в свою очередь, опросит все машины на предмет запуска в данный момент времени конкретной игры, и, если имеется свободная лицензия, то она будет возвращена на клиентскую машину ввиде переменной окружения %FLOATLIC%, после чего происходит запуск игры.
Использовать данную переменную окружения можно по-разному, т.к. все зависит от конкретной игры и как именно в этой игре организовано лицензирование. Например, для некоторых игр достаточно передать логин/пароль в командную строку, для других - записать лицензию в реестр или определенный файл. Таким образом, строка %FLOATLIC% может представлять разные значения.

Формат ini-файла
Для каждой такой игры должен быть создан на сервере свой отдельный файл.
Все данные находятся в одной секции [Main]:


;-----------------------
[Main]
Name=название_игры
Lic0=лицензия_1
Lic1=лицензия_2
Lic2=лицензия_3
....
LicN=лицензия_N+1
;-----------------------


Параметр Name определяет название игры. Он должен быть указан обязательно и для каждой игры быть своим уникальным.
LicN (где N от 0 до 999) определяет N-ую купленную вами лицензию для данной игры. Если у вас куплено 10 лицензий, то должно быть 10 строк от Lic0 до Lic9
Сама строка лицензии может представлять что угодно в зависимости от самой игры (общего подхода здесь нет).

Далее на вымышленных примерах можно рассмотреть возможные варианты использования строк лицензий.

Пример 1.
Лицензии для игры передаются ввиде параметров командной строки: -login XXX -password YYY

;-----------------------
[Main]
Name=Игра 1
Lic0=-login 7658675 -password 219356
Lic1=-login 2341799 -password 128702
;-----------------------

В аргументах командной строки ярлыка игры достаточно просто указать:
%FLOATLIC%

Пример 2.
Лицензия для игры должна храниться в файле lic.dat в папке игры. Купленные файлы хранятся на сервере в папке \\server\game2\lic

;-----------------------
[Main]
Name=Игра 2
Lic0=lic1.dat
Lic1=lic2.dat
;-----------------------

В скрипте до старта программы необходимо указать:
copy /Y \\server\game2\lic\%FLOATLIC% c:\game2\lic.dat

Пример 3.
Лицензия для игры должна храниться в реестре. А на сервере лежат подготовленные .reg-файлы

;-----------------------
[Main]
Name=Игра 3
Lic0=lic1.reg
Lic1=lic2.reg
;-----------------------

В скрипте до старта программы необходимо указать:
reg IMPORT \\server\game3\lic\%FLOATLIC%
(при этом необходимо не забыть убрать запрет на редактирование реестра в настройках "Безопасность: Система")

Пример 4.
Установку лицензии для игры делает ваш скрипт или программа, нужно ее запустить с командной строкой.

;-----------------------
[Main]
Name=Игра 4
Lic0=987693475
Lic1=127629782
;-----------------------

В скрипте до старта программы необходимо указать ваш скрипт/программу:
start /WAIT c:\myprog.exe %FLOATLIC%

Пример 5.
Необходимо просто ограничить одновременный запуск игры/программы не более чем в N-экземплярах в сети, а самих лицензий как таковых нет.

;-----------------------
[Main]
Name=Игра 5
Lic0=1
Lic1=1
...
LicN=1
;-----------------------

В этом случае нельзя будет запустить более N+1 копий игры в сети.

Также примеры могут быть и более сложными.
runpad.support
УРЛ в данном случае - это способ запуска игры.
Но данный менеджер лицензии не запускается для УРЛ-ссылок.
Сейчас это заблокировано.
Можно разблокировать, в принципе, если необходимость есть.
noob
C:\GAMES\Steam\Steam.exe -applaunch 10 -language russian -login vasya_pupkin 12345

вот же. подходит такой вариант?
Bamchu
тело steam.ini на 2 стим акка будет :

[Main]
Name=cs 1.6
Lic0= vasy 219356
Lic1= pety 128702

В ранпаде будет выглядеть ярлык таким образом:
John Doe
Я так понимаю, что такой способ прокатит только для клубных Стим лицензий.
noob
для любых стим аккаунтов пропакит
John Doe
Цитата(noob @ 1.12.2011 - 07:17) *
для любых стим аккаунтов пропакит

По крайней мере обычный аккаунт привязывается к машине. Если происходит попытка входа в аккаунт на другой машине, то необходимо подтверждение "перепривязки" через e-mail. Поправьте, если что не так.
noob
это только если включен "steam guard" или как его там
John Doe
Цитата(noob @ 1.12.2011 - 23:15) *
это только если включен "steam guard" или как его там


Спасибо, не знал.
John Doe
А вот ещё подскажите. Что делать с тем, что в папке "SteamApps" создаётся папка с именем аккаунта, в котором и находится контент игр?
John Doe
Я уточню. Как сделать, чтобы все игры были в папке "common"?
Art_zone
Цитата(John Doe @ 4.12.2011 - 22:06) *
Я уточню. Как сделать, чтобы все игры были в папке "common"?

Программа:
junction

Пример батника:
junction z:\games\steam\steamapps\ua0000000pc1 z:\games\steam\steamapps\save
John Doe
Цитата(Art_zone @ 10.12.2011 - 19:37) *
Цитата(John Doe @ 4.12.2011 - 22:06) *
Я уточню. Как сделать, чтобы все игры были в папке "common"?

Программа:
junction

Пример батника:
junction z:\games\steam\steamapps\ua0000000pc1 z:\games\steam\steamapps\save


А можно ссылку? Подозреваю, что вы не о том.
Art_zone
junction
Capone
помогите пожалуйста разобраться с WarCraft3, не могу понят как сделать, если через .reg то как и куда прописывать ключи?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2021 IPS, Inc.