SteamQueryNet
1.0.0
SteamQueryNet은 Steam Server Queries UDP 프로토콜 용 C# 래퍼입니다. 그것은;
Nuget에서 SteamQuerynet을 확인하십시오.
SteamQueryNet에는 단일 객체가 제공되어 모든 API의 증기 프로토콜에 액세스 할 수 있습니다.
위에 나열된 API를 사용하려면 ServerQuery 인스턴스를 작성해야합니다.
string serverIp = "127.0.0.1" ;
int serverPort = 27015 ;
IServerQuery serverQuery = new ServerQuery ( serverIp , serverPort ) ;또는 아래와 같은 문자열 분야를 사용할 수 있습니다.
string myHostAndPort = "127.0.0.1:27015" ;
// or
myHostAndPort = "127.0.0.1,27015" ;
// or
myHostAndPort = "localhost:27015" ;
// or
myHostAndPort = "localhost,27015" ;
// or
myHostAndPort = "steam://connect/127.0.0.1:27015" ;
// or
myHostAndPort = "steam://connect/localhost:27015" ;
IServerQuery serverQuery = new ServerQuery ( myHostAndPort ) ; 또한 다음과 같이 연결하지 않고 ServerQuery 객체를 만들 수 있습니다.
IServerQuery serverQuery = new ServerQuery ( ) ;
serverQuery . Connect ( host , port ) ; 참고 : Connect 함수 과부하는 ServerQuery 비어 있지 않은 생성자와 유사합니다.
SteamQueryNet.Interfaces 네임 스페이스에서 IUdpClient 구현하여 사용자 정의 UDP 클라이언트를 제공 할 수 있습니다.
아래 예를 참조하십시오.
public class MyAmazingUdpClient : IUdpClient
{
public bool IsConnected { get ; }
public void Close ( )
{
// client implementation
}
public void Connect ( IPEndPoint remoteIpEndpoint )
{
// client implementation
}
public void Dispose ( )
{
// client implementation
}
public Task < UdpReceiveResult > ReceiveAsync ( )
{
// client implementation
}
public Task < int > SendAsync ( byte [ ] datagram , int bytes )
{
// client implementation
}
}
// Usage
IPEndpoint remoteIpEndpoint = new IPEndPoint ( IPAddress . Parse ( remoteServerIp ) , remoteServerPort ) ;
IUdpClient myUdpClient = new MyAmazingUdpClient ( ) ;
IServerQuery serverQuery = new ServerQuery ( myUdpClient , remoteIpEndpoint ) ;아래에 생성 된 기능이 원하는 정보를 반환하면
ServerInfo
ServerInfo serverInfo = serverQuery . GetServerInfo ( ) ;플레이어
List < Player > players = serverQuery . GetPlayers ( ) ;규칙
List < Rule > rules = serverQuery . GetRules ( ) ; 권장되지는 않지만 기능 또는 비어 있지 않은 생성자를 Connect 정보를 한 줄로 가져올 수 있습니다.
ServerInfo serverInfo = new ServerQuery ( )
. Connect ( host , port )
. GetServerInfo ( ) ;