초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<Project>
<PropertyGroup>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<BaseIntermediateOutputPath>..\..\obj\AnyCPU\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<BaseOutputPath>..\..\bin\</BaseOutputPath>
</PropertyGroup>
</Project>

152
Protocol/Marshaler.cs Normal file
View File

@@ -0,0 +1,152 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nettention.Proud;
#pragma warning disable 8981
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
#pragma warning disable 8625
namespace Protocol
{
public class CaliMarshaler : Nettention.Proud.Marshaler
{
static bool ReadMessage(Message msg, out ByteArray arr)
{
if (msg.Read(out arr) == false)
return false;
return true;
}
static void WriteMessage(Message msg, MemoryStream stream)
{
ByteArray by = ByteArray.CopyFrom(stream.ToArray());
msg.Write(by);
}
public static bool Read(Message msg, out ClientToLogin packet)
{
packet = null;
ByteArray arr;
if (ReadMessage(msg, out arr) == false)
return false;
packet = ClientToLogin.Parser.ParseFrom(arr.data);
return true;
}
public static bool Read(Message msg, out ClientToGame packet)
{
try
{
packet = null;
ByteArray arr;
if (ReadMessage(msg, out arr) == false)
return false;
packet = ClientToGame.Parser.ParseFrom(arr.data);
return true;
}
catch (Exception e)
{
var err_msg = $"Exception !!!, Failed to perform in CaliMarshaler.Read() !!! : exception:{e} - {msg.ToString()}";
throw new System.Runtime.InteropServices.MarshalDirectiveException(err_msg);
}
}
public static bool Read(Message msg, out ClientToChat packet)
{
packet = null;
ByteArray arr;
if (ReadMessage(msg, out arr) == false)
return false;
packet = ClientToChat.Parser.ParseFrom(arr.data);
return true;
}
public static void Write(Message msg, ClientToLogin packet)
{
using (MemoryStream stream = new MemoryStream())
{
using (pb::CodedOutputStream output = new pb::CodedOutputStream(stream))
{
packet.WriteTo(output);
}
WriteMessage(msg, stream);
}
}
public static void Write(Message msg, ClientToGame packet)
{
using (MemoryStream stream = new MemoryStream())
{
using (pb::CodedOutputStream output = new pb::CodedOutputStream(stream))
{
packet.WriteTo(output);
}
WriteMessage(msg, stream);
}
}
public static void Write(Message msg, ClientToChat packet)
{
using (MemoryStream stream = new MemoryStream())
{
using (pb::CodedOutputStream output = new pb::CodedOutputStream(stream))
{
packet.WriteTo(output);
}
WriteMessage(msg, stream);
}
}
public static bool Read(Message msg, out GameProtocol packet)
{
try
{
packet = null;
ByteArray arr;
if (ReadMessage(msg, out arr) == false)
return false;
packet = GameProtocol.Parser.ParseFrom(arr.data);
return true;
}
catch (Exception e)
{
var err_msg = $"Exception !!!, Failed to perform in CaliMarshaler.Read() !!! : exception:{e} - {msg.ToString()}";
throw new System.Runtime.InteropServices.MarshalDirectiveException(err_msg);
}
}
public static void Write(Message msg, GameProtocol packet)
{
using (MemoryStream stream = new MemoryStream())
{
using (pb::CodedOutputStream output = new pb::CodedOutputStream(stream))
{
packet.WriteTo(output);
}
WriteMessage(msg, stream);
}
}
}
}

View File

@@ -0,0 +1,57 @@

// P2P RMI function definitions.
rename cs(Proud::String, System.String);
rename cs(Proud::ByteArray, Nettention.Proud.ByteArray);
rename cs(int64_t, long);
using(cs) Nettention.Proud;
#include "Mashaler.h"
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PClientToLogin 2000
{
Message([in] ClientToLogin clientToLogin);
}
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PClientToGame 3000
{
Message([in] ClientToGame clientToGame);
P2PVoiceChat([in] Proud::String id, [in] Proud::ByteArray data);
P2PMotionSync([in] Proud::String id, [in] Proud::ByteArray data);
P2PPartySync([in] Proud::String id, [in] Proud::ByteArray data);
}
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PClientToChat 4000
{
Message([in] ClientToChat clientToChat);
P2PVoiceChat([in] Proud::String id, [in] Proud::ByteArray data);
}
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PServerToIP 5000
{
Message([in] Proud::String name, [in] Proud::String ip);
}
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PBotToManager 6000
{
CSNotifyBotStatus([in] int loginConnectedBotCount, [in] int channelConnectedBotCount, [in] int indunConnectedBotCount);
SCSendJson([in]string jsonFileName, [in] string jsonFileContents);
CSSendJsonRes([in] int nError);
SCNotfiyBotStart([in] int startIndex, [in] int Count);
CSNotfiyBotStartRes([in] int nError);
SCNotfiyBotEnd();
CSNotfiyBotEndRes([in] int nError);
}
[marshaler(cs)=Protocol.CaliMarshaler, access=public]
global PGameProtocol 7000
{
ProtocolHandler([in] GameProtocol gameProtocol);
}

80
Protocol/Protocol.csproj Normal file
View File

@@ -0,0 +1,80 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<UserSecretsId>54783c90-d68f-44ae-9706-9bb7f7654d7d</UserSecretsId>
<Configurations>Debug;Release;Shipping</Configurations>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>8600,8602,8603</NoWarn>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>full</DebugType>
<DefineConstants>$(DefineConstants);</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>full</DebugType>
<DefineConstants>$(DefineConstants);</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Shipping|AnyCPU'">
<DebugType>full</DebugType>
<DefineConstants>$(DefineConstants);</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DumpExtensions" />
<PackageReference Include="Google.Protobuf" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" />
</ItemGroup>
<ItemGroup>
<None Update="ClientToServer.PIDL">
<Generator></Generator>
</None>
<None Update="proto\ClientToChat.proto">
<Generator></Generator>
</None>
<None Update="proto\ClientToGame.proto">
<Generator></Generator>
</None>
<None Update="proto\ClientToLogin.proto">
<Generator></Generator>
</None>
<None Update="proto\Define_Common.proto">
<Generator></Generator>
</None>
<None Update="proto\ServerMessage.proto">
<Generator></Generator>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="out-RMI\" />
</ItemGroup>
<ItemGroup>
<Reference Include="ProudDotNetClient">
<HintPath>..\..\ThirdPartyPackages\ProudNet\1.9.58941\ProudNet\lib\DotNet\ProudDotNetClient.dll</HintPath>
</Reference>
<Reference Include="ProudDotNetServer">
<HintPath>..\..\ThirdPartyPackages\ProudNet\1.9.58941\ProudNet\lib\DotNet\ProudDotNetServer.dll</HintPath>
</Reference>
</ItemGroup>
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<ItemGroup>
<GeneratedProtoFiles Include="out-Proto\*.cs" />
<GeneratedRMIFiles Include="out-RMI\*.cs" />
</ItemGroup>
<Exec Command="call proto_build.bat&#xA;call pidl_build.bat&#xA;call client_proto_build.bat" />
</Target>
</Project>

View File

@@ -0,0 +1 @@
12

View File

@@ -0,0 +1 @@
12

View File

