Practical BAR Widgets from Modding-0117
Widget development guides, command batching, and match history stats export in BAR.
Widget development resources
The pinned messages in the modding and dev-main channels contain the most current widget development information. The Spring RTS Lua tutorial at springrts.com/wiki/Lua:Tutorial_GettingStarted provides a short introduction for beginners. The Beyond All Reason LuaHandle documentation at beyond-all-reason.github.io/spring/ldoc/modules/LuaHandle.html serves as a comprehensive reference for all available call-ins and function parameters.
New widget developers should start with the pinned channel messages, then move to the tutorial for hands-on practice. The documentation covers callback signatures and available APIs.
Batching lobby commands
The BAR lobby accepts multiple commands pasted simultaneously. Players can set minrating, reset rating levels, enable debugging, add tweakunits commands, and rename in a single paste operation. This reduces setup time for testing environments.
A known issue involves lobby slowdown when renaming coincides with other commands. Repeated batch renaming operations cause noticeable performance degradation. Spread heavy command batches across separate paste operations to avoid this.
Match history stats export
An existing widget dumps match history statistics to a CSV file at the end of each game. The data structure uses dataframes at intervals: dataframe0, dataframe450, dataframe900, and so on. Each entry captures game state at regular time increments.
Players who want to analyze their match performance should enable this widget. The CSV output feeds into external analysis tools for deeper statistical review. The regular interval structure makes it straightforward to correlate specific moments with performance shifts.
Creed of Champions
Tracking performance over time reveals patterns that intuition alone misses. Teams that review their data together improve faster than those who play without reflection.
Creed of Champions is a great place to learn and play BAR in a friendly atmosphere. Training sessions, team gameplay, even some non-BAR stuff. Large cross section of abilities, time zones, and game mode interests.