INFO - [♥] Lovely 0.8.0
INFO - [♥] Game directory is at "/Users/simo/Library/Application Support/Steam/steamapps/common/Balatro/Balatro.app/Contents/MacOS"
INFO - [♥] Writing logs to "/Users/simo/Library/Application Support/Balatro/Mods/lovely/log"
INFO - [♥] Using mod directory at "/Users/simo/Library/Application Support/Balatro/Mods"
INFO - [♥] Cleaning up dumps directory at "/Users/simo/Library/Application Support/Balatro/Mods/lovely/dump"
INFO - [♥] Initialization complete in 14ms
INFO - [♥] Applied 1 patch to 'conf.lua'
INFO - [♥] Applied 11 patches to 'main.lua'
INFO - [♥] Applied 10 patches to 'engine/controller.lua'
INFO - [♥] Applied 15 patches to 'back.lua'
INFO - [♥] Applied 10 patches to 'tag.lua'
INFO - [♥] Applied 5 patches to 'engine/event.lua'
INFO - [♥] Applied 1 patch to 'engine/node.lua'
INFO - [♥] Applied 2 patches to 'engine/moveable.lua'
INFO - [♥] Applied 2 patches to 'engine/sprite.lua'
INFO - [♥] Applied 4 patches to 'engine/animatedsprite.lua'
INFO - [♥] Applied 78 patches to 'functions/misc_functions.lua'
INFO - [♥] Applied 56 patches to 'game.lua'
INFO - [♥] Applied 1 patch to 'globals.lua'
INFO - [♥] Applied 7 patches to 'engine/ui.lua'
WARN - [♥] Pattern '{card_limit = 5, type = \'play\'})\n' on target 'functions/UI_definitions.lua' for pattern patch from smods/lovely/card_limit.toml resulted in no matches
INFO - [♥] Applied 116 patches to 'functions/UI_definitions.lua'
INFO - [♥] Applied 58 patches to 'functions/state_events.lua'
INFO - [♥] Applied 127 patches to 'functions/common_events.lua'
INFO - [♥] Applied 57 patches to 'functions/button_callbacks.lua'
WARN - [♥] Pattern 'self.VT.h = self.T.H\nself.VT.w = self.T.w\n' on target 'card.lua' for pattern patch from smods/lovely/joker_size.toml resulted in no matches
INFO - [♥] Applied 221 patches to 'card.lua'
INFO - [♥] Applied 19 patches to 'cardarea.lua'
INFO - [♥] Applied 42 patches to 'blind.lua'
INFO - [♥] Applied 10 patches to 'card_character.lua'
INFO - [♥] Applied 15 patches to 'engine/text.lua'
INFO - [G] Failed to connect to the debug server 
INFO - [G] 2026-06-11 14:28:12 :: DEBUG :: DebugConsole :: Steamodded Debug Socket started ! 
INFO - [G] 2026-06-11 14:28:12 :: INFO  :: SMODS :: Steamodded v1.0.0~BETA-1221a 
INFO - [♥] Applied 9 patches to 'engine/sound_manager.lua'
INFO - [♥] Applied 1 patch to 'engine/save_manager.lua'
INFO - [G] 2026-06-11 14:28:13 :: ERROR :: Loader :: Found invalid metadata JSON file at Mods/DebugPlus/.luarc.json, ignoring: [SMODS _ "src/loader.lua"]:226: id 
INFO - [G] 2026-06-11 14:28:13 :: ERROR :: Loader :: Found invalid metadata JSON file at Mods/DebugPlus/dev/.luarc.json, ignoring: [SMODS _ "src/loader.lua"]:226: id 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: Loader :: Valid JSON file found 
INFO - [G] 2026-06-11 14:28:13 :: ERROR :: Loader :: Found invalid metadata JSON file at Mods/balatrobot/.luarc.json, ignoring: [SMODS _ "src/loader.lua"]:226: id 
INFO - [G] 2026-06-11 14:28:13 :: WARN  :: Utils :: Trailing dot found in version "1.~". 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: Loader :: Valid JSON file found 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.SETTINGS :: Applied profile: fast 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.SETTINGS :: Render mode: headless 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.BALATROBOT :: Loading test endpoints 
INFO - [G] [BalatroBot] DebugPlus API available 
INFO - [G] [BalatroBot] Use /eval BB_API.endpoint_name({args}) to call API endpoints 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.SERVER :: Loaded OpenRPC spec from Mods/balatrobot/src/lua/utils/openrpc.json 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.SERVER :: HTTP server listening on http://127.0.0.1:60065 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/health.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: health 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/gamestate.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: gamestate 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/save.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: save 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/load.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: load 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/screenshot.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: screenshot 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/set.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: set 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/add.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: add 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/menu.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: menu 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/start.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: start 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/skip.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: skip 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/select.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: select 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/play.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: play 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/discard.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: discard 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/cash_out.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: cash_out 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/next_round.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: next_round 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/reroll.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: reroll 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/buy.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: buy 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/pack.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: pack 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/rearrange.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: rearrange 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/sell.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: sell 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/use.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: use 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/tests/echo.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: test_endpoint 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/tests/state.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: test_state_endpoint 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/tests/error.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: test_error_endpoint 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Loading endpoint: src/lua/endpoints/tests/validation.lua 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.DISPATCHER :: Registered endpoint: test_validation 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.DISPATCHER :: Loaded 25 endpoint(s) 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.DISPATCHER :: Dispatcher initialized 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.BALATROBOT :: BalatroBot loaded - version 1.5.1 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected Fonts in 0.001 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected DynaTextEffects in 0.001 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected Language in 0.000 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected [INTERNAL] in 0.284 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0003] Injected Atlas in 123.644 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0001] Injected Sound in 0.259 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0002] Injected nil in 0.006 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0008] Injected Stake in 0.065 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0004] Injected Rarity in 0.008 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0004] Injected ObjectType in 0.014 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0050] Injected Center in 0.071 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0007] Injected Undiscovered Sprite in 0.003 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0002] Injected Blind in 0.005 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0004] Injected Seal in 0.026 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0004] Injected Suit in 0.028 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0013] Injected Rank in 0.021 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0028] Injected DeckSkin in 0.042 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0017] Injected JimboQuip in 0.011 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0012] Injected PokerHand in 0.013 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0020] Injected Challenge in 0.011 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected Tag in 0.000 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0004] Injected Sticker in 0.026 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected Shader in 0.000 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0002] Injected Keybind in 0.002 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected Achievement in 0.019 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0002] Injected Scoring_Parameters in 0.016 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0003] Injected Scoring_Calculations in 0.002 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0021] Injected Draw Step in 0.017 ms 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: TIMER :: [0000] Injected [INTERNAL] in 0.033 ms 
[S_API FAIL] SteamAPI_Init() failed; ipcserver init failed .
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Could not determine Steam client install directory.
Couldn't connect to steam...
Do you have Steam turned on?
If not running from steam, do you have a correct steam_appid.txt file?
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.REQUEST :: health() 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.ENDPOINTS :: health() 
INFO - [G] 2026-06-11 14:28:13 :: DEBUG :: BB.ENDPOINTS :: health() → ok 
INFO - [G] 2026-06-11 14:28:13 :: INFO  :: BB.RESPONSE :: health OK (0ms) 
INFO - [G] 2026-06-11 14:28:15 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:15 :: DEBUG :: BB.REQUEST :: health() 
INFO - [G] 2026-06-11 14:28:15 :: DEBUG :: BB.ENDPOINTS :: health() 
INFO - [G] 2026-06-11 14:28:15 :: DEBUG :: BB.ENDPOINTS :: health() → ok 
INFO - [G] 2026-06-11 14:28:15 :: INFO  :: BB.RESPONSE :: health OK (0ms) 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.REQUEST :: menu() 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.ENDPOINTS :: menu() 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.ENDPOINTS :: menu() → MENU 
INFO - [G] 2026-06-11 14:28:32 :: INFO  :: BB.RESPONSE :: menu OK (16ms) 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.REQUEST :: start({deck="RED", seed="BUG5", stake="WHITE"}) 
INFO - [G] 2026-06-11 14:28:32 :: DEBUG :: BB.ENDPOINTS :: start() 
INFO - [G] 2026-06-11 14:28:32 :: INFO  :: BB.ENDPOINTS :: Starting run: Red Deck, stake=1 (WHITE), seed=BUG5 
INFO - [G] 2026-06-11 14:28:34 :: DEBUG :: BB.ENDPOINTS :: start() → BLIND_SELECT 
INFO - [G] 2026-06-11 14:28:34 :: INFO  :: BB.RESPONSE :: start OK (2382ms) 
INFO - [G] 2026-06-11 14:28:35 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:35 :: DEBUG :: BB.REQUEST :: select() 
INFO - [G] 2026-06-11 14:28:35 :: DEBUG :: BB.ENDPOINTS :: select() 
INFO - [G] 2026-06-11 14:28:35 :: INFO  :: BB.ENDPOINTS :: Selecting Small blind (? chips) 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: select() → SELECTING_HAND 
INFO - [G] 2026-06-11 14:28:36 :: INFO  :: BB.RESPONSE :: select OK (1213ms) 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.REQUEST :: set({chips=1000000, money=500}) 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: set() 
INFO - [G] 2026-06-11 14:28:36 :: INFO  :: BB.ENDPOINTS :: Setting money=500, chips=1000000 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: set() → ok 
INFO - [G] 2026-06-11 14:28:36 :: INFO  :: BB.RESPONSE :: set OK (14ms) 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.REQUEST :: play({cards=[0,1,2,3,4]}) 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: play() 
INFO - [G] 2026-06-11 14:28:36 :: INFO  :: BB.ENDPOINTS :: Playing 5 cards: A♥, A♦, Q♦, J♠, 10♠ 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.SERVER :: Client connected 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.REQUEST :: gamestate() 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: gamestate() 
INFO - [G] 2026-06-11 14:28:36 :: DEBUG :: BB.ENDPOINTS :: gamestate() → ok 
INFO - [G] 2026-06-11 14:28:36 :: INFO  :: BB.RESPONSE :: gamestate OK (1ms) 
