Files
caliverse_server/Protocol/proto/ClientToLogin.proto
2025-05-01 07:20:41 +09:00

106 lines
2.2 KiB
Protocol Buffer

syntax = "proto3";
import "Define_Common.proto";
import "Define_Result.proto";
import "Define_ProgramVersion.proto";
import "Game_Define.proto";
message ClientToLoginReq
{
message LoginReq {
// 클라이언트 단독 인증시 사용, 그 밖의 경우는 Empty 정보
string id = 1;
string password = 2;
// 웹인증 -> 런처 -> 클라이언트 연동 인증시 사용 (JsonWebToken : 웹인증후 런처가 넘겨준 정보), 그 밖의 경우는 Empty 정보
bytes webAuthParams = 3;
// 클라이언트 공통 : 반드시 설정 되어야 하는 공통 정보
PlatformType platformType = 4; // PlatformType.PlatformType_WindowsPc
ClientProgramVersion clientVersion = 5;
LanguageType languageType = 6; // LanguageType.LanguageType_ko
// 설정이 않되도 되는 정보 : 비즈니스 로그 작성시 활용, 클라이언트측에서 얻을 수 있으면 설정
string platformDetailType = 7;
OsType osType = 8;
string osDetailType = 9;
}
message LogoutReq {
}
oneof msg {
LoginReq loginReq = 1;
LogoutReq logoutReq = 2;
}
}
message ClientToLoginRes
{
message LoginRes {
int32 waitOrder = 1;
// 서버측에서 인증 처리후 발급한 user InstantGUID 로 변경할 예정 !!! (32 Byte 예상)
// 클라이언트에서 ClientToGameReq.LoginReq.Name 에 사용해야 한다.
string userId = 2;
// 현재 접속중인 서비스 종류
ServiceType currServiceType = 3;
// 현재 접속한 서버 프로그램 버전
ServerProgramVersion currServerProgramVersion = 4;
}
message LogoutRes {
}
ServerErrorCode errorCode = 1;
oneof msg {
LoginRes loginRes = 2;
LogoutRes logoutRes = 3;
}
}
message ClientToLoginMessage
{
message MyHome {
int32 id = 1;
repeated MyHomeObjectSlotInfo slotInfo = 2;
}
message WaitOrderInfo {
int32 waitOrder = 1;
}
message GameServerInfo {
string gameServerAddr = 1;
int32 gameServerPort = 2;
string otp = 3;
int32 worldId = 4;
}
// 서버 접속 URL 목록 통지 정의
message UAS2C_NTF_SERVER_URL_CATALOG {
repeated ServerUrl serverUrls = 1;// 서버 Url 목록
}
oneof msg {
MyHome myHome = 1;
WaitOrderInfo waitOrderInfo = 2;
GameServerInfo gameServerInfo = 3;
UAS2C_NTF_SERVER_URL_CATALOG ntfServerUrlCatalog = 4;
}
}
message ClientToLogin
{
oneof msg {
ClientToLoginReq request = 1;
ClientToLoginRes response = 2;
ClientToLoginMessage message = 3;
}
}