Steam

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:18, 22 января 2019.
Steam
Steam icon logo.svg.png
Screenshot Steam.jpg
Steam
Разработчики: Valve
Состояние разработки: Активное
Написана на: C++
Операционная система: Linux, OS X, Microsoft_Windows, macOS, PlayStation 3, Android, iOS,
Локализация: 26 языков, в т. ч. русский, английский.
Тип ПО: Цифровая дистрибуция / DRM / IM и Социальная сеть
Веб-сайт steampowered.com
Steam – сервис цифрового распространения компьютерных игр, программ и инструментов, принадлежащий компании Valve, известному разработчику компьютерных игр. Steam берет на себя задачи загрузки, активации и обновления публикуемых программных продуктов. Steam публикует не только свои продукты, но продукты многих известных разработчиков: Epic Games, THQ, 2K Games, Activision, Capcom, Codemasters, Eidos Interactive, 1С, GSC Game World, id Software, SEGA, Atari, Rockstar Games, Telltale Games, Ubisoft, Bethesda Softworks, Paradox Interactive. Кроме того, данный сервис работает и с более маленькими студиями, вплоть до инди-разработчиков.

Состояние на сегодняшний день

Сегодня магазин Steam насчитывает более 10000 игр для Windows, около 2500 для macOS и более 1500 Linux. По данным Screen Digest на октябрь 2013 года Steam занимает 75% рыночной площади среди цифровых распространтилей программных продуктов. По данным на 2015 год от Steam Spy пользователи купили напрямую в стим Steam и сторонних поставщиков Steam-ключей программ и игр на 3.5млрд. долл. США. Это составляет примерно 15% от общего объема продаж игр для PC за этот год. В 2015 году в Steam насчитывалось более 125 миллионов зарегестрированных аккаунтов и около 13 миллионов уникальных пользователей. Успех Steam привел к разработке линейке консолей Steam Machine, операционной системы SteamOS, системой работы с виртуальной реальностью SteamVR, что включает в себя как средства для стандартного использования шлемов виртуальной реальности, так и плагины для разработчиков в известные игровые движки, такие как Unity3D и UnrealEngine 4.

Главная страница сайта Steam в клиенте Steam для macOS представлена на рисунке 1.

Рисунок 1 – Главная страница сайта Steam в клиенте Steam для macOS

История

История Steam начинается в 1999г. и играми Team Fortress и Counter Strike. Перед внедрением Steam Valve Corporation испытывала проблемы с обновлением своих онлайн-игр, таких как Counter-Strike.

Предоставление патчей приведет к тому, что большая часть пользовательской базы отключится в течение нескольких дней. Valve решила создать платформу, которая автоматически обновляла игры и применяла более сильные антипиратские и античит меры. Благодаря опросам пользователей во время его объявления в 2002 году, Valve также признал, что по меньшей мере 75% их пользователей имеют доступ к высокоскоростным интернет-соединениям, которые будут расти только с запланированным расширением Интернета в последующие годы, и признали, что могут предоставлять игровой контент быстрее напрямую игрокам через Интернет, чем через розничные торговые каналы. Valve пытались сотрудничать к несколькими компаниями, включая Microsoft, Yahoo!, и RealNetworks, для создания клиента с этими функциями, но неудачно - проект был отклонен.

Развитие Steam началось в 2002 году, а рабочими названиями для платформы были «Grid» и «Gazelle». Это было впервые показано общественности 22 марта 2002 года на Конференции разработчиков игр, где она была представлена ​​исключительно как распределительная сеть. Чтобы продемонстрировать легкость интеграции Steam с игрой, Relic Entertainment создала специальную версию Impossible Creatures. Тем не менее, игра не была выпущена в Steam до 2015 года. Valve сотрудничала с несколькими компаниями, включая AT&T, Acer и GameSpy Industries. Первым модом, выпущенным в системе, был Day of Defeat.

