starlit

Changelog

What each release of the script API added, newest first.

The API has no version number you can read from a script. This page is the record. All four releases below were delivered on 11 October 2026, in the order API v1, resolver, API v2, API v3.

API v3, 11 October 2026

Every function of API v1, the resolver and API v2 works as before. This release adds modules and functions, and raises the caps on controls, labels and groups.

Rage

  • The rage module: rage.override_hitchance, rage.override_min_damage, rage.hold_fire, rage.exclude, rage.override_double_precision, rage.override_auto_stop, rage.override_quick_stop and rage.override_air_stop. Values live 500 ms after the last call. See rage.

Settings

  • The settings module: settings.list, settings.info, settings.get, settings.base, settings.override, settings.clear and settings.clear_all, for 548 ids in movement, ESP, chams, glow, world and misc. See settings and settings ids.

Movement

  • The movement module: movement.intent with a stick, a heading, jump, duck, walk, three modes and a ttl of 1 to 6 ticks, and movement.release. See movement.

Visuals

  • The visuals module: visuals.player and the handle methods hide, color, text, bar, chams, glow and reset. See visuals.

Drawing

  • draw.line3d, draw.polyline3d, draw.box3d, draw.circle3d and draw.hitbox, which draw in the world. See 3D shapes.

Menu

  • ui.group takes page, column and order, so a group can sit on the scripts, rage, legit, visuals or misc page. New group methods group:place and group:visible.
  • New controls: ui.separator, ui.text, ui.info, ui.fold with ui.fold_end, ui.input and ui.list, all with a group form.
  • An option table as the last argument of every creator: same_line, width, tooltip, visible, disabled and on_change. New handle methods visible, disabled, tooltip, name, width, same_line and on_change. See ui.
  • ui.tab, ui.style, ui.surface and ui.is_open: tabs of your own, a look for the whole menu, and drawing panels in a tab, on a page or floating. See menu.

Changes in behaviour

  • Scripts run before the ESP draws, and the drawing of a script shares the layer of the ESP, below the menu.
  • Requests from the scripts page (load, confirm load, unload, reload, reload all, refresh) run at the start of the next frame.
  • The scripts page has the switches show script groups in pages and show in pages, and the buttons reset overrides, reset menu style and allow script styles.
  • A script's cfg file holds up to 1048 bytes and also keeps the state of folds, the choice of lists and the show in pages switch.

New limits

  • 64 interactive controls, 32 display rows and 12 groups per script, 2 tabs per script and 3 in all, 2 surfaces per script.
  • 128 rage calls and 256 settings.override calls per frame, 64 settings held per script, 4 accepted movement.intent calls and 1024 visuals calls per frame.
  • 3D drawing: 256 lines, 16 polylines, 64 boxes, 32 circles, 64 hitboxes and 1024 projected segments per frame.
  • 16 on_change calls per frame. See Limits, files and saved values.

API v2, 11 October 2026

Nothing in API v1 or in the resolver changed. This release only adds.

Events

  • events.on_player_hurt, events.on_player_death, events.on_weapon_fire, events.on_bullet_impact, events.on_round_start, events.on_round_end and events.on_level, with fixed field lists. See events.

Game data

  • The entity module: entity.get, entity.local_player, entity.players, and the handle methods index, valid, is_alive, is_enemy, is_local, name, origin, velocity, eye_angles, eye_position and get with 18 property names. See entity.
  • cvar.get for 29 server values.
  • time.curtime, time.tick, time.interval, time.to_ticks and time.to_time.

Drawing

  • draw.rect_rounded, draw.rect_rounded_filled, draw.gradient, draw.gradient_h, draw.gradient_v, draw.triangle_filled, draw.polyline, draw.polygon, draw.clip and draw.unclip.
  • The fonts medium, header and large, and the text styles shadow and outline.
  • A colour object can be passed wherever a colour is expected.

Controls

  • ui.group and group objects with the aliases switch, selectable, color_picker and hotkey.
  • ui.multicombo with has, ui.keybind with the modes hold, toggle and always, and ui.label.
  • Saved values: a script's own control values are kept between loads. See saved values.

Helpers

New limits

  • 24 interactive controls and 16 labels, 6 groups.
  • 32 event calls per frame, 512 engine reads per frame, 2000 draw commands, clip depth 8, polylines up to 64 points and polygons up to 32.

Resolver, 11 October 2026

  • The resolver module: resolver.set_yaw, resolver.get_yaw and resolver.clear. See resolver.
  • events.on_shot, which delivers the result of a ragebot shot as a table with target, hit, hitgroup, damage, hint and age.
  • Eight more fields in every entry of game.players(): yaw, pitch, vx, vy, vz, on_ground, ducking and sim_time.
  • Limits: hints between -60 and 60 degrees in steps of 0.01, living for two seconds, 256 accepted calls per frame, 16 shot calls per frame.
  • Hints are removed when the script stops, when the enemy dies or leaves, and when the level changes.

API v1, 11 October 2026

The first release of scripting.

  • The scripts folder, the scripts page with load, confirm load, unload and reload, the hash confirmation, and the script log.
  • One Lua 5.4 state for every script, with memory and time budgets, and two strikes.
  • log.info, time.now, time.frame, screen.size.
  • draw.text, draw.line, draw.rect, draw.rect_filled, draw.circle, draw.circle_filled, draw.measure, with the fonts ui, bold and small.
  • ui.checkbox, ui.slider, ui.combo, ui.color, ui.button, with get and set.
  • events.on_paint and events.on_unload.
  • game.in_game, game["local"], game.local_player, game.players and game.to_screen.
  • The allowed part of the standard library.

previous: For developers