List of applications using Lua

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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[edit]

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[edit]

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.
  • CRYENGINE uses Lua for user scripts.[4]
  • 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 lots of disk space.
  • The darktable open-source photography workflow application is scriptable with Lua.[5]
  • 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.
  • Flame, a large and highly sophisticated piece of malware being used for cyber espionage.[6]
  • 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.[7]
  • 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.
  • Garry's Mod, a 3D Sandbox game.
  • 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.
  • HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[8]
  • Hammerspoon uses Lua for system automation on OSX, like controlling the screen, mouse, battery status and much more.
  • HYDRO_AS-2D, a 2D-surface-water model, uses Lua to query and change boundary-conditions and other model-values during simulation. Possible applications are the simulation of reservoire-management-rules or dam-breaks.
  • iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physics simulation.
  • iNTERFACEWARE Iguana is a healthcare interface engine with Lua scripting capabilities. [9]
  • The drawing editor Ipe (mainly used for producing figures with LaTeX labeling) uses Lua for its functionality and script extensions.
  • Lego Mindstorms NXT and NXT 2.0 can be scripted with Lua using third-party software.[10]
  • lighttpd web server uses Lua for hook scripts as well as a modern replacement for the Cache Meta Language.
  • Lapis, a web framework for Lua.[11]
  • LuaTeX, the designated successor of pdfTeX, allows extensions to be written in Lua.[12]
  • LuCI, the default web interface for OpenWrt, is written primarily in Lua.[13]
  • MediaWiki[14] uses Lua as a new templating language, which is used on Wikipedia and other wikis.
  • 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.
  • The Moonbridge Network Server for Lua Applications, in combination with WebMCP, a web development framework, allows complex web applications to be written in Lua (used by LiquidFeedback[15]).
  • 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.[16][17][18]
  • Nginx has a powerful embedded Lua module that provides an API for accessing Nginx facilities like socket handling, for example.[19]
  • nmap network security scanner uses Lua as the basis for its scripting language, called nse.[20]
  • NodeMCU uses Lua in hardware. NodeMCU is an open source hardware platform, which can run Lua directly on the ESP8266 Wi-Fi SoC.[21]
  • Orbiter (simulator) Space Flight Simulator offers some Lua API allowing to customize simulation feedback, or to automatize simple maneuvers [22]
  • Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
  • The Perimeta session border controller from Metaswitch Networks uses Lua as a scripting language to manipulate SDP data on the fly.[23]
  • 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.
  • 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.[24]
  • 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's Studio editor allows users to write Lua game scripts and editor plugins.
  • Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
  • RPM, software package management system, primarily developed for Red Hat Linux.[25]
  • New versions of SciTE editor can be extended using Lua.
  • SAS integrates Lua with the PROC.
  • ScribeBot uses Lua as a scripting languge for creating all sorts of automations and bots.
  • Snort intrusion detection system includes a Lua interpreter since 3.0 beta release.[26]
  • The Squeezebox music players from Logitech support plugins written in Lua on recent models (Controller, Radio and Touch).
  • Tabletop Simulator uses Lua as a scripting language for controlling game objects.
  • 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.
  • Transformice, independent multiplayer free-to-play online platform browser game that uses Lua to code minigames.
  • Varnish can execute Lua scripts in the request process by extending VCL through the Lua VMOD (Varnish module).[27]
  • Vim has Lua scripting support starting with version 7.3.[28]
  • VLC media player uses Lua to provide scripting support.
  • 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.[29]
  • ZeroBrane Studio Lua IDE is written in Lua and uses Lua for its plugins.

References[edit]

  1. ^ "Why is Lua considered a game language?". Archived from the original on 20 August 2013. Retrieved 2017-04-22.
  2. ^ "Poll Results". Archived from the original on 7 December 2003. Retrieved 2017-04-22.
  3. ^ "Front Line Award Winners Announced". Archived from the original on 15 June 2013. Retrieved 2017-04-22.
  4. ^ "Lua Scripting - Technical Documentation - Documentation".
  5. ^ "Using Lua with darktable".
  6. ^ Zetter, Kim (28 May 2012). "Meet 'Flame,' The Massive Spy Malware Infiltrating Iranian Computers". Wired News.
  7. ^ "Algorithm discovery by protein folding game players". Proceedings of the National Academy of Sciences. 108: 18949–18953. doi:10.1073/pnas.1115898108. PMC 3223433.
  8. ^ http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/
  9. ^ "Scripting Best Practices". Retrieved 2018-06-16.
  10. ^ "pbLua Scriptable Operating Systems with Lua". Archived from the original on 2008-12-08.
  11. ^ "Lapis: A web framework for Lua or MoonScript". Archived from the original on 2018-05-04.
  12. ^ "LuaTeX". luatex.org. Retrieved 21 April 2015.
  13. ^ "LuCI". Retrieved 2 July 2015.
  14. ^ Technology report, Wikipedia Signpost (30 January 2012)
  15. ^ "Public Software Group e. V. – LiquidFeedback Frontend". public-software-group.org. Public Software Group. Retrieved 3 April 2015.
  16. ^ "LUA(4) Man Page". netbsd.gw.com. Retrieved 2015-04-21.
  17. ^ "NPF Scripting with Lua EuroBSDCon 2014" (PDF).
  18. ^ "Scriptable Operating Systems with Lua" (PDF). Dynamic Languages Symposium 2014.
  19. ^ "HttpLuaModule". Wiki.nginx.org. Retrieved 2013-07-17.
  20. ^ "Nmap Scripting Engine". Retrieved 2010-04-10.
  21. ^ Huang R. "NodeMCU devkit". Github. Retrieved 3 April 2015.
  22. ^ "Orbiter Space Flight Simulator 2016 Edition".
  23. ^ "Know Your SBCs" (PDF). Retrieved 2014-03-08.
  24. ^ "Redis Lua scripting".
  25. ^ "Lua in RPM".
  26. ^ "Lua in Snort 3.0". Retrieved 2010-04-10.
  27. ^ "VMOD Lua for Varnish 3.0". Retrieved 2016-02-29.
  28. ^ "Vim documentation: if_lua". Retrieved 2011-08-17.
  29. ^ "Lua in Wireshark". Retrieved 2010-04-10.

External links[edit]