In 2003, a poll conducted by GameDev.net showed Lua as the most popular scripting language for game programming.[2] On 12 January 2012, Lua was announced as a winner of the Front Line Award 2011 from the magazine Game Developer in the category Programming Tools.[3]
Other uses
Other applications using Lua include:
3DMLW plugin uses Lua scripting for animating
3D and handling different events.
Artweaver graphics editor uses Lua for scripting filters.
Autodesk Stingray, a game engine which uses Lua for developing video games.
Awesome, a
window manager, is written partly in Lua, also using it as its configuration file format
Blackmagic Fusion can be extended and automated through a comprehensive Lua API, as a faster alternative to the
Python API.
The Canon Hack Development Kit (CHDK), an open source firmware for Canon cameras, uses Lua as one of two scripting languages.
Celestia, the astronomy educational program, uses Lua as its scripting language.
Cheat Engine, a memory editor/debugger, enables Lua scripts to be embedded in its "cheat table" files, and even includes a GUI designer.
Cisco Systems uses Lua to implement Dynamic Access Policies within the Adaptive Security Appliance (ASA), and also
SIP normalization in Cisco Unified Communications Manager (CUCM).
Conky, the Linux system monitoring app, uses Lua for advanced graphics.
Cocos2d uses Lua to build games with their Cocos Code IDE.
Codea is a Lua editor native to the
iOS operating-system.
Damn Small Linux uses Lua to provide desktop-friendly interfaces for command-line utilities without sacrificing much disk space.
The
darktable open-source photography workflow application is scriptable with Lua.[6]
Certain tasks in
DaVinci Resolve can be automated by Lua scripts, in addition to the more advanced scripting functionality specific to the
Fusion page integrated within DaVinci Resolve. Like in Fusion, a
Python API can also be used.
The Daylon Leveller heightfield/terrain modeler uses embedded Lua to let plug-ins be more easily developed.
Friday Night Funkin': Psych Engine (Link to engine Wikipedia page required.) uses Lua for stage building, so-called "modcharts" and multi song functionality, such as editing HUD or adding more functions.[8]
Foldit, a science-oriented game in
protein folding, uses Lua for user scripts. Some of those scripts have been the aim of an article in
PNAS.[9]
FreeBSD's default bootloader is implemented in Lua as of version 13.0.[10]
FreePOPs, an extensible mail proxy, uses Lua to power its web front-end.
Freeswitch, an open-source telephony platform, can make use of Lua as a scripting language for call control and call flow among other things.
Garry's Mod, a sandbox video game, uses Lua for mods, called addons, published on the
Steam Workshop.
Ginga, the middleware for Brazilian Digital Television System (
SBTVD or ISDB-T), uses Lua as a script language to its declarative environment, Ginga-NCL. In Ginga-NCL, Lua is integrated as media objects (called NCLua) inside NCL (
Nested Context Language) documents.
GrafX2, a pixel-art editor, can run Lua scripts for simple picture processing or generative illustration.
HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[11]
Hollywood, a cross-platform programming language using Lua.[12]
iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physics simulation.
The drawing editor
Ipe (mainly used for producing figures with
LaTeX labeling) uses Lua for its functionality and script extensions.
Minecraft modifications like ComputerCraft or OpenComputers allow players to execute Lua on in-game computers.
Minetest uses Lua for in-game programming of robots, microcontrollers and sorting tubes, using popular addons.
Moho, an animation software package distributed by
Smith Micro Software, uses Lua as its scripting language, and all of its native tools are built as editable scripts.
Neovim text editor offers Lua functionality as a replacement for Vimscript as a scripting language, both for plugin development and for user configuration.[18]
NetBSD has a Lua driver that can create and control Lua states inside the kernel. This allows Lua to be used for packet filtering and creating device drivers.[19][20][21]
nmap network security scanner uses Lua as the basis for its scripting language, called nse.[22]
OpenMW, a free and open-source game engine recreation that reimplements the one powering Bethesda Softworks' 2002 open-world role-playing game The Elder Scrolls III: Morrowind.
OpenResty, a web platform based on
nginx, supports Lua scripting in different execution phases.
Orbiter (simulator) Space Flight Simulator offers some Lua API allowing to customize simulation feedback, or to automatize simple maneuvers [24]
pandoc, a universal document converter, allows modifications of the internal document representation via Lua scripts.[25]
Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
PewPew Live uses Lua scripting to define community levels.
PowerDNS offers extensive Lua scripting for serving and changing DNS answers, fixing up broken servers, and DoS protection.
Project Dogwaffle Professional offers Lua scripting to make filters through the DogLua filter. Lua filters can be shared between Project Dogwaffle,
GIMP, Pixarra Twistedbrush and ArtWeaver.
Project Zomboid is a video game (similar to The Sims but in zombie theme) made in Java, that uses Lua for mods (expanding the game with scripting).
QSC Audio Products supports Lua scripting for control of external devices and other advanced functionality within
Q-SYS Designer.
Quartz Composer, a visual programming tool by
Apple, can be scripted in Lua via a free plugin produced by Boinx Software.
Ravenfield (video game) is a first person shooter sandbox game that uses a modified version of Lua.
REAPER digital audio workstation supports Lua scripting to extend functionality.
Reason digital audio workstation uses Lua to describe remote codecs.
Redis, an open source key-value database, uses Lua (starting with version 2.6) to write complex functions that run in the server itself, thus extending its functionality.[26]
Renoise audio tracker uses Lua scripting to extend functionality.
RetroShare encrypted filesharing, serverless email, instant messaging, online chat and BBS software, has a Lua plugin for automation and control.
Roblox is a game platform with its own game engine. It uses a modified version of Lua 5.1 called Luau.[27]
Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
RPM, software package management system primarily developed for
Red Hat Linux, comes with an embedded Lua interpreter.[28]
SAS integrates Lua with PROC LUA as an alternative to its legacy macro language.[29]
ScyllaDB uses Lua for user-defined functions, which let users deploy server-side scripts to perform data transforms such as aggregations, sums and averages.
New versions of
SciTE editor can be extended using Lua.
Snort intrusion detection system includes a Lua interpreter since 3.0 beta release.[30]
The
Squeezebox music players from Logitech support plugins written in Lua on recent models (Controller, Radio and Touch).
In 2003, a poll conducted by GameDev.net showed Lua as the most popular scripting language for game programming.[2] On 12 January 2012, Lua was announced as a winner of the Front Line Award 2011 from the magazine Game Developer in the category Programming Tools.[3]
Other uses
Other applications using Lua include:
3DMLW plugin uses Lua scripting for animating
3D and handling different events.
Artweaver graphics editor uses Lua for scripting filters.
Autodesk Stingray, a game engine which uses Lua for developing video games.
Awesome, a
window manager, is written partly in Lua, also using it as its configuration file format
Blackmagic Fusion can be extended and automated through a comprehensive Lua API, as a faster alternative to the
Python API.
The Canon Hack Development Kit (CHDK), an open source firmware for Canon cameras, uses Lua as one of two scripting languages.
Celestia, the astronomy educational program, uses Lua as its scripting language.
Cheat Engine, a memory editor/debugger, enables Lua scripts to be embedded in its "cheat table" files, and even includes a GUI designer.
Cisco Systems uses Lua to implement Dynamic Access Policies within the Adaptive Security Appliance (ASA), and also
SIP normalization in Cisco Unified Communications Manager (CUCM).
Conky, the Linux system monitoring app, uses Lua for advanced graphics.
Cocos2d uses Lua to build games with their Cocos Code IDE.
Codea is a Lua editor native to the
iOS operating-system.
Damn Small Linux uses Lua to provide desktop-friendly interfaces for command-line utilities without sacrificing much disk space.
The
darktable open-source photography workflow application is scriptable with Lua.[6]
Certain tasks in
DaVinci Resolve can be automated by Lua scripts, in addition to the more advanced scripting functionality specific to the
Fusion page integrated within DaVinci Resolve. Like in Fusion, a
Python API can also be used.
The Daylon Leveller heightfield/terrain modeler uses embedded Lua to let plug-ins be more easily developed.
Friday Night Funkin': Psych Engine (Link to engine Wikipedia page required.) uses Lua for stage building, so-called "modcharts" and multi song functionality, such as editing HUD or adding more functions.[8]
Foldit, a science-oriented game in
protein folding, uses Lua for user scripts. Some of those scripts have been the aim of an article in
PNAS.[9]
FreeBSD's default bootloader is implemented in Lua as of version 13.0.[10]
FreePOPs, an extensible mail proxy, uses Lua to power its web front-end.
Freeswitch, an open-source telephony platform, can make use of Lua as a scripting language for call control and call flow among other things.
Garry's Mod, a sandbox video game, uses Lua for mods, called addons, published on the
Steam Workshop.
Ginga, the middleware for Brazilian Digital Television System (
SBTVD or ISDB-T), uses Lua as a script language to its declarative environment, Ginga-NCL. In Ginga-NCL, Lua is integrated as media objects (called NCLua) inside NCL (
Nested Context Language) documents.
GrafX2, a pixel-art editor, can run Lua scripts for simple picture processing or generative illustration.
HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[11]
Hollywood, a cross-platform programming language using Lua.[12]
iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physics simulation.
The drawing editor
Ipe (mainly used for producing figures with
LaTeX labeling) uses Lua for its functionality and script extensions.
Minecraft modifications like ComputerCraft or OpenComputers allow players to execute Lua on in-game computers.
Minetest uses Lua for in-game programming of robots, microcontrollers and sorting tubes, using popular addons.
Moho, an animation software package distributed by
Smith Micro Software, uses Lua as its scripting language, and all of its native tools are built as editable scripts.
Neovim text editor offers Lua functionality as a replacement for Vimscript as a scripting language, both for plugin development and for user configuration.[18]
NetBSD has a Lua driver that can create and control Lua states inside the kernel. This allows Lua to be used for packet filtering and creating device drivers.[19][20][21]
nmap network security scanner uses Lua as the basis for its scripting language, called nse.[22]
OpenMW, a free and open-source game engine recreation that reimplements the one powering Bethesda Softworks' 2002 open-world role-playing game The Elder Scrolls III: Morrowind.
OpenResty, a web platform based on
nginx, supports Lua scripting in different execution phases.
Orbiter (simulator) Space Flight Simulator offers some Lua API allowing to customize simulation feedback, or to automatize simple maneuvers [24]
pandoc, a universal document converter, allows modifications of the internal document representation via Lua scripts.[25]
Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
PewPew Live uses Lua scripting to define community levels.
PowerDNS offers extensive Lua scripting for serving and changing DNS answers, fixing up broken servers, and DoS protection.
Project Dogwaffle Professional offers Lua scripting to make filters through the DogLua filter. Lua filters can be shared between Project Dogwaffle,
GIMP, Pixarra Twistedbrush and ArtWeaver.
Project Zomboid is a video game (similar to The Sims but in zombie theme) made in Java, that uses Lua for mods (expanding the game with scripting).
QSC Audio Products supports Lua scripting for control of external devices and other advanced functionality within
Q-SYS Designer.
Quartz Composer, a visual programming tool by
Apple, can be scripted in Lua via a free plugin produced by Boinx Software.
Ravenfield (video game) is a first person shooter sandbox game that uses a modified version of Lua.
REAPER digital audio workstation supports Lua scripting to extend functionality.
Reason digital audio workstation uses Lua to describe remote codecs.
Redis, an open source key-value database, uses Lua (starting with version 2.6) to write complex functions that run in the server itself, thus extending its functionality.[26]
Renoise audio tracker uses Lua scripting to extend functionality.
RetroShare encrypted filesharing, serverless email, instant messaging, online chat and BBS software, has a Lua plugin for automation and control.
Roblox is a game platform with its own game engine. It uses a modified version of Lua 5.1 called Luau.[27]
Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
RPM, software package management system primarily developed for
Red Hat Linux, comes with an embedded Lua interpreter.[28]
SAS integrates Lua with PROC LUA as an alternative to its legacy macro language.[29]
ScyllaDB uses Lua for user-defined functions, which let users deploy server-side scripts to perform data transforms such as aggregations, sums and averages.
New versions of
SciTE editor can be extended using Lua.
Snort intrusion detection system includes a Lua interpreter since 3.0 beta release.[30]
The
Squeezebox music players from Logitech support plugins written in Lua on recent models (Controller, Radio and Touch).