List of applications using Lua
The Lua programming language is a lightweight multi-paradigm language designed primarily for embedded systems and clients.
This is a list of applications which use Lua for the purpose of extensibility.
Video games
In video game development, Lua is widely used as a scripting language by game programmers, perhaps due to its perceived easiness to embed, fast execution, and short learning curve.[1]
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
Among websites, the most popular website using Lua was HentaiHub, according to Wappalyzer.[4]
Other applications using Lua include:
- 3DMLW plugin uses Lua scripting for animating 3D and handling different events.
- Adobe Photoshop Lightroom uses Lua for its user interface.
- Aerospike Database uses Lua as its internal scripting language for its 'UDF' (User Defined Function) capabilities, similar to procedures
- Apache HTTP Server can use Lua anywhere in the request process (since version 2.3, via the core mod_lua module).
- Ardour hard disk recorder and digital audio workstation application uses Lua for scripting including the ability to process audio and Midi.
- 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
- 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.
- Core uses Lua for user scripts.[5]
- CRYENGINE uses Lua for user scripts.[6]
- Custom applications for the Creative Technology Zen X-Fi2 portable media player can be created in Lua.
- 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.[7]
- The Daylon Leveller heightfield/terrain modeler uses embedded Lua to let plug-ins be more easily developed.
- Dolphin Computer Access uses Lua scripting to make inaccessible applications accessible for visually impaired computer users with their screen reader, SuperNova.
- Eyeon's Fusion compositor uses embedded Lua and LuaJIT for internal and external scripts and also plugin prototyping.
- A fork of the NES emulator FCE Ultra called FCEUX allows for extensions or modifications to games via Lua scripts.
- In the videogame Factorio, Lua is used for creating mods and scenarios (expanding the game with scripting)
- Flame, a large and highly sophisticated piece of malware being used for cyber espionage.[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]
- FreePOPs, an extensible mail proxy, uses Lua to power its web front-end.
- Freeswitch, an open-source telephony platform designed to facilitate the creation of voice and chat driven products in which Lua can be used as a scripting language for call control and call flow among other things.
- Geany, a code editor, has a Lua plugin, GeanyLua.
- 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.
- GrandMA2 and GrandMA3, the lighting console and software powering most large-scale concert events worldwide, use Lua scripting for their plugin extensions.
- HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[10]
- Hollywood, a cross-platform programming language using Lua.[11]
- 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.
- Leadwerks Game Engine uses Lua for user scripts.[12]
- Lego Mindstorms NXT and NXT 2.0 can be scripted with Lua using third-party software.[13]
- lighttpd web server uses Lua for hook scripts as well as a modern replacement for the Cache Meta Language.
- LÖVE, a 2D game framework for Lua (programming language).[14]
- Luakit, a highly configurable web browser framework based on the WebKit web content engine and the GTK+ toolkit. It is extensible with Lua.[15]
- LuaTeX, the designated successor of pdfTeX, allows extensions to be written in Lua.[16]
- LuCI, the default web interface for OpenWrt, is written primarily in Lua.[17]
- MediaWiki,[18] which is used on Wikipedia and other wikis, uses Lua as a new templating language provided by Scribunto extension.
- Minecraft modifications like ComputerCraft or OpenComputers allow players to execute Lua on in-game computers.
- ModSecurity ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave's SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence.
- 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.
- MySQL Workbench uses Lua for its extensions and add-ons.
- 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]
- NodeMCU uses Lua in hardware. NodeMCU is an open source hardware platform, which can run Lua directly on the ESP8266 Wi-Fi SoC.[23]
- NSBase is a database management software. Lua scripting is used to dynamize forms and reports. It's a software workshop that allows you to create real database management applications.
- OpenResty, a web platform based on nginx that 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.
- 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.
- Prosody is a cross-platform Jabber/XMPP server written in Lua.
- 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; Lua is used to describe remote codecs.
- Redis, is an open source key-value database, in which Lua can be used (starting with version 2.6) to write complex functions that run in the server itself, thus extending its functionality.[26]
- Renoise audio tracker, in which Lua scripting is used to extend functionality.
- RetroShare encrypted filesharing, serverless email, instant messaging, online chat, and BBS software, based on a friend-to-friend network, 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.[28]
- New versions of SciTE editor can be extended using Lua.
- SAS integrates Lua with
PROC LUA
as an alternative to its legacy macro language.[29] - 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).
- Tarantool uses Lua as the stored procedure language for its NoSQL database management system, and acts as a Lua application server.
- TeamSpeak has a Lua scripting plugin for modifications.
- TI-Nspire calculators contain applications written in Lua, since TI added Lua scripting support with a calculator-specific API in OS 3+.
- Torch is an open source deep learning library for Lua.
- Varnish can execute Lua scripts in the request process by extending VCL through the Lua VMOD (Varnish module).[31]
- Vim has Lua scripting support starting with version 7.3.[32]
- VLC media player uses Lua to provide scripting support.
- Warframe uses Lua for HUD purposes and several other Ui operations
- Waze uses Lua internally. waze-4-35-0-15.apk includes Lua 5.3.3.
- WeeChat IRC client allows scripts to be written in Lua.
- WinGate proxy server allows event processing and policy to execute Lua scripts with access to internal WinGate objects.
- Wireshark network packet analyzer allows protocol dissectors, post-dissectors, and taps to be written in Lua.[33]
- wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU.[34]
- ZeroBrane Studio Lua IDE is written in Lua and uses Lua for its plugins.
- NUT allows Applications written in Lua.
- mpv (crossplatform media player, an mplayer fork) Uses Lua as a scripting language.
- Neovim text editor Intended to replace Vim script as a primary scripting language
References
- "Why is Lua considered a game language?". Archived from the original on 20 August 2013. Retrieved 2017-04-22.CS1 maint: bot: original URL status unknown (link)
- "Poll Results". Archived from the original on 7 December 2003. Retrieved 2017-04-22.CS1 maint: bot: original URL status unknown (link)
- "Front Line Award Winners Announced". Archived from the original on 15 June 2013. Retrieved 2017-04-22.CS1 maint: bot: original URL status unknown (link)
- https://www.wappalyzer.com/technologies/lua
- "Core games editor documentation". Core Games. 18 December 2020.
- "Lua Scripting - Technical Documentation - Documentation".
- "Using Lua with darktable".
- Zetter, Kim (28 May 2012). "Meet 'Flame,' The Massive Spy Malware Infiltrating Iranian Computers". Wired News.
- Khatib, F; Cooper, S; Tyka, MD; et al. (November 2011). "Algorithm discovery by protein folding game players". Proceedings of the National Academy of Sciences. 108: 18949–18953. doi:10.1073/pnas.1115898108. PMC 3223433. PMID 22065763.
- http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/
- "Hollywood - Multimedia Application Layer".
- "Leadwerks Documentation".
- "pbLua Scriptable Operating Systems with Lua". Archived from the original on 2008-12-08.
- "LÖVE - Free 2D Game Engine".
- "Luakit Web Browser". Luakit. Retrieved 21 January 2021.
- "LuaTeX". luatex.org. Retrieved 21 April 2015.
- "LuCI". Retrieved 2 July 2015.
- Technology report, Wikipedia Signpost (30 January 2012)
- "LUA(4) Man Page". netbsd.gw.com. Retrieved 2015-04-21.
- "NPF Scripting with Lua EuroBSDCon 2014" (PDF).
- "Scriptable Operating Systems with Lua" (PDF). Dynamic Languages Symposium 2014.
- "Nmap Scripting Engine". Retrieved 2010-04-10.
- Huang R. "NodeMCU devkit". GitHub. Retrieved 3 April 2015.
- "Orbiter Space Flight Simulator 2016 Edition".
- "Pandoc Lua Filters".
- "Redis Lua scripting".
- "Luau". Luau. Retrieved 2020-11-30.
- "Lua in RPM".
- "LUA Procedure".
- "Lua in Snort 3.0". Archived from the original on 2010-05-27. Retrieved 2010-04-10.
- "VMOD Lua for Varnish 3.0". Retrieved 2016-02-29.
- "Vim documentation: if_lua". Retrieved 2011-08-17.
- "Lua in Wireshark". Retrieved 2010-04-10.
- "wrk: Modern HTTP benchmarking tool". GitHub. Retrieved 10 November 2020.
External links
- eLua, Embedded Lua (a version of Lua specifically tailored for use in embedded systems).
- Projects in Lua
- Ravi, derivative of Lua 5.3 with limited optional static typing and an LLVM based JIT compiler
- SquiLu, Squirrel modified with Lua libraries