itzg / itzg/rcon-cli

Response buffer of 4096 is too small for some commands

Open
#42 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
217
Forks
21
PR merge metrics
No merged PRs in 30d

Description

Running rcon-cli for my minecraft server I can see that the response buffer of rcon-cli is limited to 4096 as can be seen below:

```sh
$ rcon-cli help
/advancement (grant|revoke)/attribute (get|base|modifier)/execute (run|if|unless|as|at|store|positioned|rotated|facing|align|anchored|in|summon|on)/bossbar (add|remove|list|set|get)/clear []/clone (|from)/damage []/data (merge|get|remove|modify)/datapack (enable|disable|list)/debug (start|stop|function)/defaultgamemode /difficulty [peaceful|easy|normal|hard]/effect (clear|give)/me /enchant []/experience (add|set|query)/xp -> experience/fill [replace|keep|outline|hollow|destroy]/fillbiome [replace]/forceload (add|remove|query)/function /gamemode []/gamerule (announceAdvancements|blockExplosionDropDecay|commandBlockOutput|commandModificationBlockLimit|disableElytraMovementCheck|disableRaids|doDaylightCycle|doEntityDrops|doFireTick|doImmediateRespawn|doInsomnia|doLimitedCrafting|doMobLoot|doMobSpawning|doPatrolSpawning|doTileDrops|doTraderSpawning|doVinesSpread|doWardenSpawning|doWeatherCycle|drowningDamage|fallDamage|fireDamage|forgiveDeadPlayers|freezeDamage|globalSoundEvents|keepInventory|lavaSourceConversion|logAdminCommands|maxCommandChainLength|maxEntityCramming|mobExplosionDropDecay|mobGriefing|naturalRegeneration|playersSleepingPercentage|randomTickSpeed|reducedDebugInfo|sendCommandFeedback|showDeathMessages|snowAccumulationHeight|spawnRadius|spectatorsGenerateChunks|tntExplosionDropDecay|universalAnger|universal_graves:breaking_time|universal_graves:protection_time|waterSourceConversion)/give []/help []/item (replace|modify)/kick []/kill []/list [uuids]/locate (structure|biome|poi)/loot (replace|insert|give|spawn)/msg /tell -> msg/w -> msg/particle []/place (feature|jigsaw|structure|template)/playsound (master|music|record|weather|block|hostile|neutral|player|ambient|voice)/reload/recipe (give|take)/return /ride (mount|dismount)/say /schedule (function|clear)/scoreboard (objectives|players)/seed/setblock [destroy|keep|replace]/spawnpoint []/setworldspawn []/spectate []/spreadplayers (|under)/stopsound [*|master|music|record|weather|block|hostile|neutral|player|ambient|voice]/summon []/tag (add|remove|list)/team (list|add|remove|empty|join|leave|modify)/teammsg /tm -> teammsg/teleport (||)/tp -> teleport/tellraw /time (set|add|query)/title (clear|reset|title|subtitle|actionbar|times)/trigger [add|set]/weather (clear|rain|thunder)/worldborder (add|set|center|damage|get|warning)/jfr (start|stop)/ban-ip []/banlist [ips|players]/ban []/deop /op /pardon /pardon-ip /perf (start|stop)/save-all [flush]/save-off/save-on/setidletimeout /stop/whitelist (on|off|list|add|remove|reload)/badge (grant|revoke|list|clear)/connectivity (packetsSummary|packetsAllPlayers|packetsPlayer|packetsClient)/invsort (sort|sortme|downloadBlacklist|blacklist|sortType|middleClickSort|doubleClickSort)/graves [modify|player|about|reload]/replacenear []//replacenear []/.s []/lrbuild []//lrbuild []//stack []//overlay []//shift []/searchitem []//searchitem []//l []//search []/toggleeditwand []/none []/gmask []//gmask []/selwand []//selwand []/removeabove []//removeabove []/pumpkins []//outset []/navwand []//navwand []//generate []//gen []//g []//replace []//re []//rep []//faces []//outline []//deform []/biomelist []/biomels []/green []//green []/extinguish []//ex []//ext []//extinguish []/ex []/ext []/unstuck []/! [

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the rcon-cli response-reading path and inspect how the help command's 4096-byte response is buffered. Reproduce the issue with a server whose help output exceeds 4096 bytes, then verify that the complete response is returned and a following command is not polluted.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.