Skip to main content

Crate azalea_reflection_proxy

Crate azalea_reflection_proxy 

Source
Expand description

azalea-reflection-proxy — spectate and control an azalea bot session through a local reflection proxy. Rust port of aesthetic0001/mineflayer-reflection-proxy.

The proxy owns the single real (Microsoft-authed) connection to the target server. Your bot connects to the proxy locally as an offline client and becomes the controller; vanilla clients that join the same local address become spectators, see the bot as a live player entity, and can take over with ,acquire.

use azalea_reflection_proxy::ReflectionProxy;

let proxy = ReflectionProxy::builder()
    .target("mc.hypixel.net")
    .email("you@example.com")
    .spawn()
    .await?;

// then point your azalea bot at it instead of the real server:
//   ClientBuilder::new()
//       .set_handler(handle)
//       .start(Account::offline("reflected"), proxy.local_addr())
// and add a vanilla-client server entry for the same address to
// spectate. proxy.local_addr() is a real SocketAddr, so a bound
// port of 0 picks a free one.

Re-exports§

pub use plugin::Frame;
pub use plugin::Pipeline;
pub use plugin::ProxyPlugin;
pub use plugin::Verdict;

Modules§

plugin
Plugin pipeline — the azalea equivalent of the JS project’s plugin system (anonymize / snapshot / synchronization / inventory / replicator).

Structs§

ProxyBuilder
Configuration for a reflection proxy. Build with ReflectionProxy::builder.
ReflectionProxy
A running reflection proxy. Dropping the handle does NOT stop it; call Self::shutdown for that.

Enums§

ProxyEvent
Things happening inside the proxy that the host program may care about — the port of the original’s clientJoin/changeControl server events. Subscribe with ReflectionProxy::subscribe.

Type Aliases§

ClientId