Site for Pack Authors to Upload Level Packs and Any Related Pack Assets

Started by Armani, November 29, 2025, 10:02:23 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Armani

Quote from: WillLem on November 27, 2025, 02:44:31 PMHow would this differ from the platform we already have (i.e the Forum)?

The idea I had in mind was something like this: for the NeoLemmix Levels board(and a few similar boards whose purpose is specifically to publish levels), the post form itself could have a dedicated section for uploading the level pack file(+ other elements). A repository would then store the uploaded level pack and automatically link it with the thread title + authors could optionally upload other elements such as pack-exclusive styles, replays, custom music etc. These optional files would be managed together with the level pack they belong to.

Ideally players who have online features enabled could access level-pack data in a way similar to the style manager: they'd be able to browse available packs and download whichever packs and whichever optional extras they want. :laugh:

Personally, I like organizing things so that everything is easy to access. Keeping all previous contest levels together in a single pack(LDC Compilation Pack), or maintaining a list of all level packs that have been published so far(List of all NeoLemmix Level Packs) is part of that same effort. (And you just reminded me that I still need to add a couple of newly released packs to the list! 8-) )
My upcoming NeoLemmix level pack: In-development topic 8-)

My NeoLemmix level packs(in chronological order):
  Lemmings Uncharted
  Xmas Lemmings 2021
  Lemmings Halloween 2023
  Holiday Lemmings 2024 - a collaboration pack with Mobiethian :D

WillLem

Quote from: Armani on November 29, 2025, 10:02:23 AMIdeally players who have online features enabled could access level-pack data in a way similar to the style manager: they'd be able to browse available packs and download whichever packs and whichever optional extras they want. :laugh:

I had the same idea a few years ago. I've always thought a dedicated downloader (which hosts all packs) would be a good idea. You'd just select the ones you want, hit "download", and get the latest versions of each. The same system can also then be used to keep all of your packs up to date (in a similar way to the style manager).

Even more ideally, engine updates would be handled via online downloads as well. The only issue with this is that players like to modify the gfx in their own copies, and there may be times when it would be necessary for a graphic to be updated, thus overwriting the user's copy. We'd need some way of detecting whether the target graphic is a mod. But anyways, that's for another topic.

namida

Quote from: WillLem on November 29, 2025, 04:10:38 PMEven more ideally, engine updates would be handled via online downloads as well. The only issue with this is that players like to modify the gfx in their own copies, and there may be times when it would be necessary for a graphic to be updated, thus overwriting the user's copy. We'd need some way of detecting whether the target graphic is a mod. But anyways, that's for another topic.

One thought that comes to mind is having a "user-gfx" folder, with the same structure. If a file is present in that folder (or the appropriate subfolder) it's used; if not, the default one is used. This is basically the same sort of setup currently used for falling back to low-res graphics in styles if no high-res graphic is available (except of course, no upscaling is necessary in this case, just loading a different file).

This would be viable for NLCE too, without breaking drop-in compatibility.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

WillLem

Quote from: namida on Today at 01:15:09 AMOne thought that comes to mind is having a "user-gfx" folder, with the same structure. If a file is present in that folder (or the appropriate subfolder) it's used; if not, the default one is used.

The Lemmini family uses this very same system via a "mods" folder. This setup works nicely to preserve user gfx for sure, but it's not without its issues. For example, let's say we needed to add a new icon to levelinfo_icons.png. We can drop the new one into the default location, but if the user has a modded copy in their user-gfx folder, they'll be missing the added icon and might never know.

Having said that, if updates ever went online and were done on a file-by-file basis, I suppose one way around this would be for the engine to detect the presence (or not) of an updated file in the user-gfx directory, and alert the user when they first run the updated program.

In theory, if we wanted to go down this route, is it possible to run a server from a Raspberry Pi 5 just for hosting the necessary files? I have one that I've not really been using much, and it would be fun to learn about file hosting, especially if it might help to make engine updates much easier for everyone.

(Apologies this has gone way off topic btw, please do split this off into its own topic).

namida

Quote from: WillLem on Today at 04:10:18 AMIn theory, if we wanted to go down this route, could I run a server from a Raspberry Pi 5 just for hosting the necessary files? I have one that I've not really been using much, and it would be fun to learn about file hosting, especially if it might help to make engine updates much easier for everyone.

You probably could, but hosting it on your own home internet connection is not the best idea. Firstly - in order for people to be able to access it, you need to at least slightly open up your network. If you aren't careful, this can create major security risks. Secondly - you may not have a static IP address, and/or may have a shared IP address. The former makes this setup difficult, while the latter makes it impossible. Thirdly - is your internet connection (and where applicable, power) fast enough, reliable enough, and always-on enough for the job?

The better way to go would be to get a paid plan from a cheap hosting provider. You definitely want one that supports at least PHP (and probably offers a MySQL database too - you might not need it right away, but you likely will want one eventually if you do much with the web hosting). If you want to get a bit more in-depth and more DIY-y, look into a VPS provider.

Where the Pi could come in handy for this is as a development / testing environment. Install a web server on that and use that for development and testing; while opening up a device like this on your home network to the wider internet can quickly get risky, doing so simply between two of your own devices is pretty safe. As a bonus - if you can manage to set this up as such, you most likely will have learnt (at least most of) the skills you need to be able to use a VPS rather than a managed host.

I'd suggest using Debian or Ubuntu (or a fork thereof) as your OS, preferably a version with no "desktop environment" (ie: your Pi won't have a GUI like Windows; if you attach it to a screen, you'll just see a DOS-like prompt. This has two benefits - firstly, that's going to be far more in line with how using a VPS will be; and secondly, far less overhead being used for the GUI, meaning all the device's power can be used for the web server and other servers you might choose to run on it). I'd actually advise - set up a "LAMP" setup first and play around with it a bit; this is for the sake of the understanding it'll give you of the underlying workings. Then when you're comfortable with that, nuke the whole thing (server-wise; you can definitely backup and keep any sites you were working on - and if you don't want to erase the working server just in case, it's a Pi, just get a second microSD), and this time, look into VirtualMin and install that; VirtualMin makes it much more convenient to do a lot of management tasks. For reference: The Lemmings Forums server is a VirtualMin setup (on a DigitalOcean VPS, but as mentioned, I'm planning to move it... it's just a matter of actually picking one, and getting it done).
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)