Клиент Steam впервые был доступен для публичного бета-тестирования в январе 2003 года в течение бета-периода для Counter-Strike 1.6, для которого было обязательно установить и использовать. В то время основная функция Steam заключалась в улучшении системы патчей, распространенной в онлайновых компьютерных играх. Steam был дополнительным компонентом для всех других игр. 80 000-300 000 геймеров проверили систему, когда она была в бета-периоде. Система и веб-сайт задохнулись от напряжения тысяч пользователей одновременно, пытаясь воспроизвести последнюю версию Counter-Strike. В 2004 году сеть «World Opponent Network» была закрыта и заменена Steam. Сетевые части игр, в которых требовалась сеть World Opponent Network перестали работать, если они не были преобразованы для Steam.

Примерно в то же время Valve начала переговоры с несколькими издателями и независимыми разработчиками о выпуске своих продуктов, в том числе Rag Doll Kung Fu и Darwinia, в Steam. Канадский издатель Strategy First объявил в декабре 2005 года, что он будет сотрудничать с Valve для цифрового распространения текущих и будущих названий. В 2002 году управляющий директор Valve Гейб Ньюэлл сказал, что он предлагает мод-командам лицензию на игровой движок и распределение по Steam за 995 долларов США. Valve's Half-Life 2 была первой игрой, требующей установки клиента Steam для игры, даже для розничных копий. Это решение было вызвано озабоченностью по поводу правами на владение программным продуктом, требований к нему и проблем с перегруженными серверами, которые были продемонстрированы ранее в развертывании Counter-Strike. В течение этого времени пользователи столкнулись с некоторыми проблемами, пытаясь играть в игру.[Источник 1]

Особенности

В "Стим" не обязательно платить деньги за игры. Можно абсолютно бесплатно поиграть в самые популярные сетевые игры: Days of the Ancients 2 (Dota 2) и многие другие. Из платных игр Steam наиболее популярны игры: Counter Strike (CS 1.6), Counter Strike: Global Offensive (CS GO), Team Fortress 2, Civilization V. В них играют сотни тысяч игроков, и всегда можно найти себе подходящую группу для мультриплеера.

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

Главная функция «Стима» - система продаж - постепенно обросла множеством дополнительных возможностей. Теперь Steam - это своеобразная социальная сеть для игроков. Среди предоставляемых сервисов есть такие:

  • общение «Steam Community»,
  • аукционы между игроками «Торговая площадка Steam»,
  • возможность создавать свои тематические группы,
  • оценки игр от обычных пользователей, рекомендации от кураторов,
  • площадка для добавления в магазин собственных игр – «Steam Greenlight»,
  • раздел прохождений, гайдов и руководств – «Советы сообщества Steam»,
  • возможность публиковать свои скриншоты и видео напрямую из игр,
  • стримминг (прямая трансляция) игр.

Если посмотреть на Steam более внимательно, можно увидеть, что он постепенно вбирает в себя вообще всю игровую индустрию (структуру индустрии можно изучить в отдельной статье). Каждый слой индустрии, так или иначе, представлен в Стиме.

Магазины-партнеры

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

Партнерские магазины, по сути, являются просто оптовыми перекупщиками. Они не поддерживают скачивание и запуск игр, в них вы можете лишь купить те же самые Steam-ключи.

Казалось бы, зачем это лишнее звено в торговой цепочке - магазины ключей steam? Но выгода есть. Контракты магазинов со "Стим" подразумевают более низкую цену на игры. Руководство Steam осознанно теряет часть прибыли, но в результате получает увеличение объема продаж. Магазины, закупившие ключи по 70% стоимости, зарабатывают по 30% с каждой игры, или могут уже на своё усмотрение снижать цену игр, устраивать собственные системы скидок и бонусов.

Таким образом, игроки могут найти более дешевые копии игр Steam в других магазинах, дешевле, чем в самом "Стим". Вот такой парадокс. Но скидки непостоянны, и нужно чаще проверять все магазины, чтобы успеть купить желаемую игру по заниженной стоимости.[Источник 2]

Поскольку Steam позволяет загружать игры непосредственно с серверов Valve, он устраняет необходимость в издателе — промежуточном звене между разработчиком и потребителем, что позволяет Valve не только более оперативно реагировать на потребности игрового сообщества (например, путём выпуска бесплатных дополнений наподобие Half-Life 2: Deathmatch и Half-Life 2: Lost Coast), но и осуществлять полный контроль над распространением самих игр: даже коробочные версии Steam-игр требуют обязательной активации через Интернет. Steam, таким образом, выступает в роли технического средства защиты авторских прав (DRM).

