netcode는 UDP 위에 구축된 보안 클라이언트/서버 프로토콜입니다.
이는 연결 지향 프로토콜이 필요하지만 TCP의 라인 차단 헤드가 없는 실시간 멀티플레이어 게임에서 사용하기 위한 것입니다.
넷코드에는 다음과 같은 기능이 있습니다.
넷코드는 안정적이고 생산 준비가 되어 있습니다.
임의의 32바이트 개인 키를 생성하여 시작하세요. 개인 키를 누구 와도 공유하지 마십시오.
특히 클라이언트 실행 파일에 개인 키를 포함하지 마십시오!
테스트 개인 키는 다음과 같습니다.
static uint8_t private_key [ NETCODE_KEY_BYTES ] = { 0x60 , 0x6a , 0xbe , 0x6e , 0xc9 , 0x19 , 0x10 , 0xea ,
0x9a , 0x65 , 0x62 , 0xf6 , 0x6f , 0x2b , 0x30 , 0xe4 ,
0x43 , 0x71 , 0xd6 , 0x2c , 0xd1 , 0x99 , 0x27 , 0x26 ,
0x6b , 0x3c , 0x60 , 0xf4 , 0xb7 , 0x15 , 0xab , 0xa1 };
개인 키를 사용하여 서버를 만듭니다.
char * server_address = "127.0.0.1:40000" ;
struct netcode_server_config_t server_config ;
netcode_default_server_config ( & server_config );
memcpy ( & server_config . private_key , private_key , NETCODE_KEY_BYTES );
struct netcode_server_t * server = netcode_server_create ( server_address , & server_config , time );
if ( ! server )
{
printf ( "error: failed to create servern" );
return 1 ;
}
그런 다음 원하는 클라이언트 슬롯 수로 서버를 시작하십시오.
netcode_server_start ( server , 16 );
클라이언트를 연결하려면 클라이언트가 연결 토큰을 반환하는 REST API를 백엔드에 연결해야 합니다.
연결 토큰을 사용하면 백엔드에 승인된 클라이언트만 연결할 수 있도록 서버가 보호됩니다.
netcode_client_connect ( client , connect_token );
클라이언트가 서버에 연결되면 클라이언트에 클라이언트 인덱스가 할당되고 암호화되고 서명된 패킷을 서버와 교환할 수 있습니다.
자세한 내용은 client.c 및 server.c를 참조하세요.
이 저장소에는 C로 된 넷코드 구현이 보관되어 있습니다.
다른 넷코드 구현에는 다음이 포함됩니다.
자신만의 넷코드 구현을 만들고 싶다면 넷코드 1.02 표준을 읽어보세요.
이 사람들은 정말 대단해요:
넷코드에 기여해 주셔서 감사합니다!
이 라이브러리의 저자는 Glenn Fiedler입니다.
동일한 작성자가 만든 다른 오픈 소스 라이브러리로는 Reliable, Serialize 및 yojimbo가 있습니다.
이 소프트웨어가 유용하다고 생각되면 후원을 고려해 보십시오. 감사해요!
BSD 3항 라이센스.