diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/kill_proxy.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/kill_proxy.cpp b/src/kill_proxy.cpp index a2a2e27..82723e1 100644 --- a/src/kill_proxy.cpp +++ b/src/kill_proxy.cpp @@ -26,11 +26,13 @@ using net::packet::operator""_ns; template <typename T, T... ints> -void forward_packets(net::conn &dst, net::conn &src, std::integer_sequence<T, ints...> int_seq) { - (src.reg_handler<net::packet::raw<ints>>([&dst](auto &a) { +void forward_packets(net::conn& dst, net::conn& src, std::integer_sequence<T, ints...> int_seq) +{ + (src.reg_handler<net::packet::raw<ints+1>>([&dst](auto& a) { dst.send_packet(a); return true; - }), ...); + }), + ...); } int main(int argc, char* argv[]) @@ -50,25 +52,25 @@ int main(int argc, char* argv[]) return false; }); - proxy_conn.reg_handler<net::packet::damage_player>([&slot, &server_conn](auto &dmg) { + proxy_conn.reg_handler<net::packet::damage_player>([&slot, &server_conn](auto& dmg) { if (dmg.client_id != slot) { dmg.damage *= 100; dmg.reason.reasons.at(0) = 0; dmg.reason.reasons[net::packet::death_reason::reason::Custom] = true; dmg.reason.custom = "killed by server insecurity"; - + server_conn.send_packet(dmg); return true; } return false; }); - forward_packets(server_conn, proxy_conn, std::make_integer_sequence<uint8_t, 255>{}); - forward_packets(proxy_conn, server_conn, std::make_integer_sequence<uint8_t, 255>{}); + forward_packets(server_conn, proxy_conn, std::make_integer_sequence<uint8_t, 255> {}); + forward_packets(proxy_conn, server_conn, std::make_integer_sequence<uint8_t, 255> {}); - auto handle_loop = [] (net::conn &c) { - for(;;) { + auto handle_loop = [](net::conn& c) { + for (;;) { c.handle(); } }; |