DRM

DRM-функциональность службы Steam предназначалась для борьбы с пиратством и действительно помогла в этой борьбе, хотя и не до такой степени, как рассчитывалось. Преимущества (доступ к обновлениям и официальным игровым серверам), предоставляемые Steam, оказались достаточно весомыми аргументами в пользу лицензионных версий; более того, Steam показал себя с настолько лучшей стороны по сравнению с традиционно применяемыми средствами борьбы с пиратством (защитой от копирования), что средства защиты от копирования SecuROM, требовавшие присутствия диска с игрой в дисководе для игры в коробочную версию Half-Life 2, были в конце концов удалены из Steam.

Тем не менее именно активация вызвала наибольшее число нареканий у пользователей Steam. Будучи узким местом в системе распространения игр Valve, сервера активации Steam оказались перегружены в день выхода Half-Life 2, несмотря на все усилия и заверения Valve (в частности, объявленную Valve задолго до выхода игры предварительную загрузку не коробочной версии) и многие покупатели были вынуждены ждать многие часы, дожидаясь устойчивой связи с серверами и расшифровки файлов игры.

Обновления и автономный режим

При запуске клиент Steam проверяет наличие обновлений для самого себя и всех установленных на компьютере игр. Если Steam начал загрузку обновлений, игра становится недоступной до окончания их загрузки. Для сетевых игр обновления являются обязательными; что касается одиночных игр, то Steam предоставляет автономный режим, в котором можно играть в Steam-игры без подключения к Интернету и загрузки обязательных обновлений. Однако, чтобы Steam мог войти в автономный режим, требуется отключить компьютер от Интернета (в некоторых случаях — и от локальной сети, если доступ в Интернет производится через неё), что может доставить неудобства. Более того, в автономный режим нельзя войти, если имеются игры, обновление которых не дошло до конца.

Следует заметить, что, хотя на дисках со Steam-играми есть напоминание о необходимости наличия подключения к Интернету для установки игры, в нём ничего не говорится о том, что после установки требуется загрузить накопившиеся со времени выпуска дисков обновления, что послужило причиной для критики Steam со стороны тех игроков, чьё соединение с Интернетом либо слишком медленное, либо слишком дорогое (при оплате трафика).

Сетевые игры

В обязанности части Steam, ответственной за игры через Интернет, входит получение списка серверов, проверка версий клиента и сервера для обеспечения их совместимости, предоставление серверу сведений об учётной записи Steam и запрещение читерам, забаненным службой VAC (Valve Anti-Cheat), доступа ко всем серверам, защищённым VAC.[Источник 3]

Поддержимаемые ОС

Microsoft Windows

Steam первоначально выпущен исключительно для Microsoft Windows в 2003 году, но с тех пор был перенесен на другие платформы.

macOS

8 марта 2010 года, Valve объявила клиент для Mac OS X.

Steam для Mac OS X изначально планировалось выпустить в апреле 2010 года, но был отодвинут до 12 мая 2010 года, после бета-периода.

Linux

Компания Valve объявила летом 2012 года, что она разрабатывает клиент Steam для Linux и модифицирует исходный движок для работы на Linux в зависимости от дистрибутива Ubuntu.[Источник 4]

Steam Machine

Valve разрабатывает аппаратные и настраиваемые функции Steam с очевидным использованием на своем собственном оборудовании. Эти компьютеры были предварительно названы «Steam Box». Данный аппарат станет специализированной машиной, ориентированной на функциональность Steam и поддерживающей основные функции традиционной игровой консоли. Steam Machine работает на базе Linux.

Клиент

На рисунке 2 показана главная страница магазина Steam. Данная страница является при этом разделом Магазин в любом клиенте Steam. Раздел магазин позволяет просматривать, покупать игры.

Рисунок 2 – Главная страница магазина

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

Рисунок 3 – Библиотека пользователя