@@ -0,0 +1,360 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package Packet;
//import "google/protobuf/timestamp.proto";
// [END declaration]
// [START csharp_declaration]
option csharp_namespace = "Google.Protobuf.CES.Packet";
// [END csharp_declaration]
// [START messages]
message SM_REQ_MOVE_NEXT
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float ang =4; //
optional float movevalue =5; //
optional int32 start =6; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_MOVE_COMBINE
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 move_speed =8; //
optional int32 start =9; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_TRACKING_TYPE
{
optional int32 type =1;
}
message SM_REQ_VOICE
{
optional int32 sampleRate = 1; //
optional int32 numchannels = 2; //
optional int32 PCMSize = 3; //
repeated int32 data = 4;
optional int32 dataSize = 5; //
}
message SM_REQ_MUSICBOX
{
optional string propguid = 1;
optional int32 sampleRate = 2; //
optional int32 numchannels = 3; //
optional int32 PCMSize = 4; //
repeated int32 data = 5;
optional int32 dataSize = 6; //
}
message SM_REQ_JUMP
{
optional float sx =1; //
optional float sy =2; //
optional float sz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 start =8; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_GUIDE
{
optional string guoup =1; //
optional int32 operatorid =2; //
optional int32 guidetype =3; //
}
message SM_REQ_PRESENTATION_PAGE
{
string pageurl =1; //
int32 pageid =2; //
}
message SM_REQ_AIM
{
optional float pitch =1; //
}
message SM_REQ_PARTY_MOVE_MEMBER
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
}
message SM_REQ_VOICE_STATE
{
optional string nickname =1; //
optional int32 state =2; //
}
message SM_REQ_DANCE_INFO
{
optional int32 danceid = 1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
optional int32 motionid = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
optional int32 dancetype = 3; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD>޺<EFBFBD>
optional int64 timestamp = 4; // <20>ð<EFBFBD>
}
message SM_REQ_DANCE_ROOMTIME
{
int64 sendmytime = 1;
}
message SM_SEND_DANCE_ROOMTIME
{
int64 sendroomtime = 1;
string guid = 2;
}
message SM_SEND_DANCE_STATE
{
optional int32 state = 1;
optional int64 sendroomtime = 2;
optional int32 state01 = 3;
optional int32 state02 = 4;
optional int32 state03 = 5;
optional string str01 = 6;
optional string str02 = 7;
optional string str03 = 8;
}
//////////////////////////////////////
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
message SM_DATA_BATTLE_BULLET
{
optional float px =1; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
optional float py =2; //
optional float pz =3; //
optional float yaw =4; // <09><><EFBFBD><EFBFBD>
optional float pitch =5; // <20><><EFBFBD><EFBFBD>
optional int32 damage =6; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
message SM_DATA_WEAPON_DATA
{
int32 weapontype = 1;
int32 currentbullet = 2; // <20><><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD>.
int32 maxbullet = 3; // źâ<C5BA><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA>
}
message SM_REQ_BATTLE_MOVE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
int32 move_speed =11; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 type =12; // <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ȭŸ<C8AD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float aim_yaw =13; //
float aim_pitch =14; //
int32 cur_hp=15; //
int32 shoot_type = 16; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=17;// <20><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 server_time=18; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=19; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_STATUS
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 shoot_type = 8; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=9; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 podcarry = 11; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>.
int32 podcount = 12; // ȹ<><C8B9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
int32 killcount = 13;
int32 deathcount = 14;
int32 assistcount = 15;
int32 damagecount = 16;
}
// <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE>
message SM_REQ_BATTLE_AIM
{
float ang =1; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_yaw =2; // ī<>޶<EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD>
int32 aim_type = 4; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 move_type =5; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20>߰<EFBFBD>
}
// <20>߻<EFBFBD>
message SM_REQ_BATTLE_SHOOT
{
int32 weapontype =1; // <09>߻繫<DFBB><E7B9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 remainbullet = 2; // <20><><EFBFBD><EFBFBD> ź<><C5BA>. : currentbullet
float aim_yaw =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =4; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 aim_type = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 server_time=6; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 7; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
// <20>ǰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> hp<68><70> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. -> ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾Ҵٰ<D2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_DAMAGE
{
int32 damage =1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 cur_hp=2; // <20><><EFBFBD><EFBFBD> <20><>. 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD>.
string attacker=3; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
string victim=4; // <20>ǰ<EFBFBD><C7B0><EFBFBD>.
int32 attack_weapon_type = 5; // <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>Ÿ<EFBFBD><C5B8>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_RELOAD
{
int32 cur_hp=1; //
int32 cur_weapontype=2; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 currentbullet = 3; // źâ<C5BA><C3A2> ź<><C5BA>
int32 maxbullet=4; // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_DODGE
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
int32 dir_id = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_WEAPON_CHANGE
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
message SM_REQ_BATTLE_WEAPON_ADD
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_RESPAWN
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 cur_weapontype=8; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=9; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
message SM_REQ_BATTLE_OBJECT_INTERACTION
{
int32 objecttableid=1; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Table ID
string objectguid=2; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ GUID
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_MANTLE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
float tx =11; //
float ty =12; //
float tz =13; //
int32 height = 14;//
}
// <20>ΰ<EFBFBD><CEB0><EFBFBD> <20>ε<EFBFBD> <20><>
message SM_REQ_BATTLE_FINISHED_LODING
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>غ<EFBFBD><D8BA><EFBFBD> : <20>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â <20><><EFBFBD><EFBFBD> <20><>
message SM_REQ_BATTLE_READY_TO_EXIT
{
}
// <20><><EFBFBD><EFBFBD> Ÿ<>ݿ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ư<EFBFBD>
message SM_REQ_BATTLE_LAUNCH_CHARACTER
{
string guid=1; // <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD> <20><><EFBFBD><EFBFBD>
float vx =2; // LaunchVelocity
float vy =3; //
float vz =4; //
int32 xyoverride = 5;//bXYOverride
int32 zoverride = 6;//bZOverride
}
// Ư<><C6AF> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD><CFB8>̼<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>
message SM_REQ_BATTLE_PLAY_ANIMATION
{
string guid =1; // <20><><EFBFBD><EFBFBD>
int32 type = 2; //
int32 value = 3; //
}
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_HIT_EFFECT
{
string guid =1; // <20><><EFBFBD><EFBFBD>
int32 weapontype = 2; //
int32 hiteffecttype = 3; //
float nx =4; // ImpactNormal
float ny =5; //
float nz =6; //
float px =7; // ImpactPoint
float py =8; //
float pz =9; //
}

View File

@@ -0,0 +1,55 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package protocol;
option csharp_namespace = "Google.Protobuf.CES.Packet";
//import "google/protobuf/timestamp.proto";
enum Protocol{
MOVE_NEXT = 0;
MOVE_COMBINE = 1;
VOICE = 30;
VOICE_STATE = 31;
MUSIC = 40;
MUSICBox = 41;
DANCE = 50;
DANCE_ReqRoomTime = 51;
DANCE_ResRoomTime = 52;
DANCE_StateUpdate = 53;
JUMP = 70;
GUIDE = 80;
PRESENTATION_PAGE = 81;
AIM = 100;
PARTY_MOVE_MEMBER = 110;
BATTLE_MOVE = 120; // 이동,멈춤,점프...
BATTLE_AIM = 121; // 조준.
BATTLE_STATUS = 122; // 현재상태.
BATTLE_MANTLE = 123; // 기어오르기.
BATTLE_SHOOT = 130; // 총알발사.
BATTLE_DAMAGE = 131; // 피격.
BATTLE_RELOAD = 132; // 재장전
BATTLE_DODGE = 133; // 구르기
BATTLE_WEAPON_CHANGE = 134; // 무기교환
BATTLE_WEAPON_ADD = 135; // 무기추가
BATTLE_RESPAWN = 136; // 사망후 리스폰.
BATTLE_OBJECT_INTERACTION = 137; // 오브젝트 인터렉션
BATTLE_FINISHED_LODING = 138; // 인게임 로딩 끝
BATTLE_READY_TO_EXIT = 139; // 인던 나가기 전에 결과창 보는 중
BATTLE_LAUNCH_CHARACTER = 140; // 범위 타격에 의해서 날아감
BATTLE_PLAY_ANIMATION = 141; // 특정 상황에서 에니메이션 실행 할 때
BATTLE_HIT_EFFECT = 142; // 캐릭터나 사물에 이펙트 표시
};
// [END messages]

View File

@@ -0,0 +1,66 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package protocol;
option csharp_namespace = "Google.Protobuf.CES.Packet";
//import "google/protobuf/timestamp.proto";
enum Protocol{
MOVE_NEXT = 0;
MOVE_COMBINE = 1;
VOICE = 30;
VOICE_STATE = 31;
MUSIC = 40;
MUSICBox = 41;
DANCE = 50;
DANCE_ReqRoomTime = 51;
DANCE_ResRoomTime = 52;
DANCE_StateUpdate = 53;
JUMP = 70;
GUIDE = 80;
PRESENTATION_PAGE = 81;
AIM = 100;
PARTY_MOVE_MEMBER = 110;
BATTLE_MOVE = 120; // 이동,멈춤,점프...
BATTLE_AIM = 121; // 조준.
BATTLE_STATUS = 122; // 현재상태.
BATTLE_MANTLE = 123; // 기어오르기.
BATTLE_SHOOT = 130; // 총알발사.
BATTLE_DAMAGE = 131; // 피격.
BATTLE_RELOAD = 132; // 재장전
BATTLE_DODGE = 133; // 구르기
BATTLE_WEAPON_CHANGE = 134; // 무기교환
BATTLE_WEAPON_ADD = 135; // 무기추가
BATTLE_RESPAWN = 136; // 사망후 리스폰.
BATTLE_OBJECT_INTERACTION = 137; // 오브젝트 인터렉션
BATTLE_FINISHED_LODING = 138; // 인게임 로딩 끝
BATTLE_READY_TO_EXIT = 139; // 인던 나가기 전에 결과창 보는 중
BATTLE_LAUNCH_CHARACTER = 140; // 범위 타격에 의해서 날아감
BATTLE_PLAY_ANIMATION = 141; // 특정 상황에서 에니메이션 실행 할 때
BATTLE_HIT_EFFECT = 142; // 캐릭터나 사물에 이펙트 표시
MOB_AI_ATTACK = 200;
MOB_AI_MOVETO = 201;
MOB_AI_FOCUS = 202;
MOB_AI_SYNCVAR = 203;
MOB_AI_SPAWN = 204;
MOB_AI_SHOOT = 205;
MOB_AI_RELOAD = 206;
HOST_ROOM_INFO = 300;
RUNNING_TRIGGER = 301;
};
// [END messages]

View File

@@ -0,0 +1,463 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package Packet;
//import "google/protobuf/timestamp.proto";
// [END declaration]
// [START csharp_declaration]
option csharp_namespace = "Google.Protobuf.CES.Packet";
// [END csharp_declaration]
// [START messages]
message SM_REQ_MOVE_NEXT
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float ang =4; //
optional float movevalue =5; //
optional int32 start =6; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_MOVE_COMBINE
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 move_speed =8; //
optional int32 start =9; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_TRACKING_TYPE
{
optional int32 type =1;
}
message SM_REQ_VOICE
{
optional int32 sampleRate = 1; //
optional int32 numchannels = 2; //
optional int32 PCMSize = 3; //
repeated int32 data = 4;
optional int32 dataSize = 5; //
}
message SM_REQ_MUSICBOX
{
optional string propguid = 1;
optional int32 sampleRate = 2; //
optional int32 numchannels = 3; //
optional int32 PCMSize = 4; //
repeated int32 data = 5;
optional int32 dataSize = 6; //
}
message SM_REQ_JUMP
{
optional float sx =1; //
optional float sy =2; //
optional float sz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 start =8; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_GUIDE
{
optional string guoup =1; //
optional int32 operatorid =2; //
optional int32 guidetype =3; //
}
message SM_REQ_PRESENTATION_PAGE
{
string pageurl =1; //
int32 pageid =2; //
}
message SM_REQ_AIM
{
optional float pitch =1; //
}
message SM_REQ_PARTY_MOVE_MEMBER
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
}
message SM_REQ_VOICE_STATE
{
optional string nickname =1; //
optional int32 state =2; //
}
message SM_REQ_DANCE_INFO
{
optional int32 danceid = 1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
optional int32 motionid = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
optional int32 dancetype = 3; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD>޺<EFBFBD>
optional int64 timestamp = 4; // <20>ð<EFBFBD>
}
message SM_REQ_DANCE_ROOMTIME
{
int64 sendmytime = 1;
}
message SM_SEND_DANCE_ROOMTIME
{
int64 sendroomtime = 1;
string guid = 2;
}
message SM_SEND_DANCE_STATE
{
optional int32 state = 1;
optional int64 sendroomtime = 2;
optional int32 state01 = 3;
optional int32 state02 = 4;
optional int32 state03 = 5;
optional string str01 = 6;
optional string str02 = 7;
optional string str03 = 8;
}
//////////////////////////////////////
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
message SM_DATA_BATTLE_BULLET
{
optional float px =1; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
optional float py =2; //
optional float pz =3; //
optional float yaw =4; // <09><><EFBFBD><EFBFBD>
optional float pitch =5; // <20><><EFBFBD><EFBFBD>
optional int32 damage =6; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
message SM_DATA_WEAPON_DATA
{
int32 weapontype = 1;
int32 currentbullet = 2; // <20><><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD>.
int32 maxbullet = 3; // źâ<C5BA><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA>
}
message SM_REQ_BATTLE_MOVE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
int32 move_speed =11; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 type =12; // <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ȭŸ<C8AD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float aim_yaw =13; //
float aim_pitch =14; //
int32 cur_hp=15; //
int32 shoot_type = 16; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=17;// <20><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 server_time=18; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=19; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_STATUS
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 shoot_type = 8; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=9; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 podcarry = 11; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>.
int32 podcount = 12; // ȹ<><C8B9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
int32 killcount = 13;
int32 deathcount = 14;
int32 assistcount = 15;
int32 damagecount = 16;
}
// <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE>
message SM_REQ_BATTLE_AIM
{
float ang =1; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_yaw =2; // ī<>޶<EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD>
int32 aim_type = 4; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 move_type =5; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20>߰<EFBFBD>
}
// <20>߻<EFBFBD>
message SM_REQ_BATTLE_SHOOT
{
int32 weapontype =1; // <09>߻繫<DFBB><E7B9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 remainbullet = 2; // <20><><EFBFBD><EFBFBD> ź<><C5BA>. : currentbullet
float aim_yaw =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =4; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 aim_type = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 server_time=6; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 7; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
message SM_CHARACTER_KEY
{
int32 type = 1;
string guid = 2;
}
// <20>ǰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> hp<68><70> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. -> ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾Ҵٰ<D2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_DAMAGE
{
int32 damage =1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 cur_hp=2; // <20><><EFBFBD><EFBFBD> <20><>. 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY attacker=3; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY victim=4; // <20>ǰ<EFBFBD><C7B0><EFBFBD>.
int32 attack_weapon_type = 5; // <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>Ÿ<EFBFBD><C5B8>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_RELOAD
{
int32 cur_hp=1; //
int32 cur_weapontype=2; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 currentbullet = 3; // źâ<C5BA><C3A2> ź<><C5BA>
int32 maxbullet=4; // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_DODGE
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
int32 dir_id = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_WEAPON_CHANGE
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
message SM_REQ_BATTLE_WEAPON_ADD
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_RESPAWN
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 cur_weapontype=8; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=9; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
message SM_REQ_BATTLE_OBJECT_INTERACTION
{
int32 objecttableid=1; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Table ID
string objectguid=2; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ GUID
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_MANTLE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
float tx =11; //
float ty =12; //
float tz =13; //
int32 height = 14;//
}
// <20>ΰ<EFBFBD><CEB0><EFBFBD> <20>ε<EFBFBD> <20><>
message SM_REQ_BATTLE_FINISHED_LODING
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>غ<EFBFBD><D8BA><EFBFBD> : <20>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â <20><><EFBFBD><EFBFBD> <20><>
message SM_REQ_BATTLE_READY_TO_EXIT
{
}
// <20><><EFBFBD><EFBFBD> Ÿ<>ݿ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ư<EFBFBD>
message SM_REQ_BATTLE_LAUNCH_CHARACTER
{
SM_CHARACTER_KEY target=1; // <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD> <20><><EFBFBD><EFBFBD>
float vx =2; // LaunchVelocity
float vy =3; //
float vz =4; //
int32 xyoverride = 5;//bXYOverride
int32 zoverride = 6;//bZOverride
}
// Ư<><C6AF> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD><CFB8>̼<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>
message SM_REQ_BATTLE_PLAY_ANIMATION
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 type = 2; //
int32 value = 3; //
}
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_HIT_EFFECT
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 weapontype = 2; //
int32 hiteffecttype = 3; //
float nx =4; // ImpactNormal
float ny =5; //
float nz =6; //
float px =7; // ImpactPoint
float py =8; //
float pz =9; //
}
message SM_MOB_AI_VECTOR
{
float px =1; // ImpactPoint
float py =2; //
float pz =3; //
}
message SM_MOB_AI_AGGRO
{
SM_CHARACTER_KEY target = 1;
int32 aggropoint = 2;
}
message SM_MOB_AI_SYNCDATA
{
string mobguid = 1;
int32 currentAiBehavior = 2;
int32 taskflags = 3;
SM_MOB_AI_VECTOR startLocation = 4;
SM_MOB_AI_VECTOR lastKnownLocation = 5;
SM_MOB_AI_VECTOR lastHearingLocation = 6;
SM_CHARACTER_KEY targetCharacter = 7;
SM_CHARACTER_KEY lastHearingCharacter = 8;
repeated SM_MOB_AI_AGGRO targetCharacterList = 9; //
}
message SM_MOB_AI_ATTACK
{
string mobguid = 1;
float attack_time = 2;
SM_CHARACTER_KEY targetCharacter = 3;
int32 attack_type = 4;
SM_MOB_AI_VECTOR location = 5;
}
// <20>Ѿ<EFBFBD> <20>߻<EFBFBD>.
message SM_MOB_AI_SHOOT
{
string mobguid = 1;
float aim_yaw =2; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 server_time=4; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 5; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_MOB_AI_RELOAD
{
string mobguid = 1;
}
message SM_MOB_AI_FOCUS
{
string mobguid = 1;
int32 focus = 2;
SM_CHARACTER_KEY targetCharacter = 3;
}
message SM_MOB_MOVETO
{
string mobguid = 1;
int32 targetType = 2;
SM_MOB_AI_VECTOR tagetLocation = 3;
float radius = 4;
int32 stop = 5;
float moveSpeed = 6;
}
message SM_MOB_SPAWN
{
string mobguid = 1;
int32 mob_type = 2;
SM_MOB_AI_VECTOR location = 3;
float angle = 4;
string anchorguid = 5;
}
message SM_HOST_ROOM_INFO
{
string Host_GUID = 1;
int32 Room_Start_Time = 2;
}
message SM_RUNNING_TRIGGER
{
string Anchor_GUID = 1;
string User_GUID = 2;
int32 Event_Time = 3;
float force_x = 4;
float force_y = 5;
float force_z = 6;
}

View File

@@ -0,0 +1,63 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package protocol;
option csharp_namespace = "Google.Protobuf.CES.Packet";
//import "google/protobuf/timestamp.proto";
enum Protocol{
MOVE_NEXT = 0;
MOVE_COMBINE = 1;
VOICE = 30;
VOICE_STATE = 31;
MUSIC = 40;
MUSICBox = 41;
DANCE = 50;
DANCE_ReqRoomTime = 51;
DANCE_ResRoomTime = 52;
DANCE_StateUpdate = 53;
JUMP = 70;
GUIDE = 80;
PRESENTATION_PAGE = 81;
AIM = 100;
PARTY_MOVE_MEMBER = 110;
BATTLE_MOVE = 120; // 이동,멈춤,점프...
BATTLE_AIM = 121; // 조준.
BATTLE_STATUS = 122; // 현재상태.
BATTLE_MANTLE = 123; // 기어오르기.
BATTLE_SHOOT = 130; // 총알발사.
BATTLE_DAMAGE = 131; // 피격.
BATTLE_RELOAD = 132; // 재장전
BATTLE_DODGE = 133; // 구르기
BATTLE_WEAPON_CHANGE = 134; // 무기교환
BATTLE_WEAPON_ADD = 135; // 무기추가
BATTLE_RESPAWN = 136; // 사망후 리스폰.
BATTLE_OBJECT_INTERACTION = 137; // 오브젝트 인터렉션
BATTLE_FINISHED_LODING = 138; // 인게임 로딩 끝
BATTLE_READY_TO_EXIT = 139; // 인던 나가기 전에 결과창 보는 중
BATTLE_LAUNCH_CHARACTER = 140; // 범위 타격에 의해서 날아감
BATTLE_PLAY_ANIMATION = 141; // 특정 상황에서 에니메이션 실행 할 때
BATTLE_HIT_EFFECT = 142; // 캐릭터나 사물에 이펙트 표시
MOB_AI_ATTACK = 200;
MOB_AI_MOVETO = 201;
MOB_AI_FOCUS = 202;
MOB_AI_SYNCVAR = 203;
MOB_AI_SPAWN = 204;
HOST_ROOM_INFO = 300;
};
// [END messages]

View File

@@ -0,0 +1,438 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package Packet;
//import "google/protobuf/timestamp.proto";
// [END declaration]
// [START csharp_declaration]
option csharp_namespace = "Google.Protobuf.CES.Packet";
// [END csharp_declaration]
// [START messages]
message SM_REQ_MOVE_NEXT
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float ang =4; //
optional float movevalue =5; //
optional int32 start =6; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_MOVE_COMBINE
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 move_speed =8; //
optional int32 start =9; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_TRACKING_TYPE
{
optional int32 type =1;
}
message SM_REQ_VOICE
{
optional int32 sampleRate = 1; //
optional int32 numchannels = 2; //
optional int32 PCMSize = 3; //
repeated int32 data = 4;
optional int32 dataSize = 5; //
}
message SM_REQ_MUSICBOX
{
optional string propguid = 1;
optional int32 sampleRate = 2; //
optional int32 numchannels = 3; //
optional int32 PCMSize = 4; //
repeated int32 data = 5;
optional int32 dataSize = 6; //
}
message SM_REQ_JUMP
{
optional float sx =1; //
optional float sy =2; //
optional float sz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 start =8; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_GUIDE
{
optional string guoup =1; //
optional int32 operatorid =2; //
optional int32 guidetype =3; //
}
message SM_REQ_PRESENTATION_PAGE
{
string pageurl =1; //
int32 pageid =2; //
}
message SM_REQ_AIM
{
optional float pitch =1; //
}
message SM_REQ_PARTY_MOVE_MEMBER
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
}
message SM_REQ_VOICE_STATE
{
optional string nickname =1; //
optional int32 state =2; //
}
message SM_REQ_DANCE_INFO
{
optional int32 danceid = 1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
optional int32 motionid = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
optional int32 dancetype = 3; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD>޺<EFBFBD>
optional int64 timestamp = 4; // <20>ð<EFBFBD>
}
message SM_REQ_DANCE_ROOMTIME
{
int64 sendmytime = 1;
}
message SM_SEND_DANCE_ROOMTIME
{
int64 sendroomtime = 1;
string guid = 2;
}
message SM_SEND_DANCE_STATE
{
optional int32 state = 1;
optional int64 sendroomtime = 2;
optional int32 state01 = 3;
optional int32 state02 = 4;
optional int32 state03 = 5;
optional string str01 = 6;
optional string str02 = 7;
optional string str03 = 8;
}
//////////////////////////////////////
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
message SM_DATA_BATTLE_BULLET
{
optional float px =1; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
optional float py =2; //
optional float pz =3; //
optional float yaw =4; // <09><><EFBFBD><EFBFBD>
optional float pitch =5; // <20><><EFBFBD><EFBFBD>
optional int32 damage =6; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
message SM_DATA_WEAPON_DATA
{
int32 weapontype = 1;
int32 currentbullet = 2; // <20><><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD>.
int32 maxbullet = 3; // źâ<C5BA><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA>
}
message SM_REQ_BATTLE_MOVE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
int32 move_speed =11; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 type =12; // <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ȭŸ<C8AD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float aim_yaw =13; //
float aim_pitch =14; //
int32 cur_hp=15; //
int32 shoot_type = 16; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=17;// <20><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 server_time=18; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=19; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
string on_hurdle_guid = 20; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD> guid
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_STATUS
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 shoot_type = 8; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=9; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 podcarry = 11; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>.
int32 podcount = 12; // ȹ<><C8B9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
int32 killcount = 13;
int32 deathcount = 14;
int32 assistcount = 15;
int32 damagecount = 16;
}
// <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE>
message SM_REQ_BATTLE_AIM
{
float ang =1; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_yaw =2; // ī<>޶<EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD>
int32 aim_type = 4; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 move_type =5; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20>߰<EFBFBD>
}
// <20>߻<EFBFBD>
message SM_REQ_BATTLE_SHOOT
{
int32 weapontype =1; // <09>߻繫<DFBB><E7B9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 remainbullet = 2; // <20><><EFBFBD><EFBFBD> ź<><C5BA>. : currentbullet
float aim_yaw =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =4; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 aim_type = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 server_time=6; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 7; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
message SM_CHARACTER_KEY
{
int32 type = 1;
string guid = 2;
}
// <20>ǰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> hp<68><70> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. -> ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾Ҵٰ<D2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_DAMAGE
{
int32 damage =1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 cur_hp=2; // <20><><EFBFBD><EFBFBD> <20><>. 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY attacker=3; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY victim=4; // <20>ǰ<EFBFBD><C7B0><EFBFBD>.
int32 attack_weapon_type = 5; // <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>Ÿ<EFBFBD><C5B8>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_RELOAD
{
int32 cur_hp=1; //
int32 cur_weapontype=2; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 currentbullet = 3; // źâ<C5BA><C3A2> ź<><C5BA>
int32 maxbullet=4; // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_DODGE
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
int32 dir_id = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_WEAPON_CHANGE
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
message SM_REQ_BATTLE_WEAPON_ADD
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_RESPAWN
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 cur_weapontype=8; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=9; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
message SM_REQ_BATTLE_OBJECT_INTERACTION
{
int32 objecttableid=1; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Table ID
string objectguid=2; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ GUID
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_MANTLE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
float tx =11; //
float ty =12; //
float tz =13; //
int32 height = 14;//
}
// <20>ΰ<EFBFBD><CEB0><EFBFBD> <20>ε<EFBFBD> <20><>
message SM_REQ_BATTLE_FINISHED_LODING
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>غ<EFBFBD><D8BA><EFBFBD> : <20>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â <20><><EFBFBD><EFBFBD> <20><>
message SM_REQ_BATTLE_READY_TO_EXIT
{
}
// <20><><EFBFBD><EFBFBD> Ÿ<>ݿ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ư<EFBFBD>
message SM_REQ_BATTLE_LAUNCH_CHARACTER
{
SM_CHARACTER_KEY target=1; // <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD> <20><><EFBFBD><EFBFBD>
float vx =2; // LaunchVelocity
float vy =3; //
float vz =4; //
int32 xyoverride = 5;//bXYOverride
int32 zoverride = 6;//bZOverride
}
// Ư<><C6AF> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD><CFB8>̼<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>
message SM_REQ_BATTLE_PLAY_ANIMATION
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 type = 2; //
int32 value = 3; //
}
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_HIT_EFFECT
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 weapontype = 2; //
int32 hiteffecttype = 3; //
float nx =4; // ImpactNormal
float ny =5; //
float nz =6; //
float px =7; // ImpactPoint
float py =8; //
float pz =9; //
}
message SM_MOB_AI_VECTOR
{
float px =1; // ImpactPoint
float py =2; //
float pz =3; //
}
message SM_MOB_AI_AGGRO
{
SM_CHARACTER_KEY target = 1;
int32 aggropoint = 2;
}
message SM_MOB_AI_SYNCDATA
{
string mobguid = 1;
int32 currentAiBehavior = 2;
int32 taskflags = 3;
SM_MOB_AI_VECTOR startLocation = 4;
SM_MOB_AI_VECTOR lastKnownLocation = 5;
SM_MOB_AI_VECTOR lastHearingLocation = 6;
SM_CHARACTER_KEY targetCharacter = 7;
SM_CHARACTER_KEY lastHearingCharacter = 8;
repeated SM_MOB_AI_AGGRO targetCharacterList = 9; //
}
message SM_MOB_AI_ATTACK
{
string mobguid = 1;
float attack_time = 2;
SM_CHARACTER_KEY targetCharacter = 3;
int32 attack_type = 4;
SM_MOB_AI_VECTOR location = 5;
}
message SM_MOB_AI_FOCUS
{
string mobguid = 1;
int32 focus = 2;
SM_CHARACTER_KEY targetCharacter = 3;
}
message SM_MOB_MOVETO
{
string mobguid = 1;
int32 targetType = 2;
SM_MOB_AI_VECTOR tagetLocation = 3;
float radius = 4;
int32 stop = 5;
float moveSpeed = 6;
}
message SM_MOB_SPAWN
{
string mobguid = 1;
int32 mob_type = 2;
SM_MOB_AI_VECTOR location = 3;
float angle = 4;
string anchorguid = 5;
}
message SM_HOST_ROOM_INFO
{
string Host_GUID = 1;
int32 Room_Start_Time = 2;
}

Binary file not shown.

View File

View File

@@ -0,0 +1,463 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package Packet;
//import "google/protobuf/timestamp.proto";
// [END declaration]
// [START csharp_declaration]
option csharp_namespace = "Google.Protobuf.CES.Packet";
// [END csharp_declaration]
// [START messages]
message SM_REQ_MOVE_NEXT
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float ang =4; //
optional float movevalue =5; //
optional int32 start =6; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_MOVE_COMBINE
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 move_speed =8; //
optional int32 start =9; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_TRACKING_TYPE
{
optional int32 type =1;
}
message SM_REQ_VOICE
{
optional int32 sampleRate = 1; //
optional int32 numchannels = 2; //
optional int32 PCMSize = 3; //
repeated int32 data = 4;
optional int32 dataSize = 5; //
}
message SM_REQ_MUSICBOX
{
optional string propguid = 1;
optional int32 sampleRate = 2; //
optional int32 numchannels = 3; //
optional int32 PCMSize = 4; //
repeated int32 data = 5;
optional int32 dataSize = 6; //
}
message SM_REQ_JUMP
{
optional float sx =1; //
optional float sy =2; //
optional float sz =3; //
optional float lx =4; //
optional float ly =5; //
optional float lz =6; //
optional float ang =7; //
optional int32 start =8; // ù <20>̵<EFBFBD><CCB5≯<EFBFBD> true <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>θ<EFBFBD> false
}
message SM_REQ_GUIDE
{
optional string guoup =1; //
optional int32 operatorid =2; //
optional int32 guidetype =3; //
}
message SM_REQ_PRESENTATION_PAGE
{
string pageurl =1; //
int32 pageid =2; //
}
message SM_REQ_AIM
{
optional float pitch =1; //
}
message SM_REQ_PARTY_MOVE_MEMBER
{
optional float px =1; //
optional float py =2; //
optional float pz =3; //
}
message SM_REQ_VOICE_STATE
{
optional string nickname =1; //
optional int32 state =2; //
}
message SM_REQ_DANCE_INFO
{
optional int32 danceid = 1; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>
optional int32 motionid = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
optional int32 dancetype = 3; // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD>޺<EFBFBD>
optional int64 timestamp = 4; // <20>ð<EFBFBD>
}
message SM_REQ_DANCE_ROOMTIME
{
int64 sendmytime = 1;
}
message SM_SEND_DANCE_ROOMTIME
{
int64 sendroomtime = 1;
string guid = 2;
}
message SM_SEND_DANCE_STATE
{
optional int32 state = 1;
optional int64 sendroomtime = 2;
optional int32 state01 = 3;
optional int32 state02 = 4;
optional int32 state03 = 5;
optional string str01 = 6;
optional string str02 = 7;
optional string str03 = 8;
}
//////////////////////////////////////
// <20>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
message SM_DATA_BATTLE_BULLET
{
optional float px =1; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
optional float py =2; //
optional float pz =3; //
optional float yaw =4; // <09><><EFBFBD><EFBFBD>
optional float pitch =5; // <20><><EFBFBD><EFBFBD>
optional int32 damage =6; // <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
message SM_DATA_WEAPON_DATA
{
int32 weapontype = 1;
int32 currentbullet = 2; // <20><><EFBFBD><EFBFBD> <20>Ѿ<EFBFBD>.
int32 maxbullet = 3; // źâ<C5BA><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA>
}
message SM_REQ_BATTLE_MOVE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
int32 move_speed =11; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 type =12; // <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>ȭŸ<C8AD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float aim_yaw =13; //
float aim_pitch =14; //
int32 cur_hp=15; //
int32 shoot_type = 16; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=17;// <20><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 server_time=18; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=19; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_STATUS
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 shoot_type = 8; // <20>ѱ<EFBFBD><D1B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
int32 cur_weapontype=9; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=10; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 podcarry = 11; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>.
int32 podcount = 12; // ȹ<><C8B9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
int32 killcount = 13;
int32 deathcount = 14;
int32 assistcount = 15;
int32 damagecount = 16;
}
// <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE>
message SM_REQ_BATTLE_AIM
{
float ang =1; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_yaw =2; // ī<>޶<EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD>
int32 aim_type = 4; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 move_type =5; // <20>̵<EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20>߰<EFBFBD>
}
// <20>߻<EFBFBD>
message SM_REQ_BATTLE_SHOOT
{
int32 weapontype =1; // <09>߻繫<DFBB><E7B9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 remainbullet = 2; // <20><><EFBFBD><EFBFBD> ź<><C5BA>. : currentbullet
float aim_yaw =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =4; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 aim_type = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
int32 server_time=6; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 7; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
message SM_CHARACTER_KEY
{
int32 type = 1;
string guid = 2;
}
// <20>ǰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> hp<68><70> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. -> ȣ<><C8A3>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>¾Ҵٰ<D2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_DAMAGE
{
int32 damage =1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int32 cur_hp=2; // <20><><EFBFBD><EFBFBD> <20><>. 0<≯<EFBFBD> <20><><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY attacker=3; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
SM_CHARACTER_KEY victim=4; // <20>ǰ<EFBFBD><C7B0><EFBFBD>.
int32 attack_weapon_type = 5; // <20><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>Ÿ<EFBFBD><C5B8>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_RELOAD
{
int32 cur_hp=1; //
int32 cur_weapontype=2; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
int32 currentbullet = 3; // źâ<C5BA><C3A2> ź<><C5BA>
int32 maxbullet=4; // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_DODGE
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
int32 dir_id = 5; // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_WEAPON_CHANGE
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
message SM_REQ_BATTLE_WEAPON_ADD
{
int32 cur_weapontype=1; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=2; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_RESPAWN
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
float aim_yaw =5; //
float aim_pitch =6; // ī<>޶<EFBFBD>
int32 cur_hp=7; //
int32 cur_weapontype=8; //<2F><><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>ȭ <20><><EFBFBD><EFBFBD>
repeated SM_DATA_WEAPON_DATA weapontypes=9; //<2F><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
message SM_REQ_BATTLE_OBJECT_INTERACTION
{
int32 objecttableid=1; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ Table ID
string objectguid=2; // <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD> <20><>Ʋ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ GUID
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
message SM_REQ_BATTLE_MANTLE
{
float px =1; //
float py =2; //
float pz =3; //
float lx =4; //
float ly =5; //
float lz =6; //
float vx =7; //
float vy =8; //
float vz =9; //
float ang =10; //
float tx =11; //
float ty =12; //
float tz =13; //
int32 height = 14;//
}
// <20>ΰ<EFBFBD><CEB0><EFBFBD> <20>ε<EFBFBD> <20><>
message SM_REQ_BATTLE_FINISHED_LODING
{
float px =1; //
float py =2; //
float pz =3; //
float ang =4; //
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>غ<EFBFBD><D8BA><EFBFBD> : <20>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>â <20><><EFBFBD><EFBFBD> <20><>
message SM_REQ_BATTLE_READY_TO_EXIT
{
}
// <20><><EFBFBD><EFBFBD> Ÿ<>ݿ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ư<EFBFBD>
message SM_REQ_BATTLE_LAUNCH_CHARACTER
{
SM_CHARACTER_KEY target=1; // <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD> <20><><EFBFBD><EFBFBD>
float vx =2; // LaunchVelocity
float vy =3; //
float vz =4; //
int32 xyoverride = 5;//bXYOverride
int32 zoverride = 6;//bZOverride
}
// Ư<><C6AF> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD><CFB8>̼<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>
message SM_REQ_BATTLE_PLAY_ANIMATION
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 type = 2; //
int32 value = 3; //
}
// <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
message SM_REQ_BATTLE_HIT_EFFECT
{
SM_CHARACTER_KEY target =1; // <20><><EFBFBD><EFBFBD>
int32 weapontype = 2; //
int32 hiteffecttype = 3; //
float nx =4; // ImpactNormal
float ny =5; //
float nz =6; //
float px =7; // ImpactPoint
float py =8; //
float pz =9; //
}
message SM_MOB_AI_VECTOR
{
float px =1; // ImpactPoint
float py =2; //
float pz =3; //
}
message SM_MOB_AI_AGGRO
{
SM_CHARACTER_KEY target = 1;
int32 aggropoint = 2;
}
message SM_MOB_AI_SYNCDATA
{
string mobguid = 1;
int32 currentAiBehavior = 2;
int32 taskflags = 3;
SM_MOB_AI_VECTOR startLocation = 4;
SM_MOB_AI_VECTOR lastKnownLocation = 5;
SM_MOB_AI_VECTOR lastHearingLocation = 6;
SM_CHARACTER_KEY targetCharacter = 7;
SM_CHARACTER_KEY lastHearingCharacter = 8;
repeated SM_MOB_AI_AGGRO targetCharacterList = 9; //
}
message SM_MOB_AI_ATTACK
{
string mobguid = 1;
float attack_time = 2;
SM_CHARACTER_KEY targetCharacter = 3;
int32 attack_type = 4;
SM_MOB_AI_VECTOR location = 5;
}
// <20>Ѿ<EFBFBD> <20>߻<EFBFBD>.
message SM_MOB_AI_SHOOT
{
string mobguid = 1;
float aim_yaw =2; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
float aim_pitch =3; // ī<>޶<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 server_time=4; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
repeated SM_DATA_BATTLE_BULLET bullets = 5; // <20>߻<EFBFBD><DFBB>Ѿ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC>ִ<EFBFBD>.
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
message SM_MOB_AI_RELOAD
{
string mobguid = 1;
}
message SM_MOB_AI_FOCUS
{
string mobguid = 1;
int32 focus = 2;
SM_CHARACTER_KEY targetCharacter = 3;
}
message SM_MOB_MOVETO
{
string mobguid = 1;
int32 targetType = 2;
SM_MOB_AI_VECTOR tagetLocation = 3;
float radius = 4;
int32 stop = 5;
float moveSpeed = 6;
}
message SM_MOB_SPAWN
{
string mobguid = 1;
int32 mob_type = 2;
SM_MOB_AI_VECTOR location = 3;
float angle = 4;
string anchorguid = 5;
}
message SM_HOST_ROOM_INFO
{
string Host_GUID = 1;
int32 Room_Start_Time = 2;
}
message SM_RUNNING_TRIGGER
{
string Anchor_GUID = 1;
string User_GUID = 2;
int32 Event_Time = 3;
float force_x = 4;
float force_y = 5;
float force_z = 6;
}

View File

@@ -0,0 +1,66 @@
// See README.txt for information and build instructions.
//
// Note: START and END tags are used in comments to define sections used in
// tutorials. They are not part of the syntax for Protocol Buffers.
//
// To get an in-depth walkthrough of this file and the related examples, see:
// https://developers.google.com/protocol-buffers/docs/tutorials
// [START declaration]
syntax = "proto3";
package protocol;
option csharp_namespace = "Google.Protobuf.CES.Packet";
//import "google/protobuf/timestamp.proto";
enum Protocol{
MOVE_NEXT = 0;
MOVE_COMBINE = 1;
VOICE = 30;
VOICE_STATE = 31;
MUSIC = 40;
MUSICBox = 41;
DANCE = 50;
DANCE_ReqRoomTime = 51;
DANCE_ResRoomTime = 52;
DANCE_StateUpdate = 53;
JUMP = 70;
GUIDE = 80;
PRESENTATION_PAGE = 81;
AIM = 100;
PARTY_MOVE_MEMBER = 110;
BATTLE_MOVE = 120; // 이동,멈춤,점프...
BATTLE_AIM = 121; // 조준.
BATTLE_STATUS = 122; // 현재상태.
BATTLE_MANTLE = 123; // 기어오르기.
BATTLE_SHOOT = 130; // 총알발사.
BATTLE_DAMAGE = 131; // 피격.
BATTLE_RELOAD = 132; // 재장전
BATTLE_DODGE = 133; // 구르기
BATTLE_WEAPON_CHANGE = 134; // 무기교환
BATTLE_WEAPON_ADD = 135; // 무기추가
BATTLE_RESPAWN = 136; // 사망후 리스폰.
BATTLE_OBJECT_INTERACTION = 137; // 오브젝트 인터렉션
BATTLE_FINISHED_LODING = 138; // 인게임 로딩 끝
BATTLE_READY_TO_EXIT = 139; // 인던 나가기 전에 결과창 보는 중
BATTLE_LAUNCH_CHARACTER = 140; // 범위 타격에 의해서 날아감
BATTLE_PLAY_ANIMATION = 141; // 특정 상황에서 에니메이션 실행 할 때
BATTLE_HIT_EFFECT = 142; // 캐릭터나 사물에 이펙트 표시
MOB_AI_ATTACK = 200;
MOB_AI_MOVETO = 201;
MOB_AI_FOCUS = 202;
MOB_AI_SYNCVAR = 203;
MOB_AI_SPAWN = 204;
MOB_AI_SHOOT = 205;
MOB_AI_RELOAD = 206;
HOST_ROOM_INFO = 300;
RUNNING_TRIGGER = 301;
};
// [END messages]

View File

@@ -0,0 +1,32 @@
@echo off
cd /d %~dp0client-proto
rem ===============================================================================================
rem CSharp 코드 생성 및 출력
rem ===============================================================================================
set protoc_exe=..\..\..\ThirdPartyPackages\protobuf\3.21.12\bin\protoc.exe
set proto_out=..\out-client-Proto\
del %proto_out% /q /f
if %ERRORLEVEL% NEQ 0 (
popd .
echo Failed to DEL from Proto out path !!! - Path : [%proto_out%] !!!
goto ERROR
)
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Packet.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Protocol.proto
rem 모든 처리 과정을 성공 했으면 종료 한다.
:OK
EXIT /B 0
rem 모든 처리 과정중에 오류가 발생했으면 즉시 종료 한다.
:ERROR
echo ERROR !!! - Client ProtoBuf Generation Failed - ErrorCode : %ERRORLEVEL%
EXIT /B %ERRORLEVEL%

View File

@@ -0,0 +1,34 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Auth_Protocol.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
/// <summary>Holder for reflection information generated from Auth_Protocol.proto</summary>
public static partial class AuthProtocolReflection {
#region Descriptor
/// <summary>File descriptor for Auth_Protocol.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static AuthProtocolReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChNBdXRoX1Byb3RvY29sLnByb3RvYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, null, null));
}
#endregion
}
#endregion Designer generated code

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Community_Protocol.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
/// <summary>Holder for reflection information generated from Community_Protocol.proto</summary>
public static partial class CommunityProtocolReflection {
#region Descriptor
/// <summary>File descriptor for Community_Protocol.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static CommunityProtocolReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChhDb21tdW5pdHlfUHJvdG9jb2wucHJvdG9iBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, null, null));
}
#endregion
}
#endregion Designer generated code

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,54 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Define_Meta.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
/// <summary>Holder for reflection information generated from Define_Meta.proto</summary>
public static partial class DefineMetaReflection {
#region Descriptor
/// <summary>File descriptor for Define_Meta.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static DefineMetaReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChFEZWZpbmVfTWV0YS5wcm90bxoTRGVmaW5lX0NvbW1vbi5wcm90bypjCg9D",
"b25zdGFudEtleVR5cGUSGAoUQ29uc3RhbnRLZXlUeXBlX05vbmUQABI2CjJD",
"b25zdGFudEtleVR5cGVfRGVmYXVsdEVudHJ5V29ybGRJZFdoZW5Mb2dpblRv",
"QXV0aBABYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::DefineCommonReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ConstantKeyType), }, null, null));
}
#endregion
}
#region Enums
/// <summary>
///=============================================================================================
/// GameConfigData <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Key Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
/// ConstantKeyType <20><> <20><><EFBFBD><EFBFBD> <20>ڵ忡<DAB5><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<>Ը<EFBFBD><D4B8><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><>ȯ<EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>Ѵ<EFBFBD>. - kangms
///=============================================================================================
/// </summary>
public enum ConstantKeyType {
[pbr::OriginalName("ConstantKeyType_None")] None = 0,
/// <summary>
/// <20>α<EFBFBD><CEB1>ν<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⺻ Id
/// </summary>
[pbr::OriginalName("ConstantKeyType_DefaultEntryWorldIdWhenLoginToAuth")] DefaultEntryWorldIdWhenLoginToAuth = 1,
}
#endregion
#endregion Designer generated code

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,388 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Game_Protocol.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
/// <summary>Holder for reflection information generated from Game_Protocol.proto</summary>
public static partial class GameProtocolReflection {
#region Descriptor
/// <summary>File descriptor for Game_Protocol.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static GameProtocolReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChNHYW1lX1Byb3RvY29sLnByb3RvGhpHYW1lX1Byb3RvY29sX0RlZmluZS5w",
"cm90byKKAQoMR2FtZVByb3RvY29sEiUKCXJlcVBhY2tldBgBIAEoCzIQLkMy",
"R1NfUkVRX1BBQ0tFVEgAEiUKCWFja1BhY2tldBgCIAEoCzIQLkdTMkNfQUNL",
"X1BBQ0tFVEgAEiUKCW50ZlBhY2tldBgDIAEoCzIQLkdDMkNfTlRGX1BBQ0tF",
"VEgAQgUKA21zZ2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::GameProtocolDefineReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::GameProtocol), global::GameProtocol.Parser, new[]{ "ReqPacket", "AckPacket", "NtfPacket" }, new[]{ "Msg" }, null, null, null)
}));
}
#endregion
}
#region Messages
/// <summary>
///===============================================================================================
/// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
/// <20>ϴ<EFBFBD> MS5 <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>׽<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31>(REQ, ACK, NTF) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD>. - kangms
///===============================================================================================
/// </summary>
[global::System.SerializableAttribute]
public sealed partial class GameProtocol : pb::IMessage<GameProtocol>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<GameProtocol> _parser = new pb::MessageParser<GameProtocol>(() => new GameProtocol());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<GameProtocol> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::GameProtocolReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GameProtocol() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GameProtocol(GameProtocol other) : this() {
switch (other.MsgCase) {
case MsgOneofCase.ReqPacket:
ReqPacket = other.ReqPacket.Clone();
break;
case MsgOneofCase.AckPacket:
AckPacket = other.AckPacket.Clone();
break;
case MsgOneofCase.NtfPacket:
NtfPacket = other.NtfPacket.Clone();
break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GameProtocol Clone() {
return new GameProtocol(this);
}
/// <summary>Field number for the "reqPacket" field.</summary>
public const int ReqPacketFieldNumber = 1;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::C2GS_REQ_PACKET ReqPacket {
get { return msgCase_ == MsgOneofCase.ReqPacket ? (global::C2GS_REQ_PACKET) msg_ : null; }
set {
msg_ = value;
msgCase_ = value == null ? MsgOneofCase.None : MsgOneofCase.ReqPacket;
}
}
/// <summary>Field number for the "ackPacket" field.</summary>
public const int AckPacketFieldNumber = 2;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::GS2C_ACK_PACKET AckPacket {
get { return msgCase_ == MsgOneofCase.AckPacket ? (global::GS2C_ACK_PACKET) msg_ : null; }
set {
msg_ = value;
msgCase_ = value == null ? MsgOneofCase.None : MsgOneofCase.AckPacket;
}
}
/// <summary>Field number for the "ntfPacket" field.</summary>
public const int NtfPacketFieldNumber = 3;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::GC2C_NTF_PACKET NtfPacket {
get { return msgCase_ == MsgOneofCase.NtfPacket ? (global::GC2C_NTF_PACKET) msg_ : null; }
set {
msg_ = value;
msgCase_ = value == null ? MsgOneofCase.None : MsgOneofCase.NtfPacket;
}
}
private object msg_;
/// <summary>Enum of possible cases for the "msg" oneof.</summary>
public enum MsgOneofCase {
None = 0,
ReqPacket = 1,
AckPacket = 2,
NtfPacket = 3,
}
private MsgOneofCase msgCase_ = MsgOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public MsgOneofCase MsgCase {
get { return msgCase_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMsg() {
msgCase_ = MsgOneofCase.None;
msg_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as GameProtocol);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(GameProtocol other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(ReqPacket, other.ReqPacket)) return false;
if (!object.Equals(AckPacket, other.AckPacket)) return false;
if (!object.Equals(NtfPacket, other.NtfPacket)) return false;
if (MsgCase != other.MsgCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (msgCase_ == MsgOneofCase.ReqPacket) hash ^= ReqPacket.GetHashCode();
if (msgCase_ == MsgOneofCase.AckPacket) hash ^= AckPacket.GetHashCode();
if (msgCase_ == MsgOneofCase.NtfPacket) hash ^= NtfPacket.GetHashCode();
hash ^= (int) msgCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (msgCase_ == MsgOneofCase.ReqPacket) {
output.WriteRawTag(10);
output.WriteMessage(ReqPacket);
}
if (msgCase_ == MsgOneofCase.AckPacket) {
output.WriteRawTag(18);
output.WriteMessage(AckPacket);
}
if (msgCase_ == MsgOneofCase.NtfPacket) {
output.WriteRawTag(26);
output.WriteMessage(NtfPacket);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (msgCase_ == MsgOneofCase.ReqPacket) {
output.WriteRawTag(10);
output.WriteMessage(ReqPacket);
}
if (msgCase_ == MsgOneofCase.AckPacket) {
output.WriteRawTag(18);
output.WriteMessage(AckPacket);
}
if (msgCase_ == MsgOneofCase.NtfPacket) {
output.WriteRawTag(26);
output.WriteMessage(NtfPacket);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (msgCase_ == MsgOneofCase.ReqPacket) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ReqPacket);
}
if (msgCase_ == MsgOneofCase.AckPacket) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(AckPacket);
}
if (msgCase_ == MsgOneofCase.NtfPacket) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(NtfPacket);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(GameProtocol other) {
if (other == null) {
return;
}
switch (other.MsgCase) {
case MsgOneofCase.ReqPacket:
if (ReqPacket == null) {
ReqPacket = new global::C2GS_REQ_PACKET();
}
ReqPacket.MergeFrom(other.ReqPacket);
break;
case MsgOneofCase.AckPacket:
if (AckPacket == null) {
AckPacket = new global::GS2C_ACK_PACKET();
}
AckPacket.MergeFrom(other.AckPacket);
break;
case MsgOneofCase.NtfPacket:
if (NtfPacket == null) {
NtfPacket = new global::GC2C_NTF_PACKET();
}
NtfPacket.MergeFrom(other.NtfPacket);
break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
global::C2GS_REQ_PACKET subBuilder = new global::C2GS_REQ_PACKET();
if (msgCase_ == MsgOneofCase.ReqPacket) {
subBuilder.MergeFrom(ReqPacket);
}
input.ReadMessage(subBuilder);
ReqPacket = subBuilder;
break;
}
case 18: {
global::GS2C_ACK_PACKET subBuilder = new global::GS2C_ACK_PACKET();
if (msgCase_ == MsgOneofCase.AckPacket) {
subBuilder.MergeFrom(AckPacket);
}
input.ReadMessage(subBuilder);
AckPacket = subBuilder;
break;
}
case 26: {
global::GC2C_NTF_PACKET subBuilder = new global::GC2C_NTF_PACKET();
if (msgCase_ == MsgOneofCase.NtfPacket) {
subBuilder.MergeFrom(NtfPacket);
}
input.ReadMessage(subBuilder);
NtfPacket = subBuilder;
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
global::C2GS_REQ_PACKET subBuilder = new global::C2GS_REQ_PACKET();
if (msgCase_ == MsgOneofCase.ReqPacket) {
subBuilder.MergeFrom(ReqPacket);
}
input.ReadMessage(subBuilder);
ReqPacket = subBuilder;
break;
}
case 18: {
global::GS2C_ACK_PACKET subBuilder = new global::GS2C_ACK_PACKET();
if (msgCase_ == MsgOneofCase.AckPacket) {
subBuilder.MergeFrom(AckPacket);
}
input.ReadMessage(subBuilder);
AckPacket = subBuilder;
break;
}
case 26: {
global::GC2C_NTF_PACKET subBuilder = new global::GC2C_NTF_PACKET();
if (msgCase_ == MsgOneofCase.NtfPacket) {
subBuilder.MergeFrom(NtfPacket);
}
input.ReadMessage(subBuilder);
NtfPacket = subBuilder;
break;
}
}
}
}
#endif
}
#endregion
#endregion Designer generated code

View File

@@ -0,0 +1,615 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Game_Protocol_Define.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
/// <summary>Holder for reflection information generated from Game_Protocol_Define.proto</summary>
public static partial class GameProtocolDefineReflection {
#region Descriptor
/// <summary>File descriptor for Game_Protocol_Define.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static GameProtocolDefineReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChpHYW1lX1Byb3RvY29sX0RlZmluZS5wcm90bxoTRGVmaW5lX0NvbW1vbi5w",
"cm90bxoTRGVmaW5lX1Jlc3VsdC5wcm90bxoRR2FtZV9EZWZpbmUucHJvdG8i",
"HQoPQzJHU19SRVFfUEFDS0VUEgoKAmlkGAEgASgFIh0KD0dTMkNfQUNLX1BB",
"Q0tFVBIKCgJpZBgBIAEoBSIdCg9HQzJDX05URl9QQUNLRVQSCgoCaWQYASAB",
"KAViBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::DefineCommonReflection.Descriptor, global::DefineResultReflection.Descriptor, global::GameDefineReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::C2GS_REQ_PACKET), global::C2GS_REQ_PACKET.Parser, new[]{ "Id" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::GS2C_ACK_PACKET), global::GS2C_ACK_PACKET.Parser, new[]{ "Id" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::GC2C_NTF_PACKET), global::GC2C_NTF_PACKET.Parser, new[]{ "Id" }, null, null, null, null)
}));
}
#endregion
}
#region Messages
[global::System.SerializableAttribute]
public sealed partial class C2GS_REQ_PACKET : pb::IMessage<C2GS_REQ_PACKET>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<C2GS_REQ_PACKET> _parser = new pb::MessageParser<C2GS_REQ_PACKET>(() => new C2GS_REQ_PACKET());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<C2GS_REQ_PACKET> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::GameProtocolDefineReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public C2GS_REQ_PACKET() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public C2GS_REQ_PACKET(C2GS_REQ_PACKET other) : this() {
id_ = other.id_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public C2GS_REQ_PACKET Clone() {
return new C2GS_REQ_PACKET(this);
}
/// <summary>Field number for the "id" field.</summary>
public const int IdFieldNumber = 1;
private int id_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int Id {
get { return id_; }
set {
id_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as C2GS_REQ_PACKET);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(C2GS_REQ_PACKET other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Id != other.Id) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (Id != 0) hash ^= Id.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (Id != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(C2GS_REQ_PACKET other) {
if (other == null) {
return;
}
if (other.Id != 0) {
Id = other.Id;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
}
#endif
}
[global::System.SerializableAttribute]
public sealed partial class GS2C_ACK_PACKET : pb::IMessage<GS2C_ACK_PACKET>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<GS2C_ACK_PACKET> _parser = new pb::MessageParser<GS2C_ACK_PACKET>(() => new GS2C_ACK_PACKET());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<GS2C_ACK_PACKET> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::GameProtocolDefineReflection.Descriptor.MessageTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GS2C_ACK_PACKET() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GS2C_ACK_PACKET(GS2C_ACK_PACKET other) : this() {
id_ = other.id_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GS2C_ACK_PACKET Clone() {
return new GS2C_ACK_PACKET(this);
}
/// <summary>Field number for the "id" field.</summary>
public const int IdFieldNumber = 1;
private int id_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int Id {
get { return id_; }
set {
id_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as GS2C_ACK_PACKET);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(GS2C_ACK_PACKET other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Id != other.Id) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (Id != 0) hash ^= Id.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (Id != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(GS2C_ACK_PACKET other) {
if (other == null) {
return;
}
if (other.Id != 0) {
Id = other.Id;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
}
#endif
}
[global::System.SerializableAttribute]
public sealed partial class GC2C_NTF_PACKET : pb::IMessage<GC2C_NTF_PACKET>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<GC2C_NTF_PACKET> _parser = new pb::MessageParser<GC2C_NTF_PACKET>(() => new GC2C_NTF_PACKET());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<GC2C_NTF_PACKET> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::GameProtocolDefineReflection.Descriptor.MessageTypes[2]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GC2C_NTF_PACKET() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GC2C_NTF_PACKET(GC2C_NTF_PACKET other) : this() {
id_ = other.id_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public GC2C_NTF_PACKET Clone() {
return new GC2C_NTF_PACKET(this);
}
/// <summary>Field number for the "id" field.</summary>
public const int IdFieldNumber = 1;
private int id_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int Id {
get { return id_; }
set {
id_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as GC2C_NTF_PACKET);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(GC2C_NTF_PACKET other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Id != other.Id) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (Id != 0) hash ^= Id.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (Id != 0) {
output.WriteRawTag(8);
output.WriteInt32(Id);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (Id != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(GC2C_NTF_PACKET other) {
if (other == null) {
return;
}
if (other.Id != 0) {
Id = other.Id;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Id = input.ReadInt32();
break;
}
}
}
}
#endif
}
#endregion
#endregion Designer generated code

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
// source: Define_Meta.proto
/**
* @fileoverview
* @enhanceable
* @suppress {missingRequire} reports error on implicit type usages.
* @suppress {messageConventions} JS Compiler reports an error if a variable or
* field starts with 'MSG_' and isn't a translatable message.
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
var global = (function() {
if (this) { return this; }
if (typeof window !== 'undefined') { return window; }
if (typeof global !== 'undefined') { return global; }
if (typeof self !== 'undefined') { return self; }
return Function('return this')();
}.call(null));
var Define_Common_pb = require('./Define_Common_pb.js');
goog.object.extend(proto, Define_Common_pb);
goog.exportSymbol('proto.ConstantKeyType', null, global);
/**
* @enum {number}
*/
proto.ConstantKeyType = {
CONSTANTKEYTYPE_NONE: 0,
CONSTANTKEYTYPE_DEFAULTENTRYWORLDIDWHENLOGINTOAUTH: 1
};
goog.object.extend(exports, proto);

View File

@@ -0,0 +1,111 @@

// Generated by PIDL compiler.
// Do not modify this file, but modify the source .pidl file.
using System;
using Nettention.Proud;
namespace PClientToLogin
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID Message = (Nettention.Proud.RmiID)2000+1;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
Message,
};
}
}
namespace PClientToGame
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID Message = (Nettention.Proud.RmiID)3000+1;
public const Nettention.Proud.RmiID P2PVoiceChat = (Nettention.Proud.RmiID)3000+2;
public const Nettention.Proud.RmiID P2PMotionSync = (Nettention.Proud.RmiID)3000+3;
public const Nettention.Proud.RmiID P2PPartySync = (Nettention.Proud.RmiID)3000+4;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
Message,
P2PVoiceChat,
P2PMotionSync,
P2PPartySync,
};
}
}
namespace PClientToChat
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID Message = (Nettention.Proud.RmiID)4000+1;
public const Nettention.Proud.RmiID P2PVoiceChat = (Nettention.Proud.RmiID)4000+2;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
Message,
P2PVoiceChat,
};
}
}
namespace PServerToIP
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID Message = (Nettention.Proud.RmiID)5000+1;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
Message,
};
}
}
namespace PBotToManager
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID CSNotifyBotStatus = (Nettention.Proud.RmiID)6000+1;
public const Nettention.Proud.RmiID SCSendJson = (Nettention.Proud.RmiID)6000+2;
public const Nettention.Proud.RmiID CSSendJsonRes = (Nettention.Proud.RmiID)6000+3;
public const Nettention.Proud.RmiID SCNotfiyBotStart = (Nettention.Proud.RmiID)6000+4;
public const Nettention.Proud.RmiID CSNotfiyBotStartRes = (Nettention.Proud.RmiID)6000+5;
public const Nettention.Proud.RmiID SCNotfiyBotEnd = (Nettention.Proud.RmiID)6000+6;
public const Nettention.Proud.RmiID CSNotfiyBotEndRes = (Nettention.Proud.RmiID)6000+7;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
CSNotifyBotStatus,
SCSendJson,
CSSendJsonRes,
SCNotfiyBotStart,
CSNotfiyBotStartRes,
SCNotfiyBotEnd,
CSNotfiyBotEndRes,
};
}
}
namespace PGameProtocol
{
public class Common
{
// Message ID that replies to each RMI method.
public const Nettention.Proud.RmiID ProtocolHandler = (Nettention.Proud.RmiID)7000+1;
// List that has RMI ID.
public static Nettention.Proud.RmiID[] RmiIDList = new Nettention.Proud.RmiID[] {
ProtocolHandler,
};
}
}

