Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Clarification request for dedicated servers using AllocateMessage (steamworks sdk version)

オープン
#386 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
cpp
領域
networking

調査の方向性

まず、ここで説明されている Linux libsteam_api.so の動作を用いて、Steamworks SDK における ISteamNetworkingUtils_AllocateMessage と SteamAPI_Init および SteamInternal_GameServer_Init_V2 の初期化パスを比較します。Steam Game Servers のドキュメントと関連する Facepunch.Steamworks issue を確認します。gameserver パスがこのインターフェースをサポートしているかどうかを明確にし、サポートされる使用方法を文書化または修正できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

steamworks

Hello, thank you for the work on this product :)

I'm revising a dedicated server program, build using the steamworks sdk version of GameNetworkingSockets.
I believe there to be the following inconsistency with the API or documentation:

  • ISteamNetworkingUtils_AllocateMessage is required to create a message in which you can set the outbound lane. The m_idxLane must be written into the structure.

  • Steamworks SDK comes with two init methods, SteamAPI_Init and, SteamInternal_GameServer_Init_V2
    Since it is a dedicated server, we use the last one.

  • The gameserver variant does not initialize the ISteamNetworkingUtils interface required to use the first mentioned function, despite SteamGameServer_InitEx ensuring it has the correct version of the interface present in the installed version of steam.

The code will build and run just fine, however, it makes an error message when accessing the interface
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
This is using the linux libsteam_api.so

There is only one function to access ISteamNetworkingUtils, which is the client version. Since for every other interface needed to build a dedicated server, they have a corresponding SteamGameServer_ prefixed interface function. Indeed, the steamworks documentation (https://partner.steamgames.com/doc/sdk/api : Steam Game Servers), does not mention a gameserver version of ISteamNetworkingUtils becoming available.

I do not know if this is causing internal errors in the steamworks_api, even though it seems to run fine.
SteamAPI_Init makes the message go away, but checks for a running steam desktop client, so I won't use it in the server program.

The same thing was also noticed here, which I assume the root cause is the same:
https://github.com/Facepunch/Facepunch.Steamworks/issues/630

主要言語
C++
スター
10k
フォーク
747
平均マージ
5日 19時間
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ValveSoftware/GameNetworkingSockets のほかの issue

ValveSoftware/GameNetworkingSockets の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。