Love2D: But for the server.

Showcase your libraries, tools and other projects that help your fellow love users.
Post Reply
User avatar
zalander
Citizen
Posts: 86
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Love2D: But for the server.

Post by zalander »

💡 Love:server-ed — Headless LOVE2D for Server-side Lua

Hey all!
I've been experimenting with something... unusual.
What if you could run LOVE2D without graphics, audio, input, or any window at all?

Introducing:

Love:server-ed
A modified fork of LOVE2D designed for server-side Lua scripting.
This is a headless version of LOVE(based on Love 11.5) that works in the terminal and is built for things like:
  • Multiplayer game servers
  • Simulations
  • Bots or automation
  • Anything where you don't need a window
🛠️ Features
  • `--server` mode: disables client-only modules
  • No window, no graphics, no sound
  • More to come !
🚀 Usage

Run a `.love` file in headless mode:

Code: Select all

./love --server foo.love
Run normally (GUI mode still works):

Code: Select all

./love bar.love
In `--server` mode, the following LOVE APIs are disabled:

Code: Select all

love.graphics
love.audio
love.keyboard
love.joystick
love.mouse
love.touch
love.window
love.video
love.image
love.system.vibrate
Why?
Because why not ?(there are a lot of reasons I know)

📦 GitHub Repo
Github

📌 IMPORTANT NOTE
This is just an experiment for now. Nothing is final.
Stuff will change, break, and probably explode.


That said, I'd love feedback, ideas, or cursed use-cases you've always wanted to try but couldn't because LOVE was too... visible.

Let me know what you think! :P
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
BrotSagtMist
Party member
Posts: 683
Joined: Fri Aug 06, 2021 10:30 pm

Re: Love2D: But for the server.

Post by BrotSagtMist »

Isnt that just plain luajit now?
obey
User avatar
dusoft
Party member
Posts: 792
Joined: Fri Nov 08, 2013 12:07 am
Location: Europe usually
Contact:

Re: Love2D: But for the server.

Post by dusoft »

I think it's a good experiment, but I would have something more efficient (and optimized for) running on a server as a game backend.
User avatar
zalander
Citizen
Posts: 86
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Re: Love2D: But for the server.

Post by zalander »

BrotSagtMist wrote: Mon Apr 21, 2025 4:47 pm Isnt that just plain luajit now?
Wait a second... JK, no it's not. LuaJIT doesn't come pre-packaged with timers (love.timer), filesystem abstraction (love.filesystem), and easy multithreading (love.thread).

Plus, you still get the full app lifecycle (just minus the window shenanigans). What I’m doing is keeping the native bindings and the LÖVE structure, just in a headless flavor. So no, it's not just plain LuaJIT. 🙃
Last edited by zalander on Wed Apr 23, 2025 3:00 pm, edited 1 time in total.
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
zalander
Citizen
Posts: 86
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Re: Love2D: But for the server.

Post by zalander »

dusoft wrote: Mon Apr 21, 2025 6:33 pm I think it's a good experiment, but I would have something more efficient (and optimized for) running on a server as a game backend.
Yeah, I totally get where you're coming from! The goal here isn’t necessarily maximum efficiency, but more about bringing the LÖVE ecosystem to server-side applications while keeping it familiar for devs who already use it.

I’d agree, if you're aiming for top-tier performance or super lightweight backends, there are certainly more specialized tools out there (like Node.js, Go, or C++ backends). But for those who want the simplicity of LÖVE and a consistent development experience without worrying about graphics/audio/input bloat, this is a neat middle ground.
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
dusoft
Party member
Posts: 792
Joined: Fri Nov 08, 2013 12:07 am
Location: Europe usually
Contact:

Re: Love2D: But for the server.

Post by dusoft »

zalander wrote: Wed Apr 23, 2025 2:45 pm
dusoft wrote: Mon Apr 21, 2025 6:33 pm I think it's a good experiment, but I would have something more efficient (and optimized for) running on a server as a game backend.
Yeah, I totally get where you're coming from! The goal here isn’t necessarily maximum efficiency, but more about bringing the LÖVE ecosystem to server-side applications while keeping it familiar for devs who already use it.

I’d agree, if you're aiming for top-tier performance or super lightweight backends, there are certainly more specialized tools out there (like Node.js, Go, or C++ backends). But for those who want the simplicity of LÖVE and a consistent development experience without worrying about graphics/audio/input bloat, this is a neat middle ground.
What's your use case then? Headless.... what kind of software?
User avatar
zalander
Citizen
Posts: 86
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Re: Love2D: But for the server.

Post by zalander »

dusoft wrote: Wed Apr 23, 2025 2:46 pm
zalander wrote: Wed Apr 23, 2025 2:45 pm
dusoft wrote: Mon Apr 21, 2025 6:33 pm I think it's a good experiment, but I would have something more efficient (and optimized for) running on a server as a game backend.
Yeah, I totally get where you're coming from! The goal here isn’t necessarily maximum efficiency, but more about bringing the LÖVE ecosystem to server-side applications while keeping it familiar for devs who already use it.

I’d agree, if you're aiming for top-tier performance or super lightweight backends, there are certainly more specialized tools out there (like Node.js, Go, or C++ backends). But for those who want the simplicity of LÖVE and a consistent development experience without worrying about graphics/audio/input bloat, this is a neat middle ground.
What's your use case then? Headless.... what kind of software?
My use case? Honestly, it's all about having fun and experimenting with the idea of bringing LOVE2D to the server-side world. 😄

I don't usually make games or apps—I'm more into creating libraries and frameworks. So, this project is more about playing around with the tech and seeing where I can push things.

There's no huge business or game dev goal here—just testing the limits of what LOVE can do outside of its usual graphical glory. It’s about making something unusual and seeing how it could be used in things like multiplayer servers, automation, or simulations.

Sometimes it’s just about breaking the rules, seeing what you can come up with, and pushing things in ways that aren’t obvious. That’s the fun of it for me.
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
User avatar
dusoft
Party member
Posts: 792
Joined: Fri Nov 08, 2013 12:07 am
Location: Europe usually
Contact:

Re: Love2D: But for the server.

Post by dusoft »

I see, good luck, experimentation is great.
User avatar
zalander
Citizen
Posts: 86
Joined: Mon Jan 09, 2023 5:58 am
Location: India
Contact:

Re: Love2D: But for the server.

Post by zalander »

dusoft wrote: Wed Apr 23, 2025 3:00 pm I see, good luck, experimentation is great.
Thanks! I'm all about experimentation—it's where the fun happens! Who knows, maybe this will lead to some wild use cases no one's thought of yet. 😎 Appreciate the support!
Using LOVE to make everything except games :crazy:

Code: Select all

astring = "pog"
print(astring)
--pog
Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests