the stop dump zone command was implemented as a courtesy to other players in order to take into account when they would stop looking at unknown information however, this can be abused, a malicious client can send this command whenever they would like cockatrice is not a physical tabletop nor does it aim to be, if you can take a screenshot of your deck and then close the view, you are not cheating as you have been given this information in order to prevent anyone from abusing this we should remove the command from the protocol, this means servers will ignore this message and clients will get a little invalid command reply in their debug log the extension id will remain reserved shuffling your deck will always invalidate any card view looking at those cards if players wish to signal that they stopped looking at their deck for whatever reason they should just use the chat instead, optionally using one of the chat macros
180 lines
5.5 KiB
CMake
180 lines
5.5 KiB
CMake
# CMakeLists for common directory
|
|
#
|
|
# provides the protobuf interfaces
|
|
|
|
SET(PROTO_FILES
|
|
admin_commands.proto
|
|
card_attributes.proto
|
|
color.proto
|
|
command_attach_card.proto
|
|
command_change_zone_properties.proto
|
|
command_concede.proto
|
|
command_create_arrow.proto
|
|
command_create_counter.proto
|
|
command_create_token.proto
|
|
command_deck_del_dir.proto
|
|
command_deck_del.proto
|
|
command_deck_download.proto
|
|
command_deck_list.proto
|
|
command_deck_new_dir.proto
|
|
command_deck_select.proto
|
|
command_deck_upload.proto
|
|
command_del_counter.proto
|
|
command_delete_arrow.proto
|
|
command_draw_cards.proto
|
|
command_dump_zone.proto
|
|
command_flip_card.proto
|
|
command_game_say.proto
|
|
command_inc_card_counter.proto
|
|
command_inc_counter.proto
|
|
command_kick_from_game.proto
|
|
command_leave_game.proto
|
|
command_move_card.proto
|
|
command_mulligan.proto
|
|
command_next_turn.proto
|
|
command_ready_start.proto
|
|
command_replay_delete_match.proto
|
|
command_replay_list.proto
|
|
command_replay_download.proto
|
|
command_replay_modify_match.proto
|
|
command_reveal_cards.proto
|
|
command_reverse_turn.proto
|
|
command_roll_die.proto
|
|
command_set_active_phase.proto
|
|
command_set_card_attr.proto
|
|
command_set_card_counter.proto
|
|
command_set_counter.proto
|
|
command_set_sideboard_plan.proto
|
|
command_set_sideboard_lock.proto
|
|
command_shuffle.proto
|
|
commands.proto
|
|
command_undo_draw.proto
|
|
context_concede.proto
|
|
context_connection_state_changed.proto
|
|
context_deck_select.proto
|
|
context_move_card.proto
|
|
context_mulligan.proto
|
|
context_ping_changed.proto
|
|
context_ready_start.proto
|
|
context_set_sideboard_lock.proto
|
|
context_undo_draw.proto
|
|
event_add_to_list.proto
|
|
event_attach_card.proto
|
|
event_change_zone_properties.proto
|
|
event_connection_closed.proto
|
|
event_create_arrow.proto
|
|
event_create_counter.proto
|
|
event_create_token.proto
|
|
event_del_counter.proto
|
|
event_delete_arrow.proto
|
|
event_destroy_card.proto
|
|
event_draw_cards.proto
|
|
event_dump_zone.proto
|
|
event_flip_card.proto
|
|
event_game_closed.proto
|
|
event_game_host_changed.proto
|
|
event_game_joined.proto
|
|
event_game_say.proto
|
|
event_game_state_changed.proto
|
|
event_join.proto
|
|
event_join_room.proto
|
|
event_kicked.proto
|
|
event_leave.proto
|
|
event_leave_room.proto
|
|
event_list_games.proto
|
|
event_list_rooms.proto
|
|
event_move_card.proto
|
|
event_player_properties_changed.proto
|
|
event_remove_from_list.proto
|
|
event_replay_added.proto
|
|
event_reveal_cards.proto
|
|
event_reverse_turn.proto
|
|
event_roll_die.proto
|
|
event_room_say.proto
|
|
event_server_complete_list.proto
|
|
event_server_identification.proto
|
|
event_server_message.proto
|
|
event_server_shutdown.proto
|
|
event_set_active_phase.proto
|
|
event_set_active_player.proto
|
|
event_set_card_attr.proto
|
|
event_set_card_counter.proto
|
|
event_set_counter.proto
|
|
event_shuffle.proto
|
|
event_user_joined.proto
|
|
event_user_left.proto
|
|
event_user_message.proto
|
|
event_notify_user.proto
|
|
game_commands.proto
|
|
game_event_container.proto
|
|
game_event_context.proto
|
|
game_event.proto
|
|
game_replay.proto
|
|
isl_message.proto
|
|
moderator_commands.proto
|
|
move_card_to_zone.proto
|
|
response_activate.proto
|
|
response_ban_history.proto
|
|
response_deck_download.proto
|
|
response_deck_list.proto
|
|
response_deck_upload.proto
|
|
response_dump_zone.proto
|
|
response_forgotpasswordrequest.proto
|
|
response_get_games_of_user.proto
|
|
response_get_user_info.proto
|
|
response_join_room.proto
|
|
response_list_users.proto
|
|
response_login.proto
|
|
response_register.proto
|
|
response_replay_download.proto
|
|
response_replay_list.proto
|
|
response_adjust_mod.proto
|
|
response_warn_history.proto
|
|
response_warn_list.proto
|
|
response_viewlog_history.proto
|
|
response.proto
|
|
room_commands.proto
|
|
room_event.proto
|
|
serverinfo_arrow.proto
|
|
serverinfo_ban.proto
|
|
serverinfo_cardcounter.proto
|
|
serverinfo_card.proto
|
|
serverinfo_chat_message.proto
|
|
serverinfo_counter.proto
|
|
serverinfo_deckstorage.proto
|
|
serverinfo_game.proto
|
|
serverinfo_gametype.proto
|
|
serverinfo_playerping.proto
|
|
serverinfo_playerproperties.proto
|
|
serverinfo_player.proto
|
|
serverinfo_replay.proto
|
|
serverinfo_replay_match.proto
|
|
serverinfo_room.proto
|
|
serverinfo_user.proto
|
|
serverinfo_warning.proto
|
|
serverinfo_zone.proto
|
|
server_message.proto
|
|
session_commands.proto
|
|
session_event.proto
|
|
)
|
|
|
|
include_directories(${PROTOBUF_INCLUDE_DIRS})
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})
|
|
|
|
add_library(cockatrice_protocol ${PROTO_SRCS} ${PROTO_HDRS})
|
|
set(cockatrice_protocol_LIBS ${PROTOBUF_LIBRARIES})
|
|
if (UNIX)
|
|
set(cockatrice_protocol_LIBS ${cockatrice_protocol_LIBS} -lpthread)
|
|
endif (UNIX)
|
|
target_link_libraries(cockatrice_protocol ${cockatrice_protocol_LIBS})
|
|
|
|
# ubuntu uses an outdated package for protobuf, 3.1.0 is required
|
|
if(${Protobuf_VERSION} VERSION_LESS "3.1.0")
|
|
# remove unused parameter and misleading indentation warnings when compiling to avoid errors
|
|
set(CMAKE_CXX_FLAGS_DEBUG
|
|
"${CMAKE_CXX_FLAGS_DEBUG} -Wno-unused-parameter -Wno-misleading-indentation")
|
|
message(WARNING "Older protobuf version found (${Protobuf_VERSION} < 3.1.0), "
|
|
"disabled the warnings 'unused-parameter' and 'misleading-indentation' for protobuf generated code "
|
|
"to avoid compilation errors.")
|
|
endif()
|