VOGONS

Common searches


First post, by DoctorDalek

User metadata
Rank Newbie
Rank
Newbie

I took a crack at making my own launcher for our LAN parties many years ago when I was just a poor PHP/JS dev. Well, over the last couple of weeks I've been putting work into a new project called LANCommander.

Think about it like Steam, but you have full control over the client and server. The server is built on ASP.NET Core in .NET 6 so it will support multiplatform with Windows and Linux. The client is a plugin for Playnite and allows the user to download/install the games off the server. Everything is handled over HTTP/S which means it can also be cached or easily hosted with external access. There are some creature comforts put in to help during LAN parties and I plan on adding more fun stuff like individual user saves. Here's what's implemented currently:

  • Automatic metadata lookup when adding games on the server including multiplayer player counts
  • Customizable actions (similar to Steam's dialog where it might ask if you want to play GLQuake, Winquake, etc)
  • Basic user support, currently only basic user and administrator roles implemented
  • Archive uploading/management (archives are just ZIP files of the game
  • Key management (add CD keys to a game, clients request a key and allocate it to their MAC address, user account support to come)
  • Scripting support via PowerShell scripts which includes:
  • Install Scripts, for when you need to copy certain files or write to the registry
  • Uninstall Scripts, if you want to be a good little gamer and clean up after yourself
  • Name Change Scripts: allows users to change their player name on a game by game or global basis
  • Key Change Scripts: dictate where the key goes on the client after it's been allocated

I did a YouTube video covering the application in depth:
https://www.youtube.com/watch?v=CXZNdSk8omk

Overall the real meat of the application lies in writing the proper scripts to support games. I currently have 60 games added to my own server that have been tested to work. The trickiest scripts are probably the name change scripts, although I was able to get 54/60 games to support name changes. It makes a huge difference in a LAN party where you play a game and there's 5 people named Player1!

Finally there's some stuff I'd love to add down the line:

  • Game save support - This would also make this application great for maintaining games across installs. I can't tell you how many times I've had to restart a game because I lost the save file.
  • CD key allocation by user account
  • Support for expansion packs, patches, etc
  • Dedicated server support - even something basic like piping stdout would help. Maybe custom plugins to add support for different types of servers?
  • A wiki or other type of resource site to share scripts for games

I've had a great time developing this so far. I don't know if this type of thing will help others, but I'm honestly surprised with stuff like Plex nobody has thought to do this with games. I know Steam / GOG is easy, but man, a ton of games out there are just straight up broken. Anyway, the project has been up on GitHub since day 0, so if you want to follow along or contribute come check it out:
https://github.com/pathartl/LANCommander