-
Notifications
You must be signed in to change notification settings - Fork 9
Configuration Guide
See this page for a better version of this guide with anchor links
account {type: object}
-
username
{type: string}: The in-game playername of the account -
password
{type: string}{default: ""}: The password of the account (only required for Mojang accounts, leave it empty for Microsoft accounts. Microsoft accounts will just get instructions in the console to put a token into microsoft.com/link -
auth
{type: string}{default: "microsoft"}: Authentication type (options: 'microsoft', 'mojang', 'offline')
discord {type: object}
-
active
{type: boolean}{default: false}: Whether to send Discord webhooks -
webhook
{type: object}-
spam
{type: string}{default: ""}: Url of webhook to relay position in queue, new tunnels, connects/disconnects, and other spam -
livechat
{type: string}{default: ""}: Url of webhook to relay livechat -
status
{type: string}{default: ""}: Url of webhook to relay pertinent info for connecting and nothing else (e.g. joining server, low queue position)
-
spam
-
color
{type: number}{default: 2123412}: Color of Discord embeds sent to the webhooks in decimal value (you can use convertingcolors.com to find the decimal value of a color you want) -
id
{type: string}{default: 0}: ID of the Discord user or role to ping when below the queueThreshold
queueThreshold {type: number} {default: 21} : Minimum queue position before toast notifications & Discord pings start getting sent
reconnectInterval {type: number} {default: 69} : Time (in seconds) between each reconnection attempt (see: How to Auto-Reconnect with Supervisor)
uncleanDisconnectInterval {type: number} {default: 196} : Time (in seconds) proxy will go without getting a single packet from 2B2T before assuming it was uncleanly disconnected and initiating a reconnect attempt
log {type: object}
-
active
{type: object}: Settings for which logging categories should be enabled-
error
{type: boolean}{default: true}: Whether to log errors -
proxy
{type: boolean}{default: true}: Whether to log proxy status (e.g. connecting to server, starting Mineflayer, etc.) -
chat
{type: boolean}{default: true}: Whether to log chat -
bridgeClientPackets
{type: boolean}{default: true}: Whether to log packets being sent from the controller to the proxy -
serverPackets
{type: boolean}{default: true}: Whether to log packets being sent from 2b2t to the proxy -
mineflayer
{type: boolean}{default: false}: Whether to log high-level Mineflayer events, if the Mineflayer bot is active (e.g. player join/leave, items, etc.)
-
error
-
cutoff
{type: number}{default: 69000}: Maximum size a log file can be (in bytes) before it gets split up -
packetFilters
{type: object}: Settings for which packets we shouldn't log-
server
{type: array}{default: ["map","map_chunk","player_info","entity_metadata","entity_velocity","entity_move_look","entity_look","update_time","world_particles","unload_chunk","teams","rel_entity_move","entity_head_rotation","entity_update_attributes","block_change"]}: Packets being sent from 2b2t to not log -
bridgeClient
{type: array}{default: ["position","look","position_look","arm_animation","keep_alive"]}: Packets being sent from the controller to not log
-
server
-
compression
{type: object}: Settings for log compression. Tweak with caution. The default options maximize memory usage for the fastest speed-
active
{type: boolean}{default: false}: [Warning, Event Thread-Blocking!] Whether to compress log files with Gzip. Leave this off unless you have a really good reason to enable it -
level
{type: number}{default: 1}: How much compression to apply between 1 and 9. Higher values result in better compression ratio at the expense of speed ([Warning, Event Thread-Blocking!]) -
memLevel
{type: number}{default: 9}: How much memory to allocate to the internal compression state between 1 and 9. Higher values result in better compression ratio and speed at the expense of memory usage -
windowBits
{type: number}{default: 15}: How much memory to allocate to the history buffer between 8 and 15. Higher values result in better compression ratio at the expense of memory usage
-
active
-
alwaysIncrement
{type: boolean}{default: false}: Whether to increment the log file every session (can lead to thousands of 1kb log files in production, but is pretty useful when rapidly testing during development)
server {type: object} : Settings for how the proxy connects to the server
-
host
{type: string}{default: "connect.2b2t.org"}: Address of the server to connect to -
version
{type: string}{default: "1.12.2"}: Version of Minecraft the server is on -
port
{type: number}{default: 25565}: Port of the server to connect to
proxy {type: object} : Settings for how you connect to the proxy
-
active
{type: boolean}{default: true}: Whether to allow players to control the account by connecting through a tunnel -
whitelist
{type: array}: Playernames of accounts that are allowed to connect to the proxy -
onlineMode
{type: boolean}{default: true}: Whether to enable online-mode on the proxy. This probably should never be touched -
loopbackAddress
{type: string}{default: "127.0.0.1"}: Loopback address to connect to the proxy. (options: '127.0.0.1', 'localhost', '0.0.0.0', '::1') -
port
{type: number}{default: 25565}: Port on the machine to connect to the proxy
ngrok {type: object} : Settings for ngrok tunneling
-
active
{type: boolean}{default: false}: Whether to create an ngrok tunnel -
authtoken
{type: string}{default: ""}: The auth token for your Ngrok.io account -
region
{type: string}{default: "us"}: Tunnel region (options: 'us', 'eu', 'au', 'ap', 'sa', 'jp', or 'in')
mineflayer {type: object} : Settings for the mineflayer bot
-
active
{type: boolean}{default: true}: Whether to enable Mineflayer -
autoQueueMainInterval
{type: number}{default: 690}: Time (in seconds) between every/queue maincommand -
killAura
{type: object}: Settings for killaura-
interval
{type: number}{default: 0.69}: Time (in seconds) between every attack attempt -
blacklist
{type: array}{default: ["zombie_pigman","enderman"]}: Array of mobs that will not be attacked
-
interval
-
autoEat
{type: object}: Settings for autoeat-
priority
{type: string}{default: "saturation"}: What type of food to prioritize eating (options: 'saturation', 'foodPoints', 'effectiveQuality') -
startAt
{type: number}{default: 19}: Hunger level at which to start eating -
eatingTimeout
{type: number}{default: 6969}: Maximum time (in ms) the proxy will attempt to eat an item before giving up -
bannedFood
{type: array}{default: ["rotten_flesh","pufferfish","chorus_fruit","poisonous_potato","spider_eye"]}: Foods that will not be eaten -
ignoreInventoryCheck
{type: boolean}{default: false}: Whether to disable inventory window click confirmation as a dirty hack to get around ViaBackwards' protocol noncompliance -
checkOnItemPickup
{type: boolean}{default: true}: Whether to attempt to eat food that's picked up when below the startAt threshold -
offhand
{type: boolean}{default: false}: Whether to use the offhand slot to eat food -
equipOldItem
{type: boolean}{default: true}: Whether to reequip the previously held item after eating
-
priority
-
antiAfk
{type: object}: Settings for antiafk-
actions
{type: array}{default: ["rotate"]}: Actions the proxy can do (options: 'rotate', 'walk', 'jump', 'jumpWalk', 'swingArm', 'breakBlock') -
fishing
{type: boolean}{default: false}: Whether the proxy will fish. The account must be standing in water and have a fishing rod to autofish. -
chatting
{type: boolean}{default: false}: Whether the proxy will chat -
chatMessages
{type: array}{default: ["!pt","!queue"]}: Chat messages that the proxy will send if chatting is enabled -
chatInterval
{type: number}{default: 690420}: Time (in milliseconds) between each chat message
-
actions
experimental {type: object} : Settings for experimental features that may be more unstable in resource usage and/or server and version parity
-
spoofPlayerInfo
{type: object}-
active
{type: boolean}{default: true}: Whether to spoof the Player Info packet to set a custom skin -
texture
{type: object}-
value
{type: string}{default: ""}: Base64 string of skin from https://sessionserver.mojang.com/session/minecraft/profile/?unsigned=false -
signature
{type: string}{default: ""}: Base64 string of signed data using Yggdrasil's private key from https://sessionserver.mojang.com/session/minecraft/profile/?unsigned=false
-
value
-
active
-
spoofPing
{type: object}-
active
{type: boolean}{default: false}: Whether to spoof the Status Response packet when pinging the proxy server -
noResponse
{type: boolean}{default: false}: Whether to cancel the response entirely. Otherwise, the packet described in fakeResponse will be sent. -
fakeResponse
{type: object}-
version
{type: object}-
name
{type: string}{default: "1.12.2"}: Spoofed server version -
protocol
{type: number}{default: 340}: Spoofed protocol number
-
name
-
players
{type: object}-
max
{type: number}{default: 20}: Spoofed max players -
online
{type: number}{default: 0}: Spoofed number of players online -
sample
{type: array}{default: []}-
name
{type: string}: Spoofed playername -
id
{type: string}: Spoofed player UUID
-
name
-
max
-
description
{type: object}-
text
{type: string}{default: "A Minecraft server"}: Spoofed MOTD
-
text
-
favicon
{type: string}{default: "undefined"}: Spoofed Base64-encoded 64x64 png favicon
-
version
-
active
-
disconnectIfNoController
{type: object}-
active
{type: boolean}{default: false}: Whether to disconnect if noone is controlling the proxy disconnectIfNoController.delay seconds after a controller disconnects from the proxy while it isn't in queue -
delay
{type: number}{default: 7}: How long to wait (in seconds) after a controller disconnects from the proxy while it isn't in queue before disconnecting from the server
-
active
-
worldDownloader
{type: object}-
active
{type: boolean}{default: false}: [Warning, Event Thread-Blocking!] Whether to use the experimental world downloader -
compression
{type: object}: Settings for packet archive compression. Tweak with caution. The default options maximize memory usage for the fastest speed-
level
{type: number}{default: 1}: How much compression to apply between 1 and 9. Higher values result in better compression ratio at the expense of speed ([Warning, Event Thread-Blocking!]) -
memLevel
{type: number}{default: 9}: How much memory to allocate to the internal compression state between 1 and 9. Higher values result in better compression ratio and speed at the expense of memory usage -
windowBits
{type: number}{default: 15}: How much memory to allocate to the history buffer between 8 and 15. Higher values result in better compression ratio at the expense of memory usage
-
level
-
active
-
maxThreadpool
{type: object}-
active
{type: boolean}{default: true}: Whether to set UV_THREADPOOL_SIZE to use all possible CPU logic cores
-
active
waitForControllerBeforeConnect {type: boolean} {default: false} : Whether the proxy will wait for someone to take control before it connects to the server
notify {type: object} : Settings for what the proxy will send notifications about
-
whenJoining
{type: boolean}{default: true}: Whether to send a toast notification and status webhook message when the proxy joins the server from queue -
whenBelowQueueThreshold
{type: boolean}{default: true}: Whether to send a toast notification and status webhook message when the proxy dips below positionqueueThresholdin queue -
whenControlling
{type: boolean}{default: false}: Whether to send a status webhook message when a controller connects and disconnects from the proxy
noCliGui {type: boolean} {default: false} : Whether to disable the cli gui
coordination {type: object} : Settings for coordinating multiple proxies
-
active
{type: boolean}{default: false}: Whether to use a master config file and coordinator -
path
{type: string}{default: "./../"}: Path to the folder where the shared master-config.json and coordinator.flag files should go