Основа для инициализации и доступа к API Steamworks.
Все перечисленные здесь типы являются глобальными определениями и не связаны с каким-либо конкретным API.
Функции
Эти глобальные функции, которые не требуют настройки интерфейсов. Подробнее они описаны в
документации API Steamworks.
SteamAPI_Init
S_API bool S_CALLTYPE SteamAPI_Init();
Инициализирует API Steamworks.
Для получения дополнительной информации см. раздел «
Инициализация и завершение работы».
Возвращаемые значения: bool
true означает, что все необходимые интерфейсы получены и доступны.
false указывает на одно из следующих условий:
- Не запущен клиент Steam. Запуск клиента Steam обязателен для корректной работы интерфейсов Steamworks.
- Клиенту Steam не удалось определить App ID игры. Если вы запускаете приложение напрямую из исполняемого файла или отладчика, в папке игры должен находится файл
steam_appid.txt
, в котором должен присутствовать исключительно номер приложения. Steam попытается найти этот файл в текущей папке. Если вы запускаете исполняемый файл из другой папки, вам может потребоваться переместить steam_appid.txt
.
- Ваше приложение запущено не с тем же пользовательским контекстом в операционной системе, что и клиент Steam, к примеру, одно запущено под обычным пользователем, а второе — с правами администратора.
- Убедитесь, что активный аккаунт Steam владеет приложением. Игру должно быть видно в вашей библиотеке Steam.
- Приложение не настроено полностью, к примеру,
Release State: Unavailable
, или в нём отсутствуют комплекты по умолчанию.
Пример:int main()
{
if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Замените вашим AppID
{
return 1;
}
if ( !SteamAPI_Init() )
{
printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" );
return 1;
}
return 0;
}
SteamAPI_ReleaseCurrentThreadMemory
S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory();
Высвобождает внутреннюю память API Steamworks, связанную с потоком вызовов.
Большинство функций API Steamworks выделяют небольшой локальный по отношению к потоку объём памяти для хранения параметров. Вызов данной функции вручную его высвобождает. Она автоматически вызывается
SteamAPI_RunCallbacks, так что программе, которая получает доступ к API Steamworks из одного потока, не требуется явно вызывать данную функцию.
SteamAPI_RestartAppIfNecessary
S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID );
Название | Тип | Описание |
unOwnAppID | uint32 | AppID данного продукта. |
Проверяет, запущен ли исполняемый файл через Steam, и если нет, перезапускает его в Steam.
Для получения дополнительной информации см. раздел «
Инициализация и завершение работы».
Возвращает: bool
Если возвращается
true, будет запущен клиент Steam (если это необходимо), а затем через клиент и игра. Вы должны завершить свой процесс как можно скорее. В этот момент запускается
steam://run/<AppId>
, так что необязательно будет запущен тот исполняемый файл, который вызвал эту функцию, поскольку всегда будет перезапускаться версия, установленная в папке с библиотекой Steam.
Если же будет возвращено значение
false, игра была запущена клиентом, и никаких действий предпринимать не нужно. В то же время, если файл
steam_appid.txt
имеется в наличии, этот вызов всегда будет возвращать
false. Это позволяет разрабатывать и тестировать игру без необходимости запускать её из клиента. Не забудьте удалить
steam_appid.txt
перед отправкой игры в хранилище Steam!
К примеру:int main()
{
if ( SteamAPI_RestartAppIfNecessary( k_uAppIdInvalid ) ) // Замените вашим AppID
{
return 1;
}
if ( !SteamAPI_Init() )
{
printf( "Fatal Error - Steam must be running to play this game (SteamAPI_Init() failed).\n" );
return 1;
}
return 0;
}
SteamAPI_RunCallbacks
S_API void S_CALLTYPE SteamAPI_RunCallbacks();
Подготавливает обратные вызовы и результаты вызовов ко всем зарегистрированным слушателям.
Лучше всего вызывать с частотой 10 Гц, поскольку чем больше времени проходит между вызовами, тем больше возможная задержка между получением событий и результатами от API Steamworks. Большинство игр делают этот вызов один раз за одну отрисовку кадра. Во время вызова будут вызваны все функции, зарегистрированные как слушатели в контексте потока, где был отправлен вызов.
SteamAPI_RunCallbacks безопасно вызывать из нескольких потоков одновременно, но если вы это сделаете, код обратного вызова может быть выполнен в любом из потоков. Альтернатива заключается в том, чтобы вызывать SteamAPI_RunCallbacks только из главного потока, а из других потоков — регулярно вызывать
SteamAPI_ReleaseCurrentThreadMemory.
SteamAPI_SetMiniDumpComment
S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg );
Название | Тип | Описание |
pchMsg | const char * | Сообщение, прикрепляемое к минидампу. Нуль-терминированная строка. |
Создаёт произвольный комментарий для вставки в минидамп.
К примеру, вы можете включить в минидамп информацию об уровне, на котором находился игрок, сколько игроков было на сервере, объём свободной памяти и проч.
Это необходимо вызвать до
SteamAPI_WriteMiniDump.
Внимание: работает только на 32-битной Windows!
SteamAPI_Shutdown
S_API void S_CALLTYPE SteamAPI_Shutdown();
Закрывает API Steamworks, высвобождает память и указатели.
Если возможно, вы должны сделать этот вызов при завершении процесса.
Этот вызов не отключит
оверлей от приложения, поскольку нет гарантии, что ваш API выведения изображений перестал его использовать.
SteamAPI_WriteMiniDump
S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID );
Название | Тип | Описание |
uStructuredExceptionCode | uint32 | Структурированный код исключения. |
pvExceptionInfo | void* | Указатели исключений, содержащие информацию об исключениях. |
uBuildID | uint32 | ID сборки для отслеживания, какая версия приложения отправила данный минидамп. Это не тот же самый BuildID, который используется в Steam, он используется только для сообщений о сбоях. |
Записывает и отправляет минидампы с сообщениями о сбоях.
Дополнительная информация доступна в разделе «
Отчёты об ошибках».
Вы можете добавить необязательный комментарий, вызвав
SteamAPI_SetMiniDumpComment до вызова этой функции.
Внимание: поддерживается только 32-битная версия Windows.
К примеру:#ifdef _WIN32
#include <Windows.h>
void MiniDumpFunction( unsigned int nExceptionCode, EXCEPTION_POINTERS *pException )
{
// Вы можете создать произвольный комментарий для вставки в минидамп здесь,
// это может быть уровень, на котором находился игрок, сколько игроков было на сервере,
// сколько памяти было свободно и пр...
SteamAPI_SetMiniDumpComment( "Minidump comment: SteamworksExample.exe/n" );
// 0 здесь — ID сборки, мы его не устанавливаем
SteamAPI_WriteMiniDump( nExceptionCode, pException, 0 );
}
int RealMain( HINSTANCE hInstance, LPSTR lpCmdLine, int nCmdShow )
{
__debugbreak();
return 0;
}
int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// Всё, что здесь делается — вызов реальной основной функции после настройки _set_se_translator
// Это позволяет отлавливать исключения и передавать сообщения об ошибках в Steam.
//
// Обратите внимание, что для структурированной обработки исключений
// флаги компилятора должны быть настроены корректно.
if ( IsDebuggerPresent() )
{
// При отладке мы не хотим маскировать исключения (или отправлять их в Steam!).
// Если вы хотите пошагово пройти все строки обработчика исключений
// подключите отладчик после запуски игры вне отладчика.
return RealMain( lpCmdLine, hInstance, nCmdShow );
}
_set_se_translator( MiniDumpFunction );
try // это обеспечит работу SE translator
{
return RealMain( hInstance, lpCmdLine, nCmdShow );
}
catch( ... )
{
return -1;
}
}
#endif
Структуры
Далее приведён список структур, которые возвращают функции в steam_api, и с которыми они взаимодействуют.
CGameID
Уникальный глобальный идентификатор игр Steam.
CSteamID
Уникальный глобальный идентификатор аккаунтов, групп, лобби и чатов в Steam.
См.
EAccountType и
EUniverse.
Перечисления
Далее приведён список перечислений, которые определены для использования с steam_api.
EAccountType
Типы аккаунта Steam. Используется для внутренних целей в
CSteamID.
Название | Значение | Описание |
k_EAccountTypeInvalid | 0 | Используется для недействительных Steam ID. |
k_EAccountTypeIndividual | 1 | Обычный пользовательский аккаунт. |
k_EAccountTypeMultiseat | 2 | Многопользовательский аккаунт (к примеру, интернет-кафе). |
k_EAccountTypeGameServer | 3 | Аккаунт-постоянный игровой сервер (неанонимный). |
k_EAccountTypeAnonGameServer | 4 | Аккаунт анонимного игрового сервера. |
k_EAccountTypePending | 5 | На рассмотрении. |
k_EAccountTypeContentServer | 6 | Внутренний аккаунт контент-сервера Valve. |
k_EAccountTypeClan | 7 | Группа Steam (клан). |
k_EAccountTypeChat | 8 | Групповой чат и лобби Steam. |
k_EAccountTypeConsoleUser | 9 | Фиктивный SteamID для локального аккаунта PlayStation на PS3 или аккаунта Live на 360 и проч. |
k_EAccountTypeAnonUser | 10 | Анонимный пользовательский аккаунт. (Используется для создания аккаунта или сброса пароля) |
k_EAccountTypeMax | 11 | В этом поле не более 16 предметов. |
EAppOwnershipFlags
Флаги, представляющие информацию о владении приложением (используются только внутри Steam).
Название | Значение | Описание |
k_EAppOwnershipFlags_None | 0x0000 | Неизвестно. |
k_EAppOwnershipFlags_OwnsLicense | 0x0001 | Пользователь владеет приложением. |
k_EAppOwnershipFlags_FreeLicense | 0x0002 | Пользователь не заплатил за приложение. |
k_EAppOwnershipFlags_RegionRestricted | 0x0004 | Владеет приложением, но не имеет права играть в данном регионе. |
k_EAppOwnershipFlags_LowViolence | 0x0008 | Владеет версией с низким уровнем насилия. |
k_EAppOwnershipFlags_InvalidPlatform | 0x0010 | Приложение не поддерживается на текущей платформе. |
k_EAppOwnershipFlags_SharedLicense | 0x0020 | Общая лицензия получена на авторизованном устройстве с помощью функции Steam Family Sharing. |
k_EAppOwnershipFlags_FreeWeekend | 0x0040 | Владение по лицензии «Бесплатные выходные». |
k_EAppOwnershipFlags_RetailLicense | 0x0080 | Владеет розничной лицензией на игру (розничные ключи и проч.) (Устарело) |
k_EAppOwnershipFlags_LicenseLocked | 0x0100 | Общая лицензия заблокирована (используется) другим пользователем. |
k_EAppOwnershipFlags_LicensePending | 0x0200 | Владеет приложением, но транзакция по-прежнему рассматривается. Пользователь пока не может устанавливать игру и играть в неё. |
k_EAppOwnershipFlags_LicenseExpired | 0x0400 | Больше не владеет приложением, поскольку истёк срок действия лицензии. |
k_EAppOwnershipFlags_LicensePermanent | 0x0800 | Постоянная лицензия, не заимствованная, не гостевая, не «Бесплатные выходные» и проч. |
k_EAppOwnershipFlags_LicenseRecurring | 0x1000 | Периодическая подписка, в рамках которой с пользователя время от времени списываются средства. |
k_EAppOwnershipFlags_LicenseCanceled | 0x2000 | Лицензия помечена как отменённая, но может быть активной, если является периодической. |
k_EAppOwnershipFlags_AutoGrant | 0x4000 | Владение является результатом автоматической выдачи. |
k_EAppOwnershipFlags_PendingGift | 0x8000 | У пользователя есть неактивированный подарок. |
k_EAppOwnershipFlags_RentalNotActivated | 0x10000 | Прокат не активирован. |
k_EAppOwnershipFlags_Rental | 0x20000 | Выдано напрокат. |
k_EAppOwnershipFlags_SiteLicense | 0x40000 | Получено на площадке Steam. |
EAppReleaseState
Состояние выпуска приложения (используются только внутри Steam).
Название | Значение | Описание |
k_EAppReleaseState_Unknown | 0 | Неизвестно, либо невозможно получить информацию о приложении, либо информация о лицензии отсутствует. |
k_EAppReleaseState_Unavailable | 1 | Даже если пользователь владеет игрой, он её не видит. |
k_EAppReleaseState_Prerelease | 2 | Можно купить, игра будет видна в списке игр, но ничего больше. |
k_EAppReleaseState_PreloadOnly | 3 | Владельцы могут предзагрузить приложение, но не запустить его. |
k_EAppReleaseState_Released | 4 | Владельцы могут загрузить приложение и запустить его. |
EAppType
Тип приложения. Больше информации представлено в разделе «
Типы приложений» (используются только внутри Steam)
Название | Значение | Описание |
k_EAppType_Invalid | 0x000 | Тип приложения неизвестен или недействителен. |
k_EAppType_Game | 0x001 | Игра, тип по умолчанию. |
k_EAppType_Application | 0x002 | Программное обеспечение. |
k_EAppType_Tool | 0x004 | Наборы средств разработки, редакторы и выделенные серверы. |
k_EAppType_Demo | 0x008 | Демоверсия игры. |
k_EAppType_Media_DEPRECATED | 0x010 | Использовалось для трейлеров игр. Сейчас это просто видео в сети. |
k_EAppType_DLC | 0x020 | Дополнительный контент. |
k_EAppType_Guide | 0x040 | Руководства к играм, PDF-файлы и проч. |
k_EAppType_Driver | 0x080 | Средство обновления драйверов (ATI, Razor и проч.) |
k_EAppType_Config | 0x100 | Скрытое приложение, используемое для настройки функций Steam (рюкзаки, скидки и проч.) |
k_EAppType_Hardware | 0x200 | Устройство Steam (Steam Machine, Steam Controller, Steam Link и проч.) |
k_EAppType_Franchise | 0x400 | Коллекции нескольких приложений, к примеру, фильмов, сериалов или игр. |
k_EAppType_Video | 0x800 | Видеокомпонент фильма или сериала (полный метр, эпизод, предпросмотр, фильм о кулуарах и проч.) |
k_EAppType_Plugin | 0x1000 | Подключаемые типы для других приложений. |
k_EAppType_Music | 0x2000 | Музыкальные файлы. |
k_EAppType_Series | 0x4000 | Приложение-контейнер для сериала. |
k_EAppType_Shortcut | 0x40000000 | Просто ярлык, используется только на стороне клиента. |
k_EAppType_DepotOnly | 0x80000000 | Заглушка. Используется, поскольку хранилища и приложения имеют общее пространство имён. |
EAuthSessionResponse
Значения обратных вызовов для
ValidateAuthTicketResponse_t, возвращаемые в ответ на
ISteamUser::BeginAuthSession и
ISteamGameServer::BeginAuthSession.
Название | Значение | Описание |
k_EAuthSessionResponseOK | 0 | Steam удостоверился, что пользователь в сети, билет действителен и не использовался ранее. |
k_EAuthSessionResponseUserNotConnectedToSteam | 1 | Запрошенный пользователь не подключен к Steam. |
k_EAuthSessionResponseNoLicenseOrExpired | 2 | У пользователя нет лицензии на приложение или истёк срок действия билета. |
k_EAuthSessionResponseVACBanned | 3 | У пользователя есть блокировка VAC для данной игры. |
k_EAuthSessionResponseLoggedInElseWhere | 4 | Пользователь вошёл в Steam в другом месте и сессия с игрой была отключена. |
k_EAuthSessionResponseVACCheckTimedOut | 5 | Системе VAC не удалось выполнить античит-проверку данного пользователя. |
k_EAuthSessionResponseAuthTicketCanceled | 6 | Билет отменён тем, кто его выпустил. |
k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed | 7 | Билет уже был использован, он недействителен. |
k_EAuthSessionResponseAuthTicketInvalid | 8 | Билет не относится к пользователю, подключённому в данный момент к Steam. |
k_EAuthSessionResponsePublisherIssuedBan | 9 | Пользователь заблокирован в данной игре. Блокировка выпущена с помощью веб-API, а не в системе VAC. |
EBeginAuthSessionResult
Результаты, возвращаемые
ISteamUser::BeginAuthSession и
ISteamGameServer::BeginAuthSession.
Название | Значение | Описание |
k_EBeginAuthSessionResultOK | 0 | Билет действителен для данной игры и данного SteamID. |
k_EBeginAuthSessionResultInvalidTicket | 1 | Билет недействителен. |
k_EBeginAuthSessionResultDuplicateRequest | 2 | Билет для этого SteamID уже отправлен. |
k_EBeginAuthSessionResultInvalidVersion | 3 | Билет относится к несовместимой версии интерфейса. |
k_EBeginAuthSessionResultGameMismatch | 4 | Билет не относится к данной игре. |
k_EBeginAuthSessionResultExpiredTicket | 5 | Срок действия билета истёк. |
EBroadcastUploadResult
Результат отправки трансляции из
BroadcastUploadStop_t.
Название | Значение | Описание |
k_EBroadcastUploadResultNone | 0 | Состояние трансляции неизвестно. |
k_EBroadcastUploadResultOK | 1 | Трансляция прошла удачно, проблем нет. |
k_EBroadcastUploadResultInitFailed | 2 | Инициализация трансляции не удалась. |
k_EBroadcastUploadResultFrameFailed | 3 | Не удалось выполнить отправку кадров трансляции. |
k_EBroadcastUploadResultTimeout | 4 | Время на отправку трансляции истекло. |
k_EBroadcastUploadResultBandwidthExceeded | 5 | Трансляция отправила слишком много данных. |
k_EBroadcastUploadResultLowFPS | 6 | Число кадров трансляции в секунду слишком мало. |
k_EBroadcastUploadResultMissingKeyFrames | 7 | Трансляция отправляет недостаточно ключевых кадров. |
k_EBroadcastUploadResultNoConnection | 8 | Клиенту трансляции не удалось подключиться к узлу ретрансляции. |
k_EBroadcastUploadResultRelayFailed | 9 | Узел ретрансляции остановил отправку. |
k_EBroadcastUploadResultSettingsChanged | 10 | Клиент изменил настройки трансляции. |
k_EBroadcastUploadResultMissingAudio | 11 | Клиенту не удалось отправить аудиоданные. |
k_EBroadcastUploadResultTooFarBehind | 12 | Клиенты слишком медленно отправляли данные. |
k_EBroadcastUploadResultTranscodeBehind | 13 | Серверу не удалось справиться с перекодировкой. |
EChatEntryType
Типы сообщений в чатах.
Возвращается
ISteamFriends::GetFriendMessage,
ISteamFriends::GetClanChatMessage и
ISteamMatchmaking::GetLobbyChatEntry.
Название | Значение | Описание |
k_EChatEntryTypeInvalid | 0 | Недействительный тип. |
k_EChatEntryTypeChatMsg | 1 | Нормальное текстовое сообщение от другого пользователя. |
k_EChatEntryTypeTyping | 2 | Другой пользователь печатает, не используется в многопользовательских чатах. |
k_EChatEntryTypeInviteGame | 3 | Приглашение от другого пользователя в его текущую игру. |
k_EChatEntryTypeEmote | 4 | Текстовое сообщение с эмотиконом (устарело, используется как ChatMsg). |
k_EChatEntryTypeLeftConversation | 6 | Пользователь покинул беседу (закрыл окно чата). |
k_EChatEntryTypeEntered | 7 | Пользователь вошёл в беседу, используется в многопользовательских чатах и групповых чатах. |
k_EChatEntryTypeWasKicked | 8 | Пользователь выгнан (данные: SteamID выгнавшего пользователя). |
k_EChatEntryTypeWasBanned | 9 | Пользователь заблокирован (данные: SteamID заблокировавшего пользователя). |
k_EChatEntryTypeDisconnected | 10 | Пользователь отсоединён. |
k_EChatEntryTypeHistoricalChat | 11 | Сообщение в чате из истории пользователя или офлайн-сообщение. |
k_EChatEntryTypeLinkBlocked | 14 | Ссылка удалена фильтром чата. |
EChatRoomEnterResponse
Ответ на попытку входа в чат.
Название | Значение | Описание |
k_EChatRoomEnterResponseSuccess | 1 | Готово! |
k_EChatRoomEnterResponseDoesntExist | 2 | Чат не существует (скорее всего закрыт). |
k_EChatRoomEnterResponseNotAllowed | 3 | Общий отказ: у пользователя нет разрешения на присоединение к чату. |
k_EChatRoomEnterResponseFull | 4 | Чат достиг предельного размера. |
k_EChatRoomEnterResponseError | 5 | Неожиданная ошибка. |
k_EChatRoomEnterResponseBanned | 6 | Вы заблокированы в данном чате и не можете присоединиться. |
k_EChatRoomEnterResponseLimited | 7 | Присоединение к данному чату запрещено, поскольку ваш аккаунт ограничен (нет средств). |
k_EChatRoomEnterResponseClanDisabled | 8 | Попытка присоединиться к чату клана, когда клан заблокирован или отключен. |
k_EChatRoomEnterResponseMemberBlockedYou | 10 | Присоединиться не удалось: пользователь в чате заблокировал присоединение. |
k_EChatRoomEnterResponseYouBlockedMember | 11 | Присоединиться не удалось: вы заблокировали пользователя, находящегося в чате. |
k_EChatRoomEnterResponseRatelimitExceeded | 15 | Присоединиться не удалось: слишком много попыток подключения за короткий период времени. |
EChatSteamIDInstanceFlags
Специальные флаги для аккаунтов чатов: они занимают 8 верхних битов «экземпляра» SteamID, оставляя 12 битов для действительных экземпляров.
Название | Значение | Описание |
k_EChatAccountInstanceMask | 0x00000FFF | 8 верхних битов являются флагами. |
k_EChatInstanceFlagClan | ( k_unSteamAccountInstanceMask + 1 ) >> 1 | SteamID — для группы Steam. |
k_EChatInstanceFlagLobby | ( k_unSteamAccountInstanceMask + 1 ) >> 2 | SteamID — для лобби. |
k_EChatInstanceFlagMMSLobby | ( k_unSteamAccountInstanceMask + 1 ) >> 3 | SteamID — для лобби подбора игр. |
EDenyReason
Значения результатов, когда клиенту не удалось подключиться или он был выгнан с игрового сервера. Получаются из
GSClientDeny_t и
GSClientKick_t.
Название | Значение | Описание |
k_EDenyInvalid | 0 | Неизвестно. |
k_EDenyInvalidVersion | 1 | Клиент и сервер не одной версии. |
k_EDenyGeneric | 2 | Общего характера. |
k_EDenyNotLoggedOn | 3 | Клиент не залогинен. |
k_EDenyNoLicense | 4 | У клиента нет лицензии на данную игру. |
k_EDenyCheater | 5 | Клиент заблокирован VAC. |
k_EDenyLoggedInElseWhere | 6 | Этот аккаунт используется из другого места. |
k_EDenyUnknownText | 7 | |
k_EDenyIncompatibleAnticheat | 8 | |
k_EDenyMemoryCorruption | 9 | |
k_EDenyIncompatibleSoftware | 10 | |
k_EDenySteamConnectionLost | 11 | Сервер потерял соединение со Steam. |
k_EDenySteamConnectionError | 12 | При соединении сервера со Steam произошла ошибка общего характера. |
k_EDenySteamResponseTimedOut | 13 | Истекло время ожидания при соединении сервера со Steam. |
k_EDenySteamValidationStalled | 14 | Клиент пока не авторизован Steam. |
k_EDenySteamOwnerLeftGuestUser | 15 | Владелец общей игры вышел, вызывается для каждого гостя. |
EGameIDType
Используется для описания типа
CGameID.
Название | Значение | Описание |
k_EGameIDTypeApp | 0 | GameID — обычное приложение Steam. |
k_EGameIDTypeGameMod | 1 | GameID — модификация. |
k_EGameIDTypeShortcut | 2 | GameID — ярлык. |
k_EGameIDTypeP2P | 3 | GameID — ярлык. |
ELaunchOptionType
Коды определённых типов запуска. Соответствуют типам запуска в разделе «Варианты запуска», которые находятся на странице
«Общие параметры установки» приложения.
Существует специальная функция BIsVRLaunchOptionType, проверяющая, является ли тип запуска вариантом VR.
Название | Значение | Описание |
k_ELaunchOptionType_None | 0 | Не указано. |
k_ELaunchOptionType_Default | 1 | Запускает приложение в режиме по умолчанию. |
k_ELaunchOptionType_SafeMode | 2 | Запускает приложение в безопасном режиме. |
k_ELaunchOptionType_Multiplayer | 3 | Запускает приложение в многопользовательском режиме. |
k_ELaunchOptionType_Config | 4 | Запускает инструмент настройки для этой игры. |
k_ELaunchOptionType_OpenVR | 5 | Запускает игру в режиме VR с использованием OpenVR. |
k_ELaunchOptionType_Server | 6 | Запускает выделенный сервер для данной игры. |
k_ELaunchOptionType_Editor | 7 | Запускает редактор игры. |
k_ELaunchOptionType_Manual | 8 | Открывает руководство к игре. |
k_ELaunchOptionType_Benchmark | 9 | Запускает тест производительности игры. |
k_ELaunchOptionType_Option1 | 10 | Опция общего характера, использует поле описания для названия игры. |
k_ELaunchOptionType_Option2 | 11 | Опция общего характера, использует поле описания для названия игры. |
k_ELaunchOptionType_Option3 | 12 | Опция общего характера, использует поле описания для названия игры. |
k_ELaunchOptionType_OculusVR | 13 | Запускает игру в режиме VR с использованием SDK Oculus. |
k_ELaunchOptionType_OpenVROverlay | 14 | Запускает меню оверлея OpenVR. |
k_ELaunchOptionType_OSVR | 15 | Запускает игру в режиме VR с использованием SDK OSVR. |
k_ELaunchOptionType_Dialog | 1000 | Показать диалоговое окно с вариантами запуска. |
EMarketingMessageFlags
Внутренние флаги системы продвижения Steam, сообщающие клиенту, как обращаться с ними.
Название | Значение | Описание |
k_EMarketingMessageFlagsNone | 0 | |
k_EMarketingMessageFlagsHighPriority | 1 << 0 | |
k_EMarketingMessageFlagsPlatformWindows | 1 << 1 | |
k_EMarketingMessageFlagsPlatformMac | 1 << 2 | |
k_EMarketingMessageFlagsPlatformLinux | 1 << 3 | |
k_EMarketingMessageFlagsPlatformRestrictions | = | все флаги |
ENotificationPosition
Возможное положение уведомлений в оверлее. Используется с
ISteamUtils::SetOverlayNotificationPosition.
Название | Значение | Описание |
k_EPositionTopLeft | 0 | Левый верхний угол. |
k_EPositionTopRight | 1 | Правый верхний угол. |
k_EPositionBottomLeft | 2 | Левый нижний угол. |
k_EPositionBottomRight | 3 | Правый нижний угол. |
EResult
Коды ошибок.
Эти коды возвращаются функциями, обратными вызовами, результатами вызовов как API Steamworks, так и веб-API. Та или иная функция может вернуть произвольный код ошибки EResult, изучите документацию данной функции или обратного вызова, чтобы увидеть, что именно может быть возвращено и что это означает в контексте данного вызова.
Эти коды подобны типу HRESULT в Win32 или errno в POSIX.
Название | Значение | Описание |
k_EResultOK | 1 | Готово! |
k_EResultFail | 2 | Ошибка общего характера. |
k_EResultNoConnection | 3 | Клиент Steam не подключен к серверу Steam. |
k_EResultInvalidPassword | 5 | Пароль или билет недействителен. |
k_EResultLoggedInElsewhere | 6 | Этот пользователь использует аккаунт из другого места. |
k_EResultInvalidProtocolVer | 7 | Некорректная версия протокола. |
k_EResultInvalidParam | 8 | Некорректный параметр. |
k_EResultFileNotFound | 9 | Файл не найден. |
k_EResultBusy | 10 | Вызванный метод занят, действие не предпринято. |
k_EResultInvalidState | 11 | Вызванный объект находится в некорректном состоянии. |
k_EResultInvalidName | 12 | Название некорректно. |
k_EResultInvalidEmail | 13 | Указан неверный адрес эл. почты. |
k_EResultDuplicateName | 14 | Название не является уникальным. |
k_EResultAccessDenied | 15 | Доступ запрещён. |
k_EResultTimeout | 16 | Время ожидания операции истекло. |
k_EResultBanned | 17 | Этот пользователь заблокирован системой VAC. |
k_EResultAccountNotFound | 18 | Аккаунт не найден. |
k_EResultInvalidSteamID | 19 | Некорректный SteamID. |
k_EResultServiceUnavailable | 20 | Запрошенная служба в данный момент недоступна. |
k_EResultNotLoggedOn | 21 | Пользователь не залогинен. |
k_EResultPending | 22 | Запрос рассматривается, он может быть в процессе обработки или ожидать ответа третьей стороны. |
k_EResultEncryptionFailure | 23 | Шифрация или дешифрация не удалась. |
k_EResultInsufficientPrivilege | 24 | Недостаточно полномочий. |
k_EResultLimitExceeded | 25 | Лимит превышен. |
k_EResultRevoked | 26 | Доступ отозван (используется для отзыва гостевого пропуска). |
k_EResultExpired | 27 | Истек срок действия лицензии или гостевого пропуска, к которому пользователь пытается получить доступ. |
k_EResultAlreadyRedeemed | 28 | Гостевой пропуск уже активирован на аккаунте, не может быть использован заново. |
k_EResultDuplicateRequest | 29 | Этот запрос является дубликатом, действие уже произошло в прошлом, игнорируйте в этот раз. |
k_EResultAlreadyOwned | 30 | Все игры, которые пользователь запросил по гостевому пропуску, уже есть на его аккаунте. |
k_EResultIPNotFound | 31 | IP-адрес не найден. |
k_EResultPersistFailed | 32 | Не удалось сохранить изменения в хранилище данных. |
k_EResultLockingFailed | 33 | Не удалось получить блокировку доступа для данной операции. |
k_EResultLogonSessionReplaced | 34 | Сеанс входа в систему был заменён. |
k_EResultConnectFailed | 35 | Не удалось соединиться. |
k_EResultHandshakeFailed | 36 | Не удалось подтвердить аутентификацию. |
k_EResultIOFailure | 37 | Отказ устройства ввода-вывода общего характера. |
k_EResultRemoteDisconnect | 38 | Соединение с удалённым сервером разорвано. |
k_EResultShoppingCartNotFound | 39 | Не удалось найти запрошенную корзину. |
k_EResultBlocked | 40 | Пользователь заблокировал действие. |
k_EResultIgnored | 41 | Цель игнорирует отправляющего. |
k_EResultNoMatch | 42 | Не найдено ничего, удовлетворяющего запросу. |
k_EResultAccountDisabled | 43 | Аккаунт отключен. |
k_EResultServiceReadOnly | 44 | В данный момент служба не принимает изменений. |
k_EResultAccountNotFeatured | 45 | На аккаунте нет средств, поэтому функция недоступна. |
k_EResultAdministratorOK | 46 | Действие позволено, но только потому, что запрос отправлен администратором. |
k_EResultContentVersion | 47 | По протоколу Steam передано несоответствие версий контента. |
k_EResultTryAnotherCM | 48 | Текущий сервер CM не может обслуживать пользователя, делающего запрос, пользователь должен попробовать другой. |
k_EResultPasswordRequiredToKickSession | 49 | Вы уже вошли из другого места, этот кэшированный логин не удался. |
k_EResultAlreadyLoggedInElsewhere | 50 | Этот пользователь использует аккаунт из другого места. (Используйте k_EResultLoggedInElsewhere вместо этого!) |
k_EResultSuspended | 51 | Долго продолжающаяся операция прекращена/поставлена на паузу (к примеру, загрузка контента). |
k_EResultCancelled | 52 | Операция отменена, обычно пользователем к примеру, загрузка контента). |
k_EResultDataCorruption | 53 | Операция отменена, поскольку данные неправильно сформированы или безвозвратно потеряны. |
k_EResultDiskFull | 54 | Операция отменена, недостаточно места на диске |
k_EResultRemoteCallFailed | 55 | Удалённый или межпроцессный вызов не удался. |
k_EResultPasswordUnset | 56 | Не удалось проверить пароль, так как он не задан на сервере. |
k_EResultExternalAccountUnlinked | 57 | Внешний аккаунт (PlayStation, Facebook и пр.) не привязан к аккаунту Steam. |
k_EResultPSNTicketInvalid | 58 | Билет PlayStation недействителен. |
k_EResultExternalAccountAlreadyLinked | 59 | Внешний аккаунт (PlayStation, Facebook и пр.) уже привязан к другому аккаунту, должен явно запросить заменить или удалить связь. |
k_EResultRemoteFileConflict | 60 | Синхронизация не может быть возобновлена из-за конфликта локального и удалённого файлов. |
k_EResultIllegalPassword | 61 | Запрошенный новый пароль недопустим. |
k_EResultSameAsPreviousValue | 62 | Новое значение равно старому. Используется для секретного вопроса и ответа. |
k_EResultAccountLogonDenied | 63 | Вход в аккаунт запрещён из-за ошибки во время двухфакторной аутентификации. |
k_EResultCannotUseOldPassword | 64 | Запрошенный новый пароль незаконен. |
k_EResultInvalidLoginAuthCode | 65 | Вход в аккаунт запрещён из-за недействительного кода авторизации. |
k_EResultAccountLogonDeniedNoMail | 66 | Вход в аккаунт запрещён из-за ошибки во время двухфакторной аутентификации: не отправлено письмо. |
k_EResultHardwareNotCapableOfIPT | 67 | Устройство пользователя не поддерживает технологию защиты конфиденциальности Intel (IPT). |
k_EResultIPTInitError | 68 | Технологии защиты конфиденциальности Intel (IPT) не удалось провести инициализацию. |
k_EResultParentalControlRestricted | 69 | Операция не удалась из-за ограничений родительского контроля, наложенных на текущего пользователя. |
k_EResultFacebookQueryError | 70 | Запрос к Facebook вернул ошибку. |
k_EResultExpiredLoginAuthCode | 71 | Вход в аккаунт запрещён из-за просроченного кода авторизации. |
k_EResultIPLoginRestrictionFailed | 72 | Войти в аккаунт не удалось из-за ограничения по IP. |
k_EResultAccountLockedDown | 73 | Использование текущего аккаунта в данный момент заблокировано. Это произошло из-за вероятного взлома, ожидается подтверждение владения. |
k_EResultAccountLogonDeniedVerifiedEmailRequired | 74 | Вход не удался, поскольку эл. почта аккаунта не подтверждена. |
k_EResultNoMatchingURL | 75 | Нет ссылки, соответствующей предоставленному значению. |
k_EResultBadResponse | 76 | Некорректный ответ из-за сбоя чтения, отсутствующего поля и т.п. |
k_EResultRequirePasswordReEntry | 77 | Пользователь не может завершить действие, пока не введёт пароль ещё раз. |
k_EResultValueOutOfRange | 78 | Введённое значение находится за пределами допустимого диапазона. |
k_EResultUnexpectedError | 79 | Произошло нечто, чего не должно было произойти. |
k_EResultDisabled | 80 | Запрошенная служба настроена таким образом, что она недоступна. |
k_EResultInvalidCEGSubmission | 81 | Отправленные на сервер CEG файлы недействительны. |
k_EResultRestrictedDevice | 82 | Используемое устройство не позволяет выполнить данное действие. |
k_EResultRegionLocked | 83 | Действие не может быть выполнено, поскольку оно ограничено регионом. |
k_EResultRateLimitExceeded | 84 | Временное превышение лимита, попробуйте позже. Отличается от k_EResultLimitExceeded, который может быть постоянным. |
k_EResultAccountLoginDeniedNeedTwoFactor | 85 | Для входа требуется двухфакторный код. |
k_EResultItemDeleted | 86 | Сущность, к которой пытаемся получить доступ, удалена. |
k_EResultAccountLoginDeniedThrottle | 87 | Ошибка при попытке входа, попытайтесь активировать реакцию на возможного злоумышленника. |
k_EResultTwoFactorCodeMismatch | 88 | Неверный код двухфакторного аутентификатора (Steam Guard) |
k_EResultTwoFactorActivationCodeMismatch | 89 | Код активации двухфакторного аутентификатора (Steam Guard) не совпадает с отправленным. |
k_EResultAccountAssociatedToMultiplePartners | 90 | Текущий аккаунт связан с несколькими партнёрами. |
k_EResultNotModified | 91 | Данные не изменились. |
k_EResultNoMobileDevice | 92 | К данному аккаунту не привязано мобильное устройство. |
k_EResultTimeNotSynced | 93 | Представленное время находится за пределами диапазона или в недопустимом формате. |
k_EResultSmsCodeFailed | 94 | Ошибка SMS-кода: не совпадает, нет ожидания, и пр. |
k_EResultAccountLimitExceeded | 95 | Слишком много аккаунтов пытаются получить доступ к данному ресурсу. |
k_EResultAccountActivityLimitExceeded | 96 | Слишком много изменений в этом аккаунте. |
k_EResultPhoneActivityLimitExceeded | 97 | Слишком много изменений для этого номера телефона. |
k_EResultRefundToWallet | 98 | Невозможно вернуть средства на использованный способ оплаты, необходимо использовать кошелёк. |
k_EResultEmailSendFailure | 99 | Невозможно отправить письмо. |
k_EResultNotSettled | 100 | Невозможно выполнить операцию, пока платёж не прошёл. |
k_EResultNeedCaptcha | 101 | Пользователю необходимо отправить действительную капчу. |
k_EResultGSLTDenied | 102 | Токен входа на игровой сервер, принадлежащий владельцу этого билета, был заблокирован. |
k_EResultGSOwnerDenied | 103 | Владелец игрового сервера заблокирован по какой-то другой причине: заблокирован аккаунт, получил блокировку в сообществе или в системе VAC, не указан номер телефона и проч. |
k_EResultInvalidItemType | 104 | Тип объекта, в отношении которого запрошено действие, недействителен. |
k_EResultIPBanned | 105 | IP-адресу запрещено выполнять данное действие. |
k_EResultGSLTExpired | 106 | Из-за бездействия истек срок действия токен входа на игровой сервер (GSLT), его можно использовать заново после сброса. |
k_EResultInsufficientFunds | 107 | У пользователя недостаточно средств для выполнения действия. |
k_EResultTooManyPending | 108 | Слишком много запрошенного уже ожидает рассмотрения. |
ESteamUserStatType
Используемые для внутренних целей поля для хранения пользовательской статистики.
Название | Значение | Описание |
k_ESteamUserStatTypeINVALID | 0 | Недействительный тип. |
k_ESteamUserStatTypeINT | 1 | 32-битное целое число. |
k_ESteamUserStatTypeFLOAT | 2 | 32-битное число с плавающей точкой. |
k_ESteamUserStatTypeAVGRATE | 3 | Читается как число с плавающей точкой. Устанавливается вместе с длиной сессии. |
k_ESteamUserStatTypeACHIEVEMENTS | 4 | Стандартное пользовательское достижение. |
k_ESteamUserStatTypeGROUPACHIEVEMENTS | 5 | Устарело. |
k_ESteamUserStatTypeMAX | 6 | Общее число типов пользовательских статистик, используется для проверки работоспособности. |
ETextFilteringContext
Параметр
ISteamUtils::FilterText.
Название | Значение | Описание |
k_ETextFilteringContextUnknown | 0 | Неизвестный контекст. |
k_ETextFilteringContextGameContent | 1 | Контент игры, выполняется только предписанная законом фильтрация. |
k_ETextFilteringContextChat | 2 | Чат другого пользователя. |
k_ETextFilteringContextName | 3 | Название символа или объекта. |
EUniverse
Среды Steam. Каждая среда является автономным экземпляром Steam.
Название | Значение | Описание |
k_EUniverseInvalid | 0 | Недействительный тип. |
k_EUniversePublic | 1 | Стандартная общедоступная среда. |
k_EUniverseBeta | 2 | Бета-среда, используемая внутри Valve. |
k_EUniverseInternal | 3 | Внутренняя среда, используемая внутри Valve. |
k_EUniverseDev | 4 | Среда для разработчиков, которая используется внутри Valve. |
k_EUniverseMax | 5 | Общее число сред, используемых для проверки работоспособности. |
EUserHasLicenseForAppResult
Результат
ISteamUser::UserHasLicenseForApp.
Название | Значение | Описание |
k_EUserHasLicenseResultHasLicense | 0 | У пользователя есть лицензия на указанное приложение. |
k_EUserHasLicenseResultDoesNotHaveLicense | 1 | У пользователя нет лицензии на указанное приложение. |
k_EUserHasLicenseResultNoAuth | 2 | Проверка подлинности пользователя не выполнена. |
EVoiceResult
Результаты для использования с функциями
голосового чата.
Название | Значение | Описание |
k_EVoiceResultOK | 0 | Вызов успешно завершён. |
k_EVoiceResultNotInitialized | 1 | Интерфейс Steam Voice не инициализирован. |
k_EVoiceResultNotRecording | 2 | В данный момент запись не ведётся. |
k_EVoiceResultNoData | 3 | Голосовые данные недоступны. |
k_EVoiceResultBufferTooSmall | 4 | Размера предоставленного буфера недостаточно для получения данных. |
k_EVoiceResultDataCorrupted | 5 | Голосовые данные повреждены. |
k_EVoiceResultRestricted | 6 | Этому пользователю запрещено пользоваться чатами. |
k_EVoiceResultUnsupportedCodec | 7 | Устарело. |
k_EVoiceResultReceiverOutOfDate | 8 | Устарело. |
k_EVoiceResultReceiverDidNotAnswer | 9 | Устарело. |
EVRHMDType
Кодовые точки для поставщиков и моделей гарнитур виртуальной реальности. Используйте специальные функции BIsOculusHMD и BIsViveHMD для проверки и определения бренда.
Название | Значение | Описание |
k_eEVRHMDType_None | -1 | Неизвестный поставщик и модель. |
k_eEVRHMDType_Unknown | 0 | Неизвестный поставщик и модель. |
k_eEVRHMDType_HTC_Dev | 1 | Оригинальный набор разработчика HTC. |
k_eEVRHMDType_HTC_VivePre | 2 | Набор разработчика HTC Vive Pre. |
k_eEVRHMDType_HTC_Vive | 3 | Пользовательский экземпляр HTC Vive. |
k_eEVRHMDType_HTC_Unknown | 20 | Неизвестный шлем HTC. |
k_eEVRHMDType_Oculus_DK1 | 21 | Набор разработчика Oculus Rift 1. |
k_eEVRHMDType_Oculus_DK2 | 22 | Набор разработчика Oculus Rift 2. |
k_eEVRHMDType_Oculus_Rift | 23 | Пользовательский экземпляр Oculus Rift 1. |
k_eEVRHMDType_Oculus_Unknown | 40 | Неизвестный шлем Oculus. |
Typedefs
Далее приведён список объявлений typedef, которые определены для использования со steam_api.
Название | Базовый тип | Описание |
AccountID_t | uint32 | Используется для внутренних целей в CSteamID, представляет аккаунт конкретного пользователя вне зависимости от среды Steam, в которой он находится. |
AppId_t | uint32 | Уникальный идентификатор приложения. Больше информации здесь. |
AssetClassId_t | uint64 | Используется для внутренних целей в Steam. |
BREAKPAD_HANDLE | void * | Используется внутренними интерфейсами обработчиков сбоев Steam для обращения к конкретным установленным обработчиком сбоев. |
BundleId_t | uint32 | Уникальный идентификатор набора. (Используется для внутренних целей в Steam). |
CellID_t | uint32 | Используется для внутренних целей в Steam. |
DepotId_t | uint32 | Уникальный идентификатор хранилища. |
GID_t | uint64 | Используется для внутренних целей в Steam. |
HAuthTicket | uint32 | Дескриптор билета аутентификации пользователя. Тип возвращаемого значения ISteamUser::GetAuthSessionTicket. |
int16 | short | Версия 16-битного целого числа, используемая в Steam. Эквивалент int16_t. |
int32 | int | Версия 32-битного целого числа, используемая в Steam. Эквивалент int32_t. |
int64 | long long | Версия 64-битного целого числа, используемая в Steam. Эквивалент int64_t. |
int8 | signed char | Версия 8-битного целого числа, используемая в Steam. Эквивалент int8_t. |
intp | int/long long | Тип со знаком, используемый в Steam, который может хранить указатель. Эквивалент intptr_t. (Используется для внутренних целей в Steam.) |
JobID_t | uint64 | Используется для внутренних целей в Steam. |
lint64 | long int | Используется для внутренних целей в Steam. |
ManifestId_t | uint64 | Используется для внутренних целей в Steam. |
PackageId_t | uint32 | Используется для внутренних целей в Steam. |
PartnerId_t | uint32 | Используется для внутренних целей в Steam. |
PhysicalItemId_t | uint32 | Используется для внутренних целей в Steam. |
RTime32 | uint32 | Версия системы исчисления UNIX-времени, используемая Steam, отсчитывается по 1 секунде, начиная с 1970-01-01 00:00:00 +0000 (UTC) |
SteamAPICall_t | uint64 | Уникальный дескриптор вызова API Steam. Если функция возвращает один из них, вы должны отслеживать его статус, используя систему результатов вызовов. |
TxnID_t | GID_t | Используется для внутренних целей в Steam. |
uint16 | unsigned short | Версия 16-битного целого числа без знака, используемая в Steam. Эквивалент uint16_t. |
uint32 | unsigned int | Версия 32-битного целого числа без знака, используемая в Steam. Эквивалент uint32_t. |
uint64 | unsigned long long | Версия 64-битного целого числа без знака, используемая в Steam. Эквивалент uint64_t. |
uint8 | unsigned char | Версия 8-битного целого числа без знака, используемая в Steam. Эквивалент uint8_t. |
uintp | unsigned int/unsigned long long | Тип без знака, используемый в Steam, который может хранить указатель. Эквивалент uintptr_t. (Используется для внутренних целей в Steam.) |
ulint64 | unsigned long int | Используется для внутренних целей в Steam. |
Константы
Далее приведён список констант, которые определены для использования со steam_api.
Название | Тип | Значение | Описание |
BREAKPAD_INVALID_HANDLE | int | (BREAKPAD_HANDLE)0 | |
k_cubSaltSize | int | 8 | Используется для внутренних целей в Steam. |
k_GIDNil | GID_t | 0xffffffffffffffffull | Используется для внутренних целей в Steam. |
k_HAuthTicketInvalid | HAuthTicket | 0 | Недействительный билет аутентификации пользователя. |
k_JobIDNil | JobID_t | 0xffffffffffffffffull | Используется для внутренних целей в Steam. |
k_steamIDLanModeGS | int | CSteamID( | Данный SteamID получен от пользовательского игрового соединения с игровым сервером типа sv_lan. |
k_steamIDNil | int | CSteamID() | Общий недействительный CSteamID. |
k_steamIDNonSteamGS | int | CSteamID( | Данный SteamID получен от пользовательского игрового соединения с игровым сервером, не использующим систему аутентификации Steam, но желающим поддерживать функцию «Присоединится к игре» в списке друзей. |
k_steamIDNotInitYetGS | int | CSteamID( | Данный SteamID получен от пользовательского игрового соединения с игровым сервером, который только что запущен, но еще не инициализировал компонент steam3 и не начал вход. |
k_steamIDOutofDateGS | int | CSteamID( | Данный SteamID получен от пользовательского игрового соединения с устаревшим игровым сервером, который не внедрил протокол для передачи SteamID. |
k_TxnIDNil | GID_t | k_GIDNil | Используется для внутренних целей в Steam. |
k_TxnIDUnknown | GID_t | 0 | Используется для внутренних целей в Steam. |
k_uAPICallInvalid | SteamAPICall_t | 0x0 | Недействительный дескриптор вызова API Steam. |
k_uAppIdInvalid | AppId_t | 0x0 | Недействительный номер приложения. |
k_uBundleIdInvalid | BundleId_t | 0 | Используется для внутренних целей в Steam. |
k_uCellIDInvalid | CellID_t | 0xFFFFFFFF | Используется для внутренних целей в Steam. |
k_uDepotIdInvalid | DepotId_t | 0x0 | Недействительный номер хранилища. |
k_ulAssetClassIdInvalid | AssetClassId_t | 0x0 | Используется для внутренних целей в Steam. |
k_uManifestIdInvalid | ManifestId_t | 0 | Используется для внутренних целей в Steam. |
k_unSteamAccountIDMask | unsigned int | 0xFFFFFFFF | Используется в CSteamID для маскировки AccountID_t. |
k_unSteamAccountInstanceMask | unsigned int | 0x000FFFFF | Используется в CSteamID для маскировки экземпляра аккаунта. |
k_unSteamUserConsoleInstance | unsigned int | 2 | Используется в CSteamID для идентификации пользователей, вошедших через консоль. |
k_unSteamUserDesktopInstance | unsigned int | 1 | Используется в CSteamID для идентификации пользователей, вошедших через настольный клиент. |
k_unSteamUserWebInstance | unsigned int | 4 | Используется в CSteamID для идентификации пользователей, вошедших из сети. |
k_uPackageIdFreeSub | PackageId_t | 0x0 | Используется для внутренних целей в Steam. |
k_uPackageIdInvalid | PackageId_t | 0xFFFFFFFF | Используется для внутренних целей в Steam. |
k_uPartnerIdInvalid | PartnerId_t | 0 | Используется для внутренних целей в Steam. |
k_uPhysicalItemIdInvalid | PhysicalItemId_t | 0x0 | Используется для внутренних целей в Steam. |
QUERY_PORT_ERROR | int | 0xFFFE | Не удалось получить порт запросов данного сервера. |
QUERY_PORT_NOT_INITIALIZED | int | 0xFFFF | ----------------------------------------------------------------------------- Константы, используемые для порта запросов. ----------------------------------------------------------------------------- Мы пока не спросили игровой сервер о текущем значении порта запросов. |