View File

@@ -0,0 +1,726 @@

// Generated by PIDL compiler.
// Do not modify this file, but modify the source .pidl file.
using System;
using System.Net;
using Nettention.Proud;
namespace PClientToLogin
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool Message(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, ClientToLogin clientToLogin)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToLogin);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool Message(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, ClientToLogin clientToLogin)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToLogin);
return RmiSend(remotes,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="Message";
public const string RmiName_First = RmiName_Message;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}
namespace PClientToGame
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool Message(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, ClientToGame clientToGame)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToGame);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool Message(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, ClientToGame clientToGame)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToGame);
return RmiSend(remotes,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool P2PVoiceChat(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PVoiceChat;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_P2PVoiceChat, Common.P2PVoiceChat);
}
}
public bool P2PVoiceChat(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PVoiceChat;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
return RmiSend(remotes,rmiContext,__msg,
RmiName_P2PVoiceChat, Common.P2PVoiceChat);
}
}
public bool P2PMotionSync(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PMotionSync;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_P2PMotionSync, Common.P2PMotionSync);
}
}
public bool P2PMotionSync(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PMotionSync;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
return RmiSend(remotes,rmiContext,__msg,
RmiName_P2PMotionSync, Common.P2PMotionSync);
}
}
public bool P2PPartySync(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PPartySync;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_P2PPartySync, Common.P2PPartySync);
}
}
public bool P2PPartySync(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PPartySync;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
return RmiSend(remotes,rmiContext,__msg,
RmiName_P2PPartySync, Common.P2PPartySync);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="Message";
public const string RmiName_P2PVoiceChat="P2PVoiceChat";
public const string RmiName_P2PMotionSync="P2PMotionSync";
public const string RmiName_P2PPartySync="P2PPartySync";
public const string RmiName_First = RmiName_Message;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="";
public const string RmiName_P2PVoiceChat="";
public const string RmiName_P2PMotionSync="";
public const string RmiName_P2PPartySync="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}
namespace PClientToChat
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool Message(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, ClientToChat clientToChat)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToChat);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool Message(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, ClientToChat clientToChat)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, clientToChat);
return RmiSend(remotes,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool P2PVoiceChat(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PVoiceChat;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_P2PVoiceChat, Common.P2PVoiceChat);
}
}
public bool P2PVoiceChat(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, System.String id, Nettention.Proud.ByteArray data)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.P2PVoiceChat;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, id);
Protocol.CaliMarshaler.Write(__msg, data);
return RmiSend(remotes,rmiContext,__msg,
RmiName_P2PVoiceChat, Common.P2PVoiceChat);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="Message";
public const string RmiName_P2PVoiceChat="P2PVoiceChat";
public const string RmiName_First = RmiName_Message;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="";
public const string RmiName_P2PVoiceChat="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}
namespace PServerToIP
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool Message(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, System.String name, System.String ip)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, name);
Protocol.CaliMarshaler.Write(__msg, ip);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
public bool Message(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, System.String name, System.String ip)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.Message;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, name);
Protocol.CaliMarshaler.Write(__msg, ip);
return RmiSend(remotes,rmiContext,__msg,
RmiName_Message, Common.Message);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="Message";
public const string RmiName_First = RmiName_Message;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_Message="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}
namespace PBotToManager
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool CSNotifyBotStatus(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, int loginConnectedBotCount, int channelConnectedBotCount, int indunConnectedBotCount)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotifyBotStatus;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, loginConnectedBotCount);
Protocol.CaliMarshaler.Write(__msg, channelConnectedBotCount);
Protocol.CaliMarshaler.Write(__msg, indunConnectedBotCount);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_CSNotifyBotStatus, Common.CSNotifyBotStatus);
}
}
public bool CSNotifyBotStatus(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, int loginConnectedBotCount, int channelConnectedBotCount, int indunConnectedBotCount)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotifyBotStatus;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, loginConnectedBotCount);
Protocol.CaliMarshaler.Write(__msg, channelConnectedBotCount);
Protocol.CaliMarshaler.Write(__msg, indunConnectedBotCount);
return RmiSend(remotes,rmiContext,__msg,
RmiName_CSNotifyBotStatus, Common.CSNotifyBotStatus);
}
}
public bool SCSendJson(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, string jsonFileName, string jsonFileContents)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCSendJson;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, jsonFileName);
Protocol.CaliMarshaler.Write(__msg, jsonFileContents);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_SCSendJson, Common.SCSendJson);
}
}
public bool SCSendJson(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, string jsonFileName, string jsonFileContents)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCSendJson;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, jsonFileName);
Protocol.CaliMarshaler.Write(__msg, jsonFileContents);
return RmiSend(remotes,rmiContext,__msg,
RmiName_SCSendJson, Common.SCSendJson);
}
}
public bool CSSendJsonRes(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSSendJsonRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_CSSendJsonRes, Common.CSSendJsonRes);
}
}
public bool CSSendJsonRes(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSSendJsonRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
return RmiSend(remotes,rmiContext,__msg,
RmiName_CSSendJsonRes, Common.CSSendJsonRes);
}
}
public bool SCNotfiyBotStart(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, int startIndex, int Count)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCNotfiyBotStart;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, startIndex);
Protocol.CaliMarshaler.Write(__msg, Count);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_SCNotfiyBotStart, Common.SCNotfiyBotStart);
}
}
public bool SCNotfiyBotStart(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, int startIndex, int Count)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCNotfiyBotStart;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, startIndex);
Protocol.CaliMarshaler.Write(__msg, Count);
return RmiSend(remotes,rmiContext,__msg,
RmiName_SCNotfiyBotStart, Common.SCNotfiyBotStart);
}
}
public bool CSNotfiyBotStartRes(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotfiyBotStartRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_CSNotfiyBotStartRes, Common.CSNotfiyBotStartRes);
}
}
public bool CSNotfiyBotStartRes(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotfiyBotStartRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
return RmiSend(remotes,rmiContext,__msg,
RmiName_CSNotfiyBotStartRes, Common.CSNotfiyBotStartRes);
}
}
public bool SCNotfiyBotEnd(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCNotfiyBotEnd;
__msg.Write(__msgid);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_SCNotfiyBotEnd, Common.SCNotfiyBotEnd);
}
}
public bool SCNotfiyBotEnd(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.SCNotfiyBotEnd;
__msg.Write(__msgid);
return RmiSend(remotes,rmiContext,__msg,
RmiName_SCNotfiyBotEnd, Common.SCNotfiyBotEnd);
}
}
public bool CSNotfiyBotEndRes(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotfiyBotEndRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_CSNotfiyBotEndRes, Common.CSNotfiyBotEndRes);
}
}
public bool CSNotfiyBotEndRes(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, int nError)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.CSNotfiyBotEndRes;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, nError);
return RmiSend(remotes,rmiContext,__msg,
RmiName_CSNotfiyBotEndRes, Common.CSNotfiyBotEndRes);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_CSNotifyBotStatus="CSNotifyBotStatus";
public const string RmiName_SCSendJson="SCSendJson";
public const string RmiName_CSSendJsonRes="CSSendJsonRes";
public const string RmiName_SCNotfiyBotStart="SCNotfiyBotStart";
public const string RmiName_CSNotfiyBotStartRes="CSNotfiyBotStartRes";
public const string RmiName_SCNotfiyBotEnd="SCNotfiyBotEnd";
public const string RmiName_CSNotfiyBotEndRes="CSNotfiyBotEndRes";
public const string RmiName_First = RmiName_CSNotifyBotStatus;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_CSNotifyBotStatus="";
public const string RmiName_SCSendJson="";
public const string RmiName_CSSendJsonRes="";
public const string RmiName_SCNotfiyBotStart="";
public const string RmiName_CSNotfiyBotStartRes="";
public const string RmiName_SCNotfiyBotEnd="";
public const string RmiName_CSNotfiyBotEndRes="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}
namespace PGameProtocol
{
public class Proxy:Nettention.Proud.RmiProxy
{
public bool ProtocolHandler(Nettention.Proud.HostID remote,Nettention.Proud.RmiContext rmiContext, GameProtocol gameProtocol)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.ProtocolHandler;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, gameProtocol);
Nettention.Proud.HostID[] __list = new Nettention.Proud.HostID[1];
__list[0] = remote;
return RmiSend(__list,rmiContext,__msg,
RmiName_ProtocolHandler, Common.ProtocolHandler);
}
}
public bool ProtocolHandler(Nettention.Proud.HostID[] remotes,Nettention.Proud.RmiContext rmiContext, GameProtocol gameProtocol)
{
using (Nettention.Proud.FreeListPopper<Nettention.Proud.Message> freeList = new Nettention.Proud.FreeListPopper<Nettention.Proud.Message>())
{
Nettention.Proud.Message __msg=freeList.GetObject();
__msg.Clear();
__msg.SimplePacketMode = core.IsSimplePacketMode();
Nettention.Proud.RmiID __msgid= Common.ProtocolHandler;
__msg.Write(__msgid);
Protocol.CaliMarshaler.Write(__msg, gameProtocol);
return RmiSend(remotes,rmiContext,__msg,
RmiName_ProtocolHandler, Common.ProtocolHandler);
}
}
#if USE_RMI_NAME_STRING
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_ProtocolHandler="ProtocolHandler";
public const string RmiName_First = RmiName_ProtocolHandler;
#else
// RMI name declaration.
// It is the unique pointer that indicates RMI name such as RMI profiler.
public const string RmiName_ProtocolHandler="";
public const string RmiName_First = "";
#endif
public override Nettention.Proud.RmiID[] GetRmiIDList() { return Common.RmiIDList; }
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,150 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: Protocol.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Google.Protobuf.CES.Packet {
/// <summary>Holder for reflection information generated from Protocol.proto</summary>
public static partial class ProtocolReflection {
#region Descriptor
/// <summary>File descriptor for Protocol.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static ProtocolReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Cg5Qcm90b2NvbC5wcm90bxIIcHJvdG9jb2wq+wUKCFByb3RvY29sEg0KCU1P",
"VkVfTkVYVBAAEhAKDE1PVkVfQ09NQklORRABEgkKBVZPSUNFEB4SDwoLVk9J",
"Q0VfU1RBVEUQHxIJCgVNVVNJQxAoEgwKCE1VU0lDQm94ECkSCQoFREFOQ0UQ",
"MhIVChFEQU5DRV9SZXFSb29tVGltZRAzEhUKEURBTkNFX1Jlc1Jvb21UaW1l",
"EDQSFQoRREFOQ0VfU3RhdGVVcGRhdGUQNRIICgRKVU1QEEYSCQoFR1VJREUQ",
"UBIVChFQUkVTRU5UQVRJT05fUEFHRRBREgcKA0FJTRBkEhUKEVBBUlRZX01P",
"VkVfTUVNQkVSEG4SDwoLQkFUVExFX01PVkUQeBIOCgpCQVRUTEVfQUlNEHkS",
"EQoNQkFUVExFX1NUQVRVUxB6EhEKDUJBVFRMRV9NQU5UTEUQexIRCgxCQVRU",
"TEVfU0hPT1QQggESEgoNQkFUVExFX0RBTUFHRRCDARISCg1CQVRUTEVfUkVM",
"T0FEEIQBEhEKDEJBVFRMRV9ET0RHRRCFARIZChRCQVRUTEVfV0VBUE9OX0NI",
"QU5HRRCGARIWChFCQVRUTEVfV0VBUE9OX0FERBCHARITCg5CQVRUTEVfUkVT",
"UEFXThCIARIeChlCQVRUTEVfT0JKRUNUX0lOVEVSQUNUSU9OEIkBEhsKFkJB",
"VFRMRV9GSU5JU0hFRF9MT0RJTkcQigESGQoUQkFUVExFX1JFQURZX1RPX0VY",
"SVQQiwESHAoXQkFUVExFX0xBVU5DSF9DSEFSQUNURVIQjAESGgoVQkFUVExF",
"X1BMQVlfQU5JTUFUSU9OEI0BEhYKEUJBVFRMRV9ISVRfRUZGRUNUEI4BEhIK",
"DU1PQl9BSV9BVFRBQ0sQyAESEgoNTU9CX0FJX01PVkVUTxDJARIRCgxNT0Jf",
"QUlfRk9DVVMQygESEwoOTU9CX0FJX1NZTkNWQVIQywESEQoMTU9CX0FJX1NQ",
"QVdOEMwBEhMKDkhPU1RfUk9PTV9JTkZPEKwCQh2qAhpHb29nbGUuUHJvdG9i",
"dWYuQ0VTLlBhY2tldGIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.Protobuf.CES.Packet.Protocol), }, null, null));
}
#endregion
}
#region Enums
public enum Protocol {
[pbr::OriginalName("MOVE_NEXT")] MoveNext = 0,
[pbr::OriginalName("MOVE_COMBINE")] MoveCombine = 1,
[pbr::OriginalName("VOICE")] Voice = 30,
[pbr::OriginalName("VOICE_STATE")] VoiceState = 31,
[pbr::OriginalName("MUSIC")] Music = 40,
[pbr::OriginalName("MUSICBox")] Musicbox = 41,
[pbr::OriginalName("DANCE")] Dance = 50,
[pbr::OriginalName("DANCE_ReqRoomTime")] DanceReqRoomTime = 51,
[pbr::OriginalName("DANCE_ResRoomTime")] DanceResRoomTime = 52,
[pbr::OriginalName("DANCE_StateUpdate")] DanceStateUpdate = 53,
[pbr::OriginalName("JUMP")] Jump = 70,
[pbr::OriginalName("GUIDE")] Guide = 80,
[pbr::OriginalName("PRESENTATION_PAGE")] PresentationPage = 81,
[pbr::OriginalName("AIM")] Aim = 100,
[pbr::OriginalName("PARTY_MOVE_MEMBER")] PartyMoveMember = 110,
/// <summary>
/// 이동,멈춤,점프...
/// </summary>
[pbr::OriginalName("BATTLE_MOVE")] BattleMove = 120,
/// <summary>
/// 조준.
/// </summary>
[pbr::OriginalName("BATTLE_AIM")] BattleAim = 121,
/// <summary>
/// 현재상태.
/// </summary>
[pbr::OriginalName("BATTLE_STATUS")] BattleStatus = 122,
/// <summary>
/// 기어오르기.
/// </summary>
[pbr::OriginalName("BATTLE_MANTLE")] BattleMantle = 123,
/// <summary>
/// 총알발사.
/// </summary>
[pbr::OriginalName("BATTLE_SHOOT")] BattleShoot = 130,
/// <summary>
/// 피격.
/// </summary>
[pbr::OriginalName("BATTLE_DAMAGE")] BattleDamage = 131,
/// <summary>
/// 재장전
/// </summary>
[pbr::OriginalName("BATTLE_RELOAD")] BattleReload = 132,
/// <summary>
/// 구르기
/// </summary>
[pbr::OriginalName("BATTLE_DODGE")] BattleDodge = 133,
/// <summary>
/// 무기교환
/// </summary>
[pbr::OriginalName("BATTLE_WEAPON_CHANGE")] BattleWeaponChange = 134,
/// <summary>
/// 무기추가
/// </summary>
[pbr::OriginalName("BATTLE_WEAPON_ADD")] BattleWeaponAdd = 135,
/// <summary>
/// 사망후 리스폰.
/// </summary>
[pbr::OriginalName("BATTLE_RESPAWN")] BattleRespawn = 136,
/// <summary>
/// 오브젝트 인터렉션
/// </summary>
[pbr::OriginalName("BATTLE_OBJECT_INTERACTION")] BattleObjectInteraction = 137,
/// <summary>
/// 인게임 로딩 끝
/// </summary>
[pbr::OriginalName("BATTLE_FINISHED_LODING")] BattleFinishedLoding = 138,
/// <summary>
/// 인던 나가기 전에 결과창 보는 중
/// </summary>
[pbr::OriginalName("BATTLE_READY_TO_EXIT")] BattleReadyToExit = 139,
/// <summary>
/// 범위 타격에 의해서 날아감
/// </summary>
[pbr::OriginalName("BATTLE_LAUNCH_CHARACTER")] BattleLaunchCharacter = 140,
/// <summary>
/// 특정 상황에서 에니메이션 실행 할 때
/// </summary>
[pbr::OriginalName("BATTLE_PLAY_ANIMATION")] BattlePlayAnimation = 141,
/// <summary>
/// 캐릭터나 사물에 이펙트 표시
/// </summary>
[pbr::OriginalName("BATTLE_HIT_EFFECT")] BattleHitEffect = 142,
[pbr::OriginalName("MOB_AI_ATTACK")] MobAiAttack = 200,
[pbr::OriginalName("MOB_AI_MOVETO")] MobAiMoveto = 201,
[pbr::OriginalName("MOB_AI_FOCUS")] MobAiFocus = 202,
[pbr::OriginalName("MOB_AI_SYNCVAR")] MobAiSyncvar = 203,
[pbr::OriginalName("MOB_AI_SPAWN")] MobAiSpawn = 204,
[pbr::OriginalName("HOST_ROOM_INFO")] HostRoomInfo = 300,
}
#endregion
}
#endregion Designer generated code

