-
Notifications
You must be signed in to change notification settings - Fork 10
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 main
command -
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 positionqueueThreshold
in 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