rcon2mc 0.0.1

A Rcon Client lib for Minecraft Server.
Documentation

English | 简体中文

rcon2mc

Crates.io License Crates.io Version docs.rs GitHub contributors GitHub Actions Workflow Status GitHub Actions Workflow Status

rcon2mc is a Minecraft RCON protocol client library in Rust, used for executing commands remotely on a Java Edition Minecraft server.

Additionally, rcon2mc includes built-in wrappers for some Minecraft commands, allowing you to directly call these methods to execute commands.


Examples

Direct Usage rcon.send

(Compatible with all Minecraft versions between 1.9 and 26.1)

use rcon2mc::rcon_client::RconClient;

fn main(){
    let mut rcon = RconClient::builder()
        .host("127.0.0.1".to_string())
        .port(25575)
        .password("password".to_string())
        .build().expect("Failed to connect to server");
    let feedback = rcon.send("give @a minecraft:diamond 1".to_string()).expect("Failed to send command");
    
}

Using Wrapper Commands for Flexible Handling rcon.command

Tested on 1.12.2, 1.16.5, 1.20.1, 1.21.11, and 26.1

use rcon2mc::rcon_client::RconClient;
use rcon2mc::rcon_client::{TargetStatus, TargetStatusSuccess};

fn main(){
    let mut rcon = RconClient::builder()
        .host("127.0.0.1".to_string())
        .port(25575)
        .password("password".to_string())
        .build().expect("Failed to connect to server");
    let feedback = rcon.command().give("player114514", "minecraft:diamond_sword", 1);
    match feedback {
        // Player exists and command executed successfully
        Ok(TargetStatus::Success(TargetStatusSuccess::Success))=>{},
        // Player does not exist
        Ok(TargetStatus::NotFound)=>{},
        Err(e)=>{
            println!("{}", e);
        },
        _=>{},
    }
    
}

For specific built-in wrapper commands, please refer to the documentation.