25
Protocol/pidl_build.bat Normal file
View File

@@ -0,0 +1,25 @@
@echo off
set pidl_exe=..\..\ThirdPartyPackages\ProudNet\1.9.58941\ProudNet\util\PIDL.exe
set pidl_out=..\Protocol\out-RMI\
del %pidl_out% /q /f
if %ERRORLEVEL% NEQ 0 (
popd .
echo Failed to DEL from RMI out path !!! - Path : [%pidl_out%] !!!
goto ERROR
)
%pidl_exe% -cs .\PIDL\ClientToServer.PIDL -outdir %pidl_out%
copy .\PIDL\*.PIDL ..\..\..\Common\MS2Packet\PIDL
rem <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
:OK
EXIT /B 0
rem <20><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
:ERROR
echo ERROR !!! - PIDL Generation Failed - ErrorCode : %ERRORLEVEL%
EXIT /B %ERRORLEVEL%

View File

@@ -0,0 +1 @@
syntax = "proto3";

View File

@@ -0,0 +1,86 @@
syntax = "proto3";
import "Define_Common.proto";
import "Define_Result.proto";
import "Define_ProgramVersion.proto";
message ClientToChatReq
{
message LoginReq {
string name = 1;
int64 roomId = 2;
}
message LogoutReq {
}
message ChatReq {
string message = 1;
}
message JoinChatRoomReq {
int64 roomId = 1;
}
message LeaveChatRoomReq {
}
oneof msg {
LoginReq loginReq = 1;
LogoutReq logoutReq = 2;
ChatReq chatReq = 3;
JoinChatRoomReq joinChatRoomReq = 4;
LeaveChatRoomReq leaveChatRoomReq = 5;
}
}
message ClientToChatRes
{
message LoginRes {
int64 roomId = 2;
}
message LogoutRes {
}
message ChatRes {
}
message JoinChatRoomRes {
int64 roomId = 1;
}
message LeaveChatRoomRes {
}
ServerErrorCode errorCode = 1;
oneof msg {
LoginRes loginRes = 2;
LogoutRes logoutRes = 3;
ChatRes chatRes = 4;
JoinChatRoomRes joinChatRoomRes = 5;
LeaveChatRoomRes leaveChatRoomRes = 6;
}
}
message ClientToChatMessage
{
message Chat {
string sender = 1;
string message = 2;
}
oneof msg {
Chat chat = 1;
}
}
message ClientToChat
{
oneof msg {
ClientToChatReq request = 1;
ClientToChatRes response = 2;
ClientToChatMessage message = 3;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,105 @@
syntax = "proto3";
import "Define_Common.proto";
import "Define_Result.proto";
import "Define_ProgramVersion.proto";
import "Game_Define.proto";
message ClientToLoginReq
{
message LoginReq {
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>ܵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Empty <20><><EFBFBD><EFBFBD>
string id = 1;
string password = 2;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> <20><>ó -> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (JsonWebToken : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ó<EFBFBD><C3B3> <20>Ѱ<EFBFBD><D1B0><EFBFBD> <20><><EFBFBD><EFBFBD>), <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Empty <20><><EFBFBD><EFBFBD>
bytes webAuthParams = 3;
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> : <20>ݵ<EFBFBD><DDB5><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PlatformType platformType = 4; // PlatformType.PlatformType_WindowsPc
ClientProgramVersion clientVersion = 5;
LanguageType languageType = 6; // LanguageType.LanguageType_ko
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʵǵ<CAB5> <20>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD>Ͻ<EFBFBD> <20>α<EFBFBD> <20>ۼ<EFBFBD><DBBC><EFBFBD> Ȱ<><C8B0>, Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
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;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>߱<EFBFBD><DFB1><EFBFBD> user InstantGUID <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> !!! (32 Byte <20><><EFBFBD><EFBFBD>)
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ClientToGameReq.LoginReq.Name <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
string userId = 2;
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
ServiceType currServiceType = 3;
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD>
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;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message UAS2C_NTF_SERVER_URL_CATALOG {
repeated ServerUrl serverUrls = 1;// <20><><EFBFBD><EFBFBD> Url <20><><EFBFBD><EFBFBD>
}
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;
}
}

View File

@@ -0,0 +1 @@
syntax = "proto3";

View File

@@ -0,0 +1,581 @@
syntax = "proto3";
import "google/protobuf/timestamp.proto";
option java_multiple_files = true;
option java_package = "com.caliverse.admin.domain.RabbitMq.message";
//=============================================================================================
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ带 <20>ۼ<EFBFBD> <20>Ѵ<EFBFBD>.
//
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ÿ<>Ե<EFBFBD><D4B5><EFBFBD> <20>ۼ<EFBFBD> <20>Ѵ<EFBFBD>. (<28><>: <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, <20><>ġ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
// - kangms
// enum Ÿ<><C5B8> <20><><EFBFBD><EFBFBD> <20>̽<EFBFBD> !!!
// enum Ÿ<>԰<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Compile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߻<EFBFBD> <20>Ѵ<EFBFBD>. !!!
// message <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> Complie <20><> <20>dz<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڵ忡
// xxxxx.Types.xxxx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ų<EFBFBD><C5B2>.
// <20>׷<EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Prefix <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> enum <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20>ߴ<EFBFBD>.
//=============================================================================================
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ModuleId
{
ModuleId_None = 0;
ModuleId_DynamoDbConnector = 1;
ModuleId_MongoDbConnector = 2;
ModuleId_RedisConnector = 3;
ModuleId_RedisWithLuaScriptExecutor = 4;
ModuleId_RabbitMqConnector = 5;
ModuleId_S3Connector = 6;
ModuleId_ProudNetListener = 7;
}
// bool enum
enum BoolType
{
BoolType_None = 0;
BoolType_True = 1;
BoolType_False = 2;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum AccountType
{
AccountType_None = 0;
AccountType_Google = 1;
AccountType_Apple = 2;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ServiceCategory
{
ServiceCategory_None = 0;
ServiceCategory_Caliverse = 1;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
enum ServiceType
{
ServiceType_None = 0;
ServiceType_Dev = 1;
ServiceType_Qa = 2;
ServiceType_Stage = 3;
ServiceType_Live = 4;
}
// <20><><EFBFBD><EFBFBD> URL Ÿ<><C5B8>
enum ServerUrlType
{
ServerUrlType_None = 0;
ServerUrlType_BillingApiServerUrl = 1; // <20><><EFBFBD><EFBFBD> Api <20><><EFBFBD><EFBFBD> URL
ServerUrlType_ChatAiApiServerUrl = 2; // Chat Ai Api <20><><EFBFBD><EFBFBD> URL
ServerUrlType_MyhomeEditGuideUrl = 3; // MyHome Api <20><><EFBFBD><EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_WebLinkUrlSeasonPass = 4; // WebLink Api <20><><EFBFBD><EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_CaliumConverterWebGuide = 5; // Į<><C4AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Api <20><><EFBFBD><EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_S3ResourceImageUrl = 6; // <20>̹<EFBFBD><CCB9><EFBFBD> <20><><EFBFBD>ҽ<EFBFBD> URL
ServerUrlType_RentalGuideURL = 7; // <20><>Ż <20><><EFBFBD>̵<EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_LandAuctionWebGuide = 8; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_LandManageGuideURL = 9; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL (<28><><EFBFBD>)
ServerUrlType_Calium_Exchange_Web1 = 10; // Į<><C4AE><EFBFBD><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ (<28><>ȯ<EFBFBD><C8AF> UI <20>߾<EFBFBD> <20><><EFBFBD><EFBFBD>) (<28><><EFBFBD>)
ServerUrlType_Calium_Exchange_Web2 = 11; // Į<><C4AE><EFBFBD><EFBFBD> <20><>ȯ<EFBFBD><C8AF> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ (<28><>ȯ<EFBFBD><C8AF> UI <20><><EFBFBD><EFBFBD> <20>ϴ<EFBFBD>) (<28><><EFBFBD>)
ServerUrlType_WebLinkURLCurrency = 12; // <20><>ȭ <20><><EFBFBD><EFBFBD> <20><>ư <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
ServerUrlType_WebLinkURLSeasonPass1 = 13; // <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
ServerUrlType_WebLinkURLSeasonPass2 = 14; // <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD> 2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
ServerUrlType_WebLinkURLSeasonPass3 = 15; // <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
ServerUrlType_WebLinkURLSeasonPass4 = 16; // <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD> 4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
ServerUrlType_WebLinkURLSeasonPass5 = 17; // <20><><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD> 5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ <20>ּ<EFBFBD> (<28><><EFBFBD>)
}
// <20><><EFBFBD><20><><EFBFBD><EFBFBD> URL
message ServerUrlWithLanguage
{
LanguageType langType = 1;
string targetUrl = 2;
}
// <20><><EFBFBD><EFBFBD> URL
message ServerUrl
{
ServerUrlType serverUrlType = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL<52><4C> <20><><EFBFBD><EFBFBD> URL Ÿ<><C5B8>
repeated ServerUrlWithLanguage serverUrlWithLanguages = 2; // <20><><EFBFBD><20><><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ServerType
{
ServerType_None = 0;
ServerType_Login = 1;
ServerType_Channel = 2;
ServerType_Indun = 3;
ServerType_Chat = 4;
ServerType_GmTool = 5;
ServerType_Auth = 6;
ServerType_Manager = 7;
ServerType_UgqApi = 8;
ServerType_UgqAdmin = 9;
ServerType_UgqIngame = 10;
ServerType_BrokerApi = 11;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum AutoScaleServerType
{
AutoScaleServerType_None = 0;
AutoScaleServerType_Login = 1;
AutoScaleServerType_Game = 2;
AutoScaleServerType_Indun = 3;
AutoScaleServerType_Chat = 4;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum GameServerType
{
GameServerType_None = 0;
GameServerType_Channel = 1;
GameServerType_Indun = 2;
}
// <20><><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD> <20><><EFBFBD><EFBFBD>
enum DeviceType
{
DeviceType_None = 0;
// Desktop : IBM PC compatible
DeviceType_WindowsPC = 1;
// Mobile : Apple
DeviceType_IPhone = 5;
DeviceType_Mac = 6;
// Mobile : Samsung
DeviceType_Galaxy = 11;
// VR : Oculus
DeviceType_Oculus = 15;
}
// Os <20><><EFBFBD><EFBFBD>
enum OsType
{
OsType_None = 0;
OsType_MsWindows = 1;
OsType_Android = 2;
OsType_Ios = 3;
}
// <20>÷<EFBFBD><C3B7><EFBFBD> <20><><EFBFBD><EFBFBD>
enum PlatformType
{
PlatformType_None = 0;
PlatformType_WindowsPc = 1;
PlatformType_Google = 2;
PlatformType_Facebook = 3;
PlatformType_Apple = 4;
}
// Account <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum AccountCreationType
{
AccountCreationType_None = 0;
AccountCreationType_Normal = 1;
AccountCreationType_Test = 2;
AccountCreationType_Bot = 3;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ContentsType
{
ContentsType_None = 0;
ContentsType_MyHome = 1;
ContentsType_DressRoom = 2;
ContentsType_Concert = 3;
ContentsType_Movie = 4;
ContentsType_Instance = 5; // <20><20>ν<EFBFBD><CEBD>Ͻ<EFBFBD>, Ư<><C6AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
ContentsType_Meeting = 6;
ContentsType_BeaconCreateRoom = 7;
ContentsType_BeaconEditRoom = 8;
ContentsType_BeaconDraftRoom = 9;
ContentsType_EditRoom = 10;
ContentsType_BeaconCustomizeRoom = 11;
ContentsType_BattleRoom = 12;
ContentsType_ArcadeRunning = 13;
}
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum CharRace
{
CharRace_None = 0;
CharRace_Latino = 1;
CharRace_Caucasian = 2;
CharRace_African = 3;
CharRace_Northeastasian = 4;
CharRace_Southasian = 5;
CharRace_Pacificislander = 6;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum AuthAdminLevelType
{
AuthAdminLevelType_None = 0;
AuthAdminLevelType_GmNormal = 1;
AuthAdminLevelType_GmSuper = 2;
AuthAdminLevelType_Developer = 3;
}
// <20><><EFBFBD><EFBFBD> ǥ<><C7A5> ISO 639-1 <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> - kangms
enum LanguageType
{
LanguageType_None = 0;
LanguageType_ko = 1; // <20>ѱ<EFBFBD><D1B1><EFBFBD>(<28><EFBFBD><E2BABB>)
LanguageType_en = 2; // <20><><EFBFBD><EFBFBD>
//LanguageType_th = 3; // <20>±<EFBFBD>
LanguageType_ja = 4; // <20>Ϻ<EFBFBD><CFBA><EFBFBD>
//LanguageType_zh = 5; // <20>߱<EFBFBD><DFB1><EFBFBD>
//LanguageType_fr = 6; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//LanguageType_de = 7; // <20><><EFBFBD>Ͼ<EFBFBD>
//LanguageType_es = 8; // <20><><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD>
//LanguageType_ru = 9; // <20><><EFBFBD>þƾ<C3BE>
//LanguageType_ar = 10; // <20>ƶ<EFBFBD><C6B6><EFBFBD>
}
// <20><>ǰ <20><><EFBFBD><EFBFBD>
enum ProductType
{
ProductType_None = 0;
ProductType_Currency = 1; // <20><>ȭ
ProductType_Item = 2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum LoginMethodType
{
LoginMethodType_None = 0;
LoginMethodType_ClientStandalone = 1; // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>ܵ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>
LoginMethodType_SsoAccountAuthWithLauncher = 2; // <20><><EFBFBD>հ<EFBFBD><D5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Բ<EFBFBD> <20><>ó <20>α<EFBFBD><CEB1><EFBFBD>
}
// <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ǹ<EFBFBD><C7B9><EFBFBD> <20><><EFBFBD><EFBFBD>
enum LoginFailureReasonType
{
LoginFailureReasonType_None = 0;
LoginFailureReasonType_ProcessingException = 1; // ó<><C3B3><EFBFBD>߿<EFBFBD> <20><><EFBFBD>ܰ<EFBFBD> <20>߻<EFBFBD> <20>߽<EFBFBD><DFBD>ϴ<EFBFBD>.
LoginFailureReasonType_AuthenticationFailed = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Դϴ<D4B4>.
LoginFailureReasonType_UserValidCheckFailed = 3; // <20><><EFBFBD><EFBFBD> <20>ŷڼ<C5B7> üũ <20><><EFBFBD><EFBFBD> <20>Դϴ<D4B4>.
}
// <20>α׾ƿ<D7BE><C6BF><EFBFBD> <20>ǹ<EFBFBD>
enum LogoutReasonType
{
LogoutReasonType_None = 0;
LogoutReasonType_ExitToService = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
LogoutReasonType_EnterToGame = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
LogoutReasonType_GoToGame = 3; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD>
LogoutReasonType_DuplicatedLogin = 4;
}
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum AccountSactionType
{
AccountSactionType_None = 0;
AccountSactionType_BadBhavior = 1; // <20><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_InvapproprivateName = 2; // <20>Ұ<EFBFBD><D2B0><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_CashTransaction = 3; // ij<><C4B3> Ʈ<><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AccountSactionType_GameInterference = 4; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_ServiceInterference = 5; // <20><EFBFBD><EEBFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_AccountImpersonation = 6; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_BugAbuse = 7; // <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>¡
AccountSactionType_IllegalProgram = 8; // <20><><EFBFBD>α׷<CEB1> <20>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD><EFBFBD>
AccountSactionType_PersonalInfo_Leak = 9; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
AccountSactionType_AdminImpersonation = 10; // <20><EFBFBD><EEBFB5> <20><>Ī
}
// ä<><C3A4> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ServerMoveType
{
ServerMoveType_None = 0;
ServerMoveType_Force = 1;
ServerMoveType_Auto = 2;
ServerMoveType_Return = 3;
}
message ChannelInfo
{
int32 channel = 1;
int32 trafficlevel = 2;
}
message ServerConnectInfo
{
string serverAddr = 1;
int32 serverPort = 2;
string otp = 3;
string roomId = 4;
Pos pos = 5;
oneof instanceType
{
int32 instanceId = 6;
MyHomeInfo myhomeInfo = 7;
}
}
message MyHomeInfo
{
string myhomeGuid = 1;
string myhomeName = 2;
MyhomeUgcInfo myhomeUgcInfo = 3;
}
message MyhomeUgcInfo
{
int32 roomType = 1;
int32 version = 2;
repeated UgcFrameworkInfo frameworkInfos = 3;
repeated UgcAnchorInfo anchorInfos = 4;
repeated CrafterBeaconPos crafterBeaconPos = 5;
}
message UgcFrameworkInfo
{
int32 interiorItemId = 1;
int32 floor = 2;
Coordinate coordinate = 3;
Rotation rotation = 4;
int32 materialId = 5;
repeated UgcFrameworkMaterialInfo UgcFrameworkMaterialInfos = 6;
}
message UgcFrameworkMaterialInfo
{
string type = 1;
int32 materialId = 2;
Color color_mask_r = 3;
Color color_mask_g = 4;
Color color_mask_b = 5;
}
message Color
{
float r = 1;
float g = 2;
float b = 3;
float a = 4;
}
message UgcAnchorInfo
{
string anchorGuid = 1;
string anchorType = 2;
int32 tableId = 3;
string entityGuid = 4;
Coordinate coordinate = 5;
Rotation rotation = 6;
}
message CrafterBeaconPos
{
string anchorGuid = 1;
Pos crafterBeaconPos = 2;
}
message Coordinate
{
float x = 1;
float y = 2;
float z = 3;
}
message Rotation
{
float Pitch = 1;
float Yaw = 2;
float Roll = 3;
}
// <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
message StringProfile
{
map<string, string> stringProfile = 1;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>ġ
message UserLocationInfo
{
int32 isChannel = 1; // 1:ä<>μ<EFBFBD><CEBC><EFBFBD>, 0:<3A>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD><EFBFBD>
int32 id = 2;
int32 channelNumber = 3;
}
// <20>÷<EFBFBD><C3B7>̾<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum PlayerStateType
{
PlayerStateType_None = 0;
PlayerStateType_Online = 1; // <20><EFBFBD><C2B6><EFBFBD>
PlayerStateType_Sleep = 2; // <20>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD>
PlayerStateType_DontDistrub = 3; // <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
PlayerStateType_Offline = 4; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PlayerStateType_Dormant = 5; // <20>޸<EFBFBD> <20><><EFBFBD><EFBFBD>
PlayerStateType_LeaveMember = 6; // ȸ<><C8B8> Ż<><C5BB>
}
// <20><>ƼƼ<C6BC><C6BC> <20><>ġ <20><><EFBFBD><EFBFBD>
message Pos
{
float x = 1;
float y = 2;
float z = 3;
int32 angle = 4;
}
// <20><><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD> : <20><>ȭ<EFBFBD><C8AD> <20><>ȭ
enum AmountDeltaType
{
AmountDeltaType_None = 0;
AmountDeltaType_Acquire = 1; // ȹ<><C8B9> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
AmountDeltaType_Consume = 2; // <20>Ҹ<EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
AmountDeltaType_Merge = 3; // <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><C8B9>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>:<3A>Ҹ<EFBFBD>)
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȭ
enum CountDeltaType
{
CountDeltaType_None = 0;
CountDeltaType_New = 1; // <20>ű<EFBFBD>
CountDeltaType_Update = 2; // <20><><EFBFBD><EFBFBD>
CountDeltaType_Acquire = 3; // <20><><EFBFBD><EFBFBD>
CountDeltaType_Consume = 4; // <20><><EFBFBD><EFBFBD>
CountDeltaType_Delete = 5; // <20><><EFBFBD><EFBFBD>
}
// <20><>ȭ <20><><EFBFBD><EFBFBD>
enum CurrencyType
{
CurrencyType_None = 0;
CurrencyType_Gold = 1; // <20>ΰ<EFBFBD><CEB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><20><>ȭ
CurrencyType_Sapphire = 2; // <20>ΰ<EFBFBD><CEB0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭ (<28><>) BlueCali )
CurrencyType_Calium = 3; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>/<2F><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><20><> <20><><EFBFBD><EFBFBD> (<28><>) RedCali )
CurrencyType_Beam = 4; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ŷ <20><><EFBFBD><EFBFBD> (<28><>) BlackCali )
CurrencyType_Ruby = 5; // <20>ű<EFBFBD> <20>߰<EFBFBD> <20><>ȭ
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
message Money
{
double amount = 1;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȭ<EFBFBD><C8AD>
message MoneyDeltaAmount
{
AmountDeltaType deltaType = 1;
double amount = 2;
}
// <20><><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum ProgramVersionType
{
ProgramVersionType_None = 0;
ProgramVersionType_MetaSchemaVersion = 1;
ProgramVersionType_MetaDataVersion = 2;
ProgramVersionType_DbSchemaVersion = 3;
ProgramVersionType_PacketVersion = 4;
ProgramVersionType_ResourceVersion = 5;
ProgramVersionType_ConfigVersion = 6;
ProgramVersionType_LogicVersion = 7;
}
// <20><>Ƽ <20><><EFBFBD><EFBFBD> <20>׼<EFBFBD> Ÿ<><C5B8>
enum PartyMemberActionType
{
PartyMemberActionType_None = 0;
PartyMemberActionType_Invite = 1; // <20>ʴ<EFBFBD>
PartyMemberActionType_InviteAccept = 2; // <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD>
PartyMemberActionType_InviteReject = 3; // <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD>
PartyMemberActionType_Summon = 4; // <20><>ȯ
PartyMemberActionType_SummonAccept = 5; // <20><>ȯ <20><><EFBFBD><EFBFBD>
PartyMemberActionType_SummonReject = 6; // <20><>ȯ <20><><EFBFBD><EFBFBD>
PartyMemberActionType_PartyInstance_Join = 7; // <20><>Ƽ <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD><EFBFBD>
PartyMemberActionType_PartyInstance_Leave = 8; // <20><>Ƽ <20>ν<EFBFBD><CEBD>Ͻ<EFBFBD> <20><><EFBFBD><EFBFBD>
PartyMemberActionType_PartyLeader = 9; // <20><>Ƽ <20><><EFBFBD><EFBFBD> <20>Ӹ<EFBFBD>
PartyMemberActionType_JoinParty = 10; // <20><>Ƽ <20><><EFBFBD><EFBFBD>
PartyMemberActionType_LeaveParty = 11; // <20><>Ƽ Ż<><C5BB>
PartyMemberActionType_BanParty = 12; // <20><>Ƽ <20>߹<EFBFBD>
}
enum UserBlockPolicyType
{
UserBlockPolicyType_None = 0;
UserBlockPolicyType_Access_Restrictions = 1; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockPolicyType_Chatting_Restrictions = 2; //ä<><C3A4> <20><><EFBFBD><EFBFBD>
}
enum UserBlockReasonType
{
UserBlockReasonType_None = 0;
UserBlockReasonType_Bad_Behavior = 1; //<2F><><EFBFBD>ų<EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Inappropriate_Name = 2; //<2F>Ұ<EFBFBD><D2B0><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Cash_Transaction = 3; //<2F><><EFBFBD>ݰŷ<DDB0> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Game_Interference = 4; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Service_Interference = 5; //<2F><EFBFBD><EEBFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Account_Impersonation = 6; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UserBlockReasonType_Bug_Abuse = 7; //<2F><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>¡
UserBlockReasonType_Illegal_Program = 8; //<2F>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>α׷<CEB1> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Personal_Info_Leak = 9; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
UserBlockReasonType_Asmin_Impersonation = 10; //<2F><EFBFBD><EEBFB5> <20><>Ī
}
// <20><>ƼƼ <20>˸<EFBFBD> Ʈ<><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum EntityAlertTriggerType
{
EntityAlertTriggerType_None = 0;
EntityAlertTriggerType_ItemExpireWarningBefore = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2B0A3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>˸<EFBFBD>
EntityAlertTriggerType_ItemExpire = 2; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E2B0A3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>˸<EFBFBD>
}
// <20><>ƼƼ <20>˸<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
enum EntityAlertMethodType
{
EntityAlertMethodType_None = 0;
EntityAlertMethodType_Mail = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˸<EFBFBD>
}

View File

@@ -0,0 +1,24 @@
syntax = "proto3";
import "Define_Common.proto";
//=============================================================================================
// Meta <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ带 <20>ۼ<EFBFBD> <20>Ѵ<EFBFBD>.
// - kangms
//=============================================================================================
//=============================================================================================
// GameConfigData <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Key Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
// ConstantKeyType <20><> <20><><EFBFBD><EFBFBD> <20>ڵ忡<DAB5><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<>Ը<EFBFBD><D4B8><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><>ȯ<EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD> <20>Ѵ<EFBFBD>. - kangms
//=============================================================================================
enum ConstantKeyType
{
ConstantKeyType_None = 0;
ConstantKeyType_DefaultEntryWorldIdWhenLoginToAuth = 1; // <20>α<EFBFBD><CEB1>ν<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⺻ Id
}

View File

@@ -0,0 +1,78 @@
syntax = "proto3";
import "Define_Common.proto";
option java_multiple_files = true;
option java_package = "com.caliverse.admin.domain.RabbitMq.message";
//=============================================================================================
// 프로그램 공통 정보
//=============================================================================================
// 메타 스키마 관련 버전 정보
// 년뒤(4자리) + 월(2자리) + 일(2자리) + 일단위 빌드 횟수
// 사용의 예) 202310301 : 2023년 10월 30일에 1회 빌드
// 패킷 버전 정보
// 년뒤(4자리) + 월(2자리) + 일(2자리) + 일단위 빌드 횟수
// 사용의 예) 202310301 : 2023년 10월 30일에 1회 빌드
//=============================================================================================
// 클라이언트 프로그램 전용 버전 정보
//=============================================================================================
// 클라이언트 로직 버전 정보
// 구조 : 클라이언트에서 정의하면 작성 하도록 한다. !!!
// 클라이언트 프로그램 버전 정보
message ClientProgramVersion
{
uint64 metaSchemaVersion = 1;
uint64 metaDataVersion = 2;
uint64 packetVersion = 3;
uint64 logicVersion = 4;
uint64 resourceVersion = 5;
}
//=============================================================================================
// 서버 프로그램 전용 버전 정보
//=============================================================================================
// CLR Assembly Version 정보를 담는다 !!!
message LogicVersion
{
int32 major = 1;
int32 minor = 2;
int32 build = 3;
int32 revision = 4;
}
// 서버 로직 버전 정보
// 구조 : Assembly Version 포멧을 따르도록 한다.
// 디비 관련 버전 정보
// 구조 : 년(4자리) + 월(2자리) + 일(2자리) + 일단위 빌드 횟수
// 사용의 예) 202310301 : 2023년 10월 30일에 1회 빌드
// 리소스 관련 버전 정보
// 구조 : 년(4자리) + 월(2자리) + 일(2자리) + 일단위 빌드 횟수
// 사용의 예) 202310301 : 2023년 10월 30일에 1회 빌드
// Config 관련 버전 정보
// 구조 : 년(4자리) + 월(2자리) + 일(2자리) + 일단위 빌드 횟수
// 사용의 예) 202310301 : 2023년 10월 30일에 1회 빌드
message ServerProgramVersion
{
uint64 metaSchemaVersion = 1;
uint64 metaDataVersion = 2;
uint64 dbSchemaVersion = 3;
uint64 packetVersion = 4;
LogicVersion logicVersion = 5;
uint64 resourceVersion = 6;
uint64 configVersion = 7;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
syntax = "proto3";
import "Game_Protocol_Define.proto";
message GameProtocol
{
//===============================================================================================
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
// <20>ϴ<EFBFBD> MS5 <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>׽<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31>(REQ, ACK, NTF) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD>. - kangms
//===============================================================================================
oneof msg
{
C2GS_REQ_PACKET reqPacket = 1;
GS2C_ACK_PACKET ackPacket = 2;
GC2C_NTF_PACKET ntfPacket = 3;
}
}

View File

@@ -0,0 +1,27 @@
syntax = "proto3";
import "Define_Common.proto";
import "Define_Result.proto";
import "Game_Define.proto";
//===============================================================================================
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
// <20>ϴ<EFBFBD> MS5 <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20>׽<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31>(REQ, ACK, NTF) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD>. - kangms
//===============================================================================================
message C2GS_REQ_PACKET
{
int32 id = 1;
}
message GS2C_ACK_PACKET
{
int32 id = 1;
}
message GC2C_NTF_PACKET
{
int32 id = 1;
}

View File

@@ -0,0 +1,685 @@
syntax = "proto3";
import "google/protobuf/timestamp.proto";
import "Define_Common.proto";
import "Define_Result.proto";
import "Define_ProgramVersion.proto";
import "Game_Define.proto";
option java_multiple_files = true;
option java_package = "com.caliverse.admin.domain.RabbitMq.message";
message ServerMessage
{
message Chat {
ChatType type = 1;
string senderNickName = 2;
string receiverGuid = 3;
PlayerStateType receiverstate = 4;
string message = 5;
}
message KickReq {
int32 reqId = 1;
string name = 2;
}
message KickRes {
int32 reqId = 1;
ServerErrorCode errCode = 2;
string name = 3;
}
message GetServerConfigReq {
}
message GetServerConfigRes {
int32 serverType = 1;
int32 worldId = 2;
int32 region = 3;
}
message WhiteListUpdateNoti {
}
message BlackListUpdateNoti {
}
message InspectionReq {
int32 isInspection = 1;
}
message ReadyForDistroyReq {
int32 isReadyForDistroy = 1;
}
message ManagerServerActiveReq {
int32 isActive = 1;
}
message ManagerServerActiveRes {
int32 isActive = 1;
}
message ChangeServerConfigReq {
int32 maxUser = 1;
}
message AllKickNormalUserNoti {
}
message ReceiveMailNoti{
string accountGuid = 1;
}
message AwsAutoScaleGroupOptionReq {
int32 scaleOutPlusConstant = 1;
int32 scaleInCondition = 2;
int32 scaleOutCondition = 3;
string serverName = 4;
int32 groupMin = 5;
int32 groupCapacity = 6;
}
message AwsAutoScaleGroupOptionRes {
}
message ExchangeMannequinDisplayItemNoti{
string anchorGuid = 1;
repeated int32 displayItemIds = 2;
}
message SacleInfo{
string ServerGroupName = 1;
int32 MinSize = 2;
int32 CapaCity = 3;
}
message GetAwsAutoScaleOptionReq {
}
message GetAwsAutoScaleOptionRes {
int32 scaleOutPlusConstant = 1;
int32 scaleInCondition = 2;
int32 scaleOutCondition = 3;
repeated SacleInfo instanceInfoList = 4;
int32 isActive = 5;
}
message InviteFriendToMyHomeReq {
string inviterGuid = 1;
string inviterNickName = 2;
string inviterRoomId = 3;
}
message ToFiendNotiBase
{
string senderId = 1;
string senderGuid = 2;
string senderNickName = 3;
int32 senderState = 4;
int32 senderMapId = 5;
string receiverId = 6;
string receiverGuid = 7;
string receiverNickName = 8;
}
message InviteMyHomeBase
{
string senderId = 1;
string senderGuid = 2;
string senderNickName = 3;
//int32 senderState = 4;
//int32 senderMapId = 5;
string receiverId = 4;
string receiverGuid = 5;
string receiverNickName = 6;
}
message LoginNotiToFriend
{
ToFiendNotiBase baseInfo = 1;
UserLocationInfo locationInfo = 2;
}
message LogoutNotiToFriend
{
ToFiendNotiBase baseInfo = 1;
}
message StateNotiToFriend
{
ToFiendNotiBase baseInfo = 1;
UserLocationInfo locationInfo = 2;
}
message ReceiveInviteMyHomeNoti
{
InviteMyHomeBase baseInfo = 1;
string inviterMyHomeId = 2;
google.protobuf.Timestamp expireTime = 3;
google.protobuf.Timestamp replyExpireTime = 4;
string uniqueKey = 5;
}
message ReplyInviteMyhomeNoti
{
int32 acceptOrRefuse = 1;
string receiverId = 2;
string replyUserGuid = 3;
}
message KickFromFriendsHomeNoti
{
string kickerGuid = 1;
string kickerId = 2;
}
message FriendRequestInfo
{
string guid = 1;
string nickName = 2;
int32 isNew = 3;
google.protobuf.Timestamp requestTime = 4;
}
message FriendRequestNoti
{
FriendRequestInfo requestInfo = 1;
string receiverId = 2;
}
message FriendAcceptNoti
{
string senderId = 1;
string senderGuid = 2;
string senderNickName = 3;
int32 acceptOrRefuse = 4;
string receiverId = 5;
string receiverGuid = 6;
}
message FriendDeleteNoti
{
string senderId = 1;
string senderGuid = 2;
string senderNickName = 3;
string receiverId = 4;
string receiverGuid = 5;
}
message CancelFriendRequestNoti
{
string senderId = 1;
string senderGuid = 2;
string senderNickName = 3;
string receiverId = 4;
string receiverGuid = 5;
}
message KickedFromFriendsMyHomeNoti
{
}
message GS2GS_REQ_RESERVATION_ENTER_TO_SERVER
{
ServerMoveType moveType = 1;
string requestServerName = 2;
string requestUserGuid = 3;
string summonPartyGuid = 4;
}
message GS2GS_ACK_RESERVATION_ENTER_TO_SERVER
{
Result result = 1;
string reservationUserGuid = 2;
string reservationServerName = 3;
}
message GS2GS_REQ_RESERVATION_CANCEL_TO_SERVER
{
string requestServerName = 1;
string requestUserGuid = 2;
}
message GS2GS_ACK_RESERVATION_CANCEL_TO_SERVER
{
string requestUserGuid = 1;
}
message GS2GS_NTF_RETURN_USER_LOGOUT
{
string returnUserGuid = 1;
}
message GS2C_NTF_FRIEND_LEAVING_HOME
{
string guid = 1;
string nickName = 2;
string receiverId = 3;
}
message GS2C_NTF_PARTY_INFO
{
string partyGuid = 1;
repeated string partyMemberGuids = 2;
}
message GS2C_NTF_PARTY_CHAT
{
string partyGuid = 1;
string partySenderGuid = 2;
string partySenderNickname = 3;
string partySendMessage = 4;
}
message GS2C_NTF_PARTY_INVITE_RESULT
{
ServerErrorCode errorCode = 1;
string invitePartyGuid = 2;
string inviteHostGuid = 3;
string inviteUserGuid = 4;
}
message GS2C_NTF_DESTROY_PARTY
{
string destroyPartyGuid = 1;
}
message InvitePartyNoti {
string inviteUserGuid = 1;
string invitePartyLeaderGuid = 2;
string invitePartyGuid = 3;
}
message ReplyInvitePartyNoti {
string invitePartyGuid = 1;
string inviteUserGuid = 2;
string inviteUserNickname = 3;
BoolType result = 4;
}
message CreatePartyNoti {
string joinPartyMemberAccountId = 1;
string createPartyGuid = 2;
}
message JoinPartyMemberNoti {
string partyGuid = 1;
string joinPartyMemberInfo = 2;
}
message LeavePartyMemberNoti {
string partyGuid = 1;
string leavePartyUserGuid = 2;
BoolType isBan = 3;
}
message ChangePartyServerNameNoti {
string partyGuid = 1;
BoolType isAddition = 2;
string ServerName = 3;
}
message RemovePartyServerNameNoti {
string partyGuid = 1;
string removeServerName = 2;
}
message ChangePartyLeaderNoti {
string partyGuid = 1;
string newPartyLeaderGuid = 2;
}
message ExchangePartyNameNoti {
string partyGuid = 1;
string newPartyName = 2;
}
message JoiningPartyFlagResetNoti {
string targetAccountId = 1;
}
message ExchangePartyMemberMarkNoti {
string partyGuid = 1;
string memberUserGuid = 2;
int32 markId = 3;
}
message BanPartyNoti {
string partyGuid = 1;
string banMemberGuid = 2;
}
message SummonPartyMemberNoti {
string summonPartyGuid = 1;
string summonUserGuid = 2;
string summonServerName = 3;
Pos summonPos = 4;
}
message ReplySummonPartyMemberNoti {
string summonPartyGuid = 1;
string summonUserGuid = 2;
SummonPartyMemberResultType result = 3;
}
message NoticeChatNoti {
}
message SystemMailNoti {
}
message PartyVoteNoti {
string partyGuid = 1;
string voteTitle = 2;
google.protobuf.Timestamp voteStartTime = 3;
}
message ReplyPartyVoteNoti {
string partyGuid = 1;
string partyVoterGuid = 2;
VoteType vote = 3;
}
message PartyVoteResultNoti {
string partyGuid = 1;
string voteTitle = 2;
int32 resultTrue = 3;
int32 resultFalse = 4;
int32 abstain = 5;
}
message PartyInstanceInfoNoti {
string partyGuid = 1;
}
message SessionInfoNoti {
string instanceId = 1;
int32 sessionCount = 2;
int32 serverType = 3;
int32 worldId = 4;
}
message CancelSummonPartyMemberNoti {
string partyGuid = 1;
repeated string cancelSummonUserGuids = 2;
}
message PartyMemberLocationNoti {
string partyGuid = 1;
string partyMemberGuid = 2;
}
message GS2GS_NTF_CLEAR_PARTY_SUMMON {
string partyGuid = 1;
string memberUserGuid = 2;
}
message GS2GS_NTF_DELETE_PARTY_INVITE_SEND {
string partyGuid = 1;
string inviteUserGuid = 2;
}
message GS2GS_NTF_CRAFT_HELP {
string roomId = 1;
string anchor_guid = 2;
google.protobuf.Timestamp craftFinishTime = 3;
string ownerGuid = 4;
int32 ownerHelpedCount = 5;
string helpUserName = 6;
}
message GS2GS_NTF_EXCHANGE_MYHOME {
string roomId = 1;
string myhomeGuid = 2;
MyHomeInfo myhomeInfo = 3;
}
message GS2GS_NTF_UGC_NPC_RANK_REFRESH {
}
message GS2GS_NTF_MYHOME_HOST_ENTER_EDIT_ROOM {
string roomId = 1;
string exceptUserGuid = 2;
}
message MOS2GS_NTF_USER_KICK
{
string userGuid = 1;
LogoutReasonType logoutReasonType = 2;
string kickReasonMsg = 3;
}
message MOS2GS_NTF_MAIL_SEND
{
string userGuid = 1;
string mailType = 2;
repeated MailItem itemList = 3;
repeated OperationSystemMessage title = 4;
repeated OperationSystemMessage msg = 5;
repeated OperationSystemMessage sender = 6;
}
message MOS2GS_NTF_NOTICE_CHAT
{
repeated string noticeType = 1;
repeated OperationSystemMessage chatMessage = 2;
repeated OperationSystemMessage sender = 3;
}
message GS2MQS_NTF_FARMING_END {
string userGuid = 1;
FarmingSummary farmingSummary = 5; // <20>Ĺ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
BoolType isApplyDb = 6; // Db <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
}
message GS2MQS_NTF_BEACON_COMPACT_SYNC {
string userGuid = 1;
UgcNpcCompact ugcNpcCompact = 5; // UgcNpc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
string locatedInstanceGuid = 6; // <20><>ġ<EFBFBD><C4A1> instance Guid
}
message GS2GS_NTF_RENT_FLOOR
{
string exceptServerName = 1;
RentFloorRequestInfo rentFloorRequestInfo = 2;
int32 instanceMetaId = 3;
}
message GS2GS_NTF_MODIFY_FLOOR_LINKED_INFOS
{
string exceptServerName = 1;
repeated ModifyFloorLinkedInfo modifyFloorLinkedInfos = 2;
}
message OS2GS_REQ_CREATE_CALIUM_CONTENT_STORAGE
{
string requestServerName = 1;
string contentId = 2;
double calium = 3;
}
message OS2GS_ACK_CREATE_CALIUM_CONTENT_STORAGE
{
Result result = 1;
}
message GS2GS_NTF_CHANGE_CALIUM_STORAGE_INFO
{
}
message GS2GS_NTF_MODIFY_LAND_INFO
{
string exceptServerName = 1;
repeated LandInfo landInfos = 2;
}
message GS2GS_NTF_MODIFY_BUILDING_INFO
{
string exceptServerName = 1;
repeated BuildingInfo buildingInfos = 2;
}
message GS2GS_NTF_MODIFY_BUILDING_PROFIT
{
string exceptServerName = 1;
int32 buildingMetaId = 2;
map<int32, FloorProfitInfo> floorProfits = 3;
}
// <20><><EFBFBD><EFBFBD> to Other <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> Delivery <20><><EFBFBD><EFBFBD> Packet ó<><C3B3> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
message GS2GS_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE
{
string receiverUserGuid = 1; // <20><>Ŷ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ĺ<EFBFBD>Ű
BoolType hasReceivedRefundMail = 2; // ȯ<>ޱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
int32 landMetaId = 3; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> LandData Meta Id
CurrencyType currencyType = 5; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȭ <20><><EFBFBD><EFBFBD>
double highestBidPrice = 6; // <20>ְ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string highestBidUserGuid = 7; // <20>ְ<EFBFBD><D6B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ĺ<EFBFBD>Ű
string highestBidUserNickname = 8; // <20>ְ<EFBFBD><D6B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>г<EFBFBD><D0B3><EFBFBD>
}
message GS2GS_NTF_LAND_AUCTION_WINNING_BID
{
string winningUserGuid = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ĺ<EFBFBD>Ű
string winningUserNickname = 2; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>г<EFBFBD><D0B3><EFBFBD>
int32 landMetaId = 5; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> LandData Meta Id
repeated int32 buildingMetaIds = 6; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><20><>ġ<EFBFBD><C4A1> BuildingData Meta Id <20><><EFBFBD><EFBFBD>
BoolType isNewRecvMail = 7; // <20><><EFBFBD>ο<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
}
message GS2GS_NTF_LAND_AUCTION_RESERVATION
{
repeated int32 toAddActivitings = 1; // Ȱ<><C8B0>ȭ <20><><EFBFBD>Ͽ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD> Meta Id
}
message GS2GS_NTF_ADD_BUILDING_PROFIT_HISTORY
{
string exceptServerName = 1;
int32 buildingMetaId = 2;
int32 floor = 3;
google.protobuf.Timestamp profitTime = 4;
ProfitHistoryType profitHistoryType = 5;
FloorProfitInfo floorProfit = 6;
}
message GS2GS_NTF_ADD_BUILDING_RENTAL_HISTORY
{
string exceptServerName = 1;
int32 buildingMetaId = 2;
int32 floor = 3;
string renteeUserGuid = 4;
google.protobuf.Timestamp rentalTime = 5;
int32 rentalPeriod = 6;
}
message GS2GS_NTF_UPDATE_SOLD_RECORD
{
string targetUserGuid = 1;
}
message GS2GS_NTF_UPDATE_BEACON_SHOP_ITEM
{
string targetUserGuid = 1;
string targetBeaconGuid = 2;
}
google.protobuf.Timestamp messageTime = 1;
string messageSender = 2;
oneof msg {
Chat chat = 3;
KickReq kickReq = 4;
KickRes kickRes = 5;
WhiteListUpdateNoti whiteListUpdateNoti = 7;
BlackListUpdateNoti blackListUpdateNoti = 8;
InspectionReq inspectionReq = 9;
ChangeServerConfigReq changeServerConfigReq = 10;
AllKickNormalUserNoti allKickNormalUserNoti = 11;
AwsAutoScaleGroupOptionReq awsAutoScaleGroupOptionReq = 12;
AwsAutoScaleGroupOptionRes awsAutoScaleGroupOptionRes = 13;
ReceiveMailNoti receiveMailNoti = 14;
ExchangeMannequinDisplayItemNoti exchangeMannequinDisplayItemNoti = 15;
GetAwsAutoScaleOptionReq getAwsAutoScaleOptionReq = 16;
GetAwsAutoScaleOptionRes getAwsAutoScaleOptionRes = 17;
ReadyForDistroyReq readyForDistroyReq = 18;
LoginNotiToFriend loginNotiToFriend = 19;
LogoutNotiToFriend logoutNotiToFriend = 20;
ManagerServerActiveReq managerServerActiveReq = 21;
ManagerServerActiveRes managerServerActiveRes = 22;
ReceiveInviteMyHomeNoti receiveInviteMyHomeNoti = 23;
ReplyInviteMyhomeNoti replyInviteMyhomeNoti = 24;
StateNotiToFriend stateNotiToFriend = 25;
FriendRequestNoti friendRequestNoti = 26;
FriendAcceptNoti friendAcceptNoti = 27;
FriendDeleteNoti friendDeleteNoti = 28;
CancelFriendRequestNoti cancelFriendRequestNoti = 29;
InvitePartyNoti invitePartyNoti = 30;
ReplyInvitePartyNoti replyInvitePartyNoti = 31;
JoinPartyMemberNoti joinPartyMemberNoti = 33;
LeavePartyMemberNoti leavePartyMemberNoti = 34;
ChangePartyServerNameNoti changePartyServerNameNoti = 35;
ChangePartyLeaderNoti changePartyLeaderNoti = 37;
ExchangePartyNameNoti exchangePartyNameNoti = 38;
ExchangePartyMemberMarkNoti exchangePartyMemberMarkNoti = 40;
BanPartyNoti banPartyNoti = 41;
SummonPartyMemberNoti summonPartyMemberNoti = 42;
ReplySummonPartyMemberNoti replySummonPartyMemberNoti = 43;
NoticeChatNoti noticeChatNoti = 44;
SystemMailNoti systemMailNoti = 45;
PartyVoteNoti partyVoteNoti = 46;
ReplyPartyVoteNoti replyPartyVoteNoti = 47;
PartyVoteResultNoti partyVoteResultNoti = 48;
PartyInstanceInfoNoti partyInstanceInfoNoti = 49;
SessionInfoNoti sessionInfoNoti = 50;
KickedFromFriendsMyHomeNoti kickedFromFriendsMyHomeNoti = 51;
CancelSummonPartyMemberNoti cancelSummonPartyMemberNoti = 53;
PartyMemberLocationNoti partyMemberLocationNoti = 54;
GS2C_NTF_FRIEND_LEAVING_HOME ntfFriendLeavingHome = 55;
GS2C_NTF_PARTY_INVITE_RESULT ntfInvitePartyRecvResult = 56;
GS2C_NTF_DESTROY_PARTY ntfDestroyParty = 57;
GS2GS_REQ_RESERVATION_ENTER_TO_SERVER reqReservationEnterToServer = 58;
GS2GS_ACK_RESERVATION_ENTER_TO_SERVER ackReservationEnterToServer= 59;
GS2C_NTF_PARTY_CHAT ntfPartyChat = 60;
GS2C_NTF_PARTY_INFO ntfPartyInfo = 61;
GS2GS_NTF_RETURN_USER_LOGOUT ntfReturnUserLogout = 62;
GS2GS_NTF_CLEAR_PARTY_SUMMON ntfClearPartySummon = 63;
GS2GS_NTF_CRAFT_HELP ntfCraftHelp = 64;
GS2GS_REQ_RESERVATION_CANCEL_TO_SERVER reqReservationCancelToServer = 65;
GS2GS_NTF_EXCHANGE_MYHOME ntfExchangeMyhome = 66;
GS2GS_NTF_UGC_NPC_RANK_REFRESH ntfUgcNpcRankRefresh = 67;
GS2GS_NTF_DELETE_PARTY_INVITE_SEND ntfDeletePartyInviteSend = 68;
GS2GS_NTF_MYHOME_HOST_ENTER_EDIT_ROOM ntfMyhomeHostEnterEditRoom = 69;
MOS2GS_NTF_USER_KICK ntfUserKick = 70;
MOS2GS_NTF_MAIL_SEND ntfMailSend = 71;
MOS2GS_NTF_NOTICE_CHAT ntfOperationSystemNoticeChat = 72;
GS2GS_ACK_RESERVATION_CANCEL_TO_SERVER ackReservationCancelToServer = 73;
GS2MQS_NTF_FARMING_END ntfFarmingEnd = 74;
GS2GS_NTF_RENT_FLOOR ntfRentFloor = 75;
GS2GS_NTF_MODIFY_FLOOR_LINKED_INFOS ntfModifyFloorLinkedInfos = 76;
GS2MQS_NTF_BEACON_COMPACT_SYNC ntfBeaconCompactSync = 77;
OS2GS_REQ_CREATE_CALIUM_CONTENT_STORAGE reqCreateContentStorage = 78;
OS2GS_ACK_CREATE_CALIUM_CONTENT_STORAGE ackCreateContentStorage = 79;
GS2GS_NTF_CHANGE_CALIUM_STORAGE_INFO ntfChangeCaliumStorageInfo = 80;
GS2GS_NTF_MODIFY_LAND_INFO ntfModifyLandInfo = 81;
GS2GS_NTF_MODIFY_BUILDING_INFO ntfModifyBuildingInfo = 82;
GS2GS_NTF_MODIFY_BUILDING_PROFIT ntfModifyBuildingProfit = 83;
GS2GS_NTF_LAND_AUCTION_HIGHEST_BIDDER_CHANGE ntfLandAuctionHighestBidderChange = 84;
GS2GS_NTF_LAND_AUCTION_WINNING_BID ntfLandAuctionWinningBid = 85;
GS2GS_NTF_LAND_AUCTION_RESERVATION ntfLandAuctionReservation = 86;
GS2GS_NTF_ADD_BUILDING_PROFIT_HISTORY ntfAddBuildingProfitHistory = 87;
GS2GS_NTF_ADD_BUILDING_RENTAL_HISTORY ntfAddBuildingRentalHistory = 88;
GS2GS_NTF_UPDATE_SOLD_RECORD ntfUpdateSoldRecord = 89;
GS2GS_NTF_UPDATE_BEACON_SHOP_ITEM ntfUpdateBeaconShopItem = 90;
}
}

View File

@@ -0,0 +1,15 @@
syntax = "proto3";
option csharp_namespace = "UGQApiServer";
message LoginRequest
{
string username = 1;
string password = 2;
}
message LoginResponse
{
string token = 1;
}

45
Protocol/proto_build.bat Normal file
View File

@@ -0,0 +1,45 @@
@echo off
cd /d %~dp0proto
rem ===============================================================================================
rem CSharp 코드 생성 및 출력
rem ===============================================================================================
set protoc_exe=..\..\..\ThirdPartyPackages\protobuf\3.21.12\bin\protoc.exe
set proto_out=..\out-Proto\
del %proto_out% /q /f
if %ERRORLEVEL% NEQ 0 (
popd .
echo Failed to DEL from Proto out path !!! - Path : [%proto_out%] !!!
goto ERROR
)
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Define_Common.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Define_Meta.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Define_Result.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Define_ProgramVersion.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Auth_Protocol.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Game_Define.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Game_Protocol_Define.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Game_Protocol.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% Community_Protocol.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% ClientToLogin.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% ClientToGame.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% ClientToChat.proto
%protoc_exe% --csharp_opt=serializable --csharp_out=%proto_out% ServerMessage.proto
cd ..
copy proto\*.proto ..\..\..\Common\MS2Packet\proto
rem 모든 처리 과정을 성공 했으면 종료 한다.
:OK
EXIT /B 0
rem 모든 처리 과정중에 오류가 발생했으면 즉시 종료 한다.
:ERROR
echo ERROR !!! - ProtoBuf Generation Failed - ErrorCode : %ERRORLEVEL%
EXIT /B %ERRORLEVEL%