На рисунке 4 показан страница новостей Steam.

Рисунок 4 – Новости

На рисунке 5 показана страница торговой площадки.

Рисунок 5 – Торговая площадка

На рисунке 6 показана статистика посещения игроков.

Рисунок 6 – Статистика

На рисунке 7 показана старница Steam Workshop.

Рисунок 7 – Steam Workshop

На рисунке 8 показана страница сообщества Steam. В разделе сообщество пользователь может просматривать основные существующие группы, вступать в них, создавать собственные. Также, у сообщества есть кураторы.

Рисунок 8 – Сообщество Steam

На рисунке 9 показан страница кураторов Steam.

Рисунок 9 – Кураторы Steam

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

Уязвимости

Украинский ИБ-исследователь Артем Московский рассказал о баге, связанном с платформой Steamworks, предназначенной для разработчиков, которые работают со Steam. Уязвимость позволяла узнать все ключи активации (CD-key) для любой игры размещенной в Steam.

Исследователь обнаружил проблему в API по адресу partner.steamgames.com/partnercdkeys/assignkeys/. Данный API дает разработчикам и другим связанным сторонам доступ к CD-key игры, с помощью которых пользователи могут активировать продукты в Steam.

Данный API доступен и для простого аккаунта Steam и работает с рядом параметров, наиболее важными из которых являются appid (ID игры), keyid (идентификатор набора CD-key), а также keycount (отвечает за количество ключей, которые Steam должен вернуть в наборе CD-key).

В нормальных обстоятельствах попытка извлечения ключей активации для игры, которой пользователь не владеет, должна приводить лишь к ошибке, которую возвращает данный API. Но Московский обнаружил, что установив параметр keycount на значение «0», он может обойти ограничения и извлечь файл со всеми ключами активации для любой игры.

Исследователь рассказал изданию ZDNet, что во время изучения проблемы он мог сгенерировать и загрузить более 36 000 CD-key для игры Portal 2. Хуже того, вскоре он осознал, что потенциальный атакующий может попросту перебирать ID различных игр в Steam и последовательно скачивать все ключи активации, ведь подобрать параметры appid и keyid совсем нетрудно.

Еще в августе текущего года специалист сообщил об уязвимости инженерам Valve через официальную bug bounty программу на HackerOne. Баг был исправлен спустя считанные дни, исследователь получил вознаграждение в размере 20 000 долларов, но официально рассказать о своей находке ему разрешили лишь недавно.

Нужно отметить, что это одно из крупнейших вознаграждений, выплаченных Valve, но далеко не первый крупный баг, найденный Артемом. Летом текущего года исследователь обнаружил, что Steamworks уязвим перед SQL-инъекциями, заработав на этом 25 000 долларов. Кроме того, Московский признался журналистам, что до этого он находил уязвимости в майнинговом пуле ViaBTC (вознаграждение составило 18 000 долларов), а также в продукции Samsung (вознаграждение составило 13 300 долларов).[Источник 5]

Источники

  1. НОВОСТИ ОБНОВЛЕНИЙ — STEAM // Steam [2018]. Дата изменения: 12.09.2018. URL: https://steamcommunity.com/news/client (дата обращения: 09.10.2018).
  2. Магазин Steam // GamesIsArt [2009–2018]. Дата изменения: 01.01.2019. URL: http://gamesisart.ru/game_industry_steam.html (дата обращения: 18.01.2019).
  3. STEAM // makesever [2019]. Дата изменения: 14.10.2000. URL: http://makeserver.ru/stati/15348-chto-takoe-steam-opisanie.html (дата обращения: 18.01.2019).
  4. Valve hits a Linux landmark—1,500 games available on Steam // arstechnica [2018]. Дата изменения: 20.09.2015. URL: https://arstechnica.com/gaming/2015/09/valve-hits-a-linux-landmark-1500-games-available-on-steam/ (дата обращения: 09.10.2018).
  5. Баг в Steam позволял узнать ключи активации для любой игры // xakep [1999–2019]. Дата изменения: 09.11.2018. URL: https://xakep.ru/2018/11/09/steam-cd-key-bug/ (дата обращения: 18.01.2019).