Skip to content

Commit

Permalink
Update protobuf definitions to include outOfStock and logoImage
Browse files Browse the repository at this point in the history
  • Loading branch information
olijeffers0n committed Jul 7, 2022
1 parent 1f7fce8 commit 57d701e
Show file tree
Hide file tree
Showing 5 changed files with 338 additions and 72 deletions.
251 changes: 251 additions & 0 deletions rustplus.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
syntax = "proto2";
package rustplus;

message AppMessage {
optional AppResponse response = 1;
optional AppBroadcast broadcast = 2;
}

message AppRequest {

required uint32 seq = 1;
required uint64 playerId = 2;
required int32 playerToken = 3;

optional uint32 entityId = 4;
optional AppEmpty getInfo = 8;
optional AppEmpty getTime = 9;
optional AppEmpty getMap = 10;
optional AppEmpty getTeamInfo = 11;
optional AppEmpty getTeamChat = 12;
optional AppSendMessage sendTeamMessage = 13;
optional AppEmpty getEntityInfo = 14;
optional AppSetEntityValue setEntityValue = 15;
optional AppEmpty checkSubscription = 16;
optional AppFlag setSubscription = 17;
optional AppEmpty getMapMarkers = 18;
optional AppPromoteToLeader promoteToLeader = 19;

}

message AppSendMessage {
required string message = 1;
}

message AppSetEntityValue {
required bool value = 1;
}

message AppCameraFrameRequest {
required string identifier = 1;
required uint32 frame = 2;
}

message AppPromoteToLeader {
required uint64 steamId = 1;
}

message AppResponse {
required uint32 seq = 1;
optional AppSuccess success = 4;
optional AppError error = 5;
optional AppInfo info = 6;
optional AppTime time = 7;
optional AppMap map = 8;
optional AppTeamInfo teamInfo = 9;
optional AppTeamChat teamChat = 10;
optional AppEntityInfo entityInfo = 11;
optional AppFlag flag = 12;
optional AppMapMarkers mapMarkers = 13;
}

message AppBroadcast {
optional AppTeamChanged teamChanged = 4;
optional AppTeamMessage teamMessage = 5;
optional AppEntityChanged entityChanged = 6;
}

message AppEmpty {

}

message AppSuccess {

}

message AppError {
required string error = 1;
}

message AppInfo {
required string name = 1;
required string headerImage = 2;
required string url = 3;
required string map = 4;
required uint32 mapSize = 5;
required uint32 wipeTime = 6;
required uint32 players = 7;
required uint32 maxPlayers = 8;
required uint32 queuedPlayers = 9;
optional uint32 seed = 10;
optional uint32 salt = 11;
optional string logoImage = 12;
}

message AppTime {
required float dayLengthMinutes = 1;
required float timeScale = 2;
required float sunrise = 3;
required float sunset = 4;
required float time = 5;
}

message AppMap {

required uint32 width = 1;
required uint32 height = 2;
required bytes jpgImage = 3;
required int32 oceanMargin = 4;
repeated AppMap.Monument monuments = 5;
optional string background = 6;

message Monument {
required string token = 1;
required float x = 2;
required float y = 3;
}

}

message AppTeamInfo {

required uint64 leaderSteamId = 1;
repeated AppTeamInfo.Member members = 2;
repeated AppTeamInfo.Note mapNotes = 3;
repeated AppTeamInfo.Note leaderMapNotes = 4;

message Member {
required uint64 steamId = 1;
required string name = 2;
required float x = 3;
required float y = 4;
required bool isOnline = 5;
required uint32 spawnTime = 6;
required bool isAlive = 7;
required uint32 deathTime = 8;
}

message Note {
required int32 type = 2;
required float x = 3;
required float y = 4;
}

}

message AppTeamChat {
repeated AppChatMessage messages = 1;
}

message AppChatMessage {
required uint64 steamId = 1;
required string name = 2;
required string message = 3;
required string color = 4;
required uint32 time = 5;
}

message AppEntityInfo {
required AppEntityType type = 1;
required AppEntityPayload payload = 3;
}

enum AppEntityType {
Switch = 1;
Alarm = 2;
StorageMonitor = 3;
}

message AppEntityPayload {

optional bool value = 1;
repeated AppEntityPayload.Item items = 2;
optional int32 capacity = 3;
optional bool hasProtection = 4;
optional uint32 protectionExpiry = 5;

message Item {
required int32 itemId = 1;
required int32 quantity = 2;
required bool itemIsBlueprint = 3;
}

}

message AppFlag {
required bool value = 1;
}

message AppMapMarkers {
repeated AppMarker markers = 1;
}

message Vector4 {
optional float x = 1;
optional float y = 2;
optional float z = 3;
optional float w = 4;
}

message AppMarker {

required uint32 id = 1;
required AppMarkerType type = 2;
required float x = 3;
required float y = 4;
optional uint64 steamId = 5;
optional float rotation = 6;
optional float radius = 7;
optional Vector4 color1 = 8;
optional Vector4 color2 = 9;
optional float alpha = 10;
optional string name = 11;
optional bool outOfStock = 12;
repeated AppMarker.SellOrder sellOrders = 13;

message SellOrder {
required int32 itemId = 1;
required int32 quantity = 2;
required int32 currencyId = 3;
required int32 costPerItem = 4;
required int32 amountInStock = 5;
required bool itemIsBlueprint = 6;
required bool currencyIsBlueprint = 7;
}

}

enum AppMarkerType {
Player = 1;
Explosion = 2;
VendingMachine = 3;
CH47 = 4;
CargoShip = 5;
Crate = 6;
GenericRadius = 7;
PatrolHelicopter = 8;
}

message AppTeamChanged {
required uint64 playerId = 1;
required AppTeamInfo teamInfo = 2;
}

message AppTeamMessage {
required AppChatMessage message = 1;
}

message AppEntityChanged {
required uint32 entityId = 1;
required AppEntityPayload payload = 2;
}
Loading

0 comments on commit 57d701e

Please sign in to comment.