No description
Find a file
2024-05-29 19:25:41 -05:00
.github/workflows Use official LANCommander Docker org 2024-03-14 19:52:41 -05:00
Docker Change default Docker pathings 2024-03-29 00:26:52 -05:00
Docs Basic README 2023-03-03 19:42:22 -06:00
LANCommander Fix parsing of primary actions in manifest, add dropdown for non-primary actions 2024-05-28 21:08:30 -05:00
LANCommander.AutoUpdater Launch autoupdater using shell execute, fix loop delay in autoupdater in main process check 2024-01-16 22:52:47 -06:00
LANCommander.Client Built out install process to include post-download 2024-05-29 19:25:41 -05:00
LANCommander.Client.Data Add split pane to library view, working game install 2024-05-25 15:40:31 -05:00
LANCommander.PCGamingWiki Update packages 2024-02-11 17:54:52 -06:00
LANCommander.Playnite.Extension Fix parsing of primary actions in manifest, add dropdown for non-primary actions 2024-05-28 21:08:30 -05:00
LANCommander.PowerShell Revert upgrade of ILRepack 2024-02-11 19:39:50 -06:00
LANCommander.PowerShell.Tests Fix PowerShell tests project 2024-03-13 00:01:57 -05:00
LANCommander.SDK Fix parsing of primary actions in manifest, add dropdown for non-primary actions 2024-05-28 21:08:30 -05:00
LANCommander.SDK.Tests Implement custom play actions. Allow for certain variables in arguments, working directory, and action path. 2024-01-02 20:46:28 -06:00
PCGamingWikiClient Lookup player counts from PCGamingWiki for multiplayer modes 2023-01-14 18:22:51 -06:00
.gitignore Added basic page for a self updater. 2024-01-13 03:52:08 -06:00
docker-compose.yml Update docker-compose.yml 2024-03-20 13:10:03 +01:00
LANCommander.sln Add split pane to library view, working game install 2024-05-25 15:40:31 -05:00
LICENSE Create LICENSE 2024-03-24 15:57:40 -05:00
README.md Update README.md 2024-04-04 20:08:01 -05:00

LANCommander

GitHub Release GitHub commit activity GitHub Actions Workflow Status GitHub License Wiki Discord Support me on Patreon

LANCommander is an open-source digital video game distribution system.

The main application is self-hostable and is built on the ASP.NET Blazor web application framework. Instead of reinventing the wheel with yet-another-game-launcher, client-functionality has been implemented via a Playnite extension. The database is implemented using SQLite so there is no complex setup required.

The platform is designed to work on local networks and loads no assets from the internet. It was originally developed to help assist a LAN party where the local network is closed and no internet access is permitted.

Builds for Windows and Linux are provided. Some features such as server management may be best experienced on Windows.

Community

Docker

A Docker image is available over at Docker Hub. A sample compose file is provided below:

services:
  lancommander:
    image: lancommander/lancommander:latest
    container_name: lancommander
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/appdata/config:/config
    ports:
      - 1337:1337/tcp   # Webinterface
      - 35891:35891/udp # Beacon Broadcast
    restart: unless-stopped

All config files are available from /config. This include any archive uploads for games. Many of these paths can be changed under Settings if you wish to add additional volume mappings.

Note: The Docker image runs the Linux build and features such as server management may be limited.

FAQ

How do I get games?

The best games are either portable games or DRM-free games. Freeware, shareware, abandonware are all great available options. LANCommander is only a management/distribution system. It does not come bundled with any games.

It's worth joining our Discord as some pre-packaged freeware games are available to download.

I have a pretty large LAN party planned with hundreds of players. I have some sick infrastructure and a LAN cache. What do?

LANCommander communicates over HTTP(S). There is no LAN cache configuration provided, but all downloads are provided through the /api/Games/{id}/Download route.

Where can I get some help?

Some documentation lives at the Wiki including a Getting Started guide and a category for Tutorials. It also contains a large library of sample configurations for Games and Redistributables.

How do I contribute?

Hit that fork button, submit a PR, there are no hard rules right now.

If you're not a developer but still want to contribute, writing documentation in the wiki is a great way to give back to the community!

The LANCommander dev team is currently spearheaded by one developer in their free time. Paid donation tiers are available over at the Patreon page.

SDK

A separate assembly called LANCommander.SDK has been created for use in client applications. The offical Playnite add-on utilizes this assembly to handle the authentication, download, install, and uninstall of entries from a LANCommander server. Here is a quick example of how one can authenticate to a LANCommander server and install a game to C:\Games:

var client = new LANCommander.SDK.Client("http://localhost:1337", "C:\\Games");

await client.AuthenticateAsync("username", "password");

client.Games.Install("114f653d-ea91-484b-8fe9-8e9bb58bde81");

To Do

LANCommander is far from complete. The basic implementation that exists will allow you to:

  • Manage games
  • Upload archives
  • Manage scripts
  • Manage keys
  • Download games
  • Basic user management
  • New user registration
  • Local "cloud" user saves
  • Dedicated server management/administration
  • Redistributable management and distribution
  • IPX Beacon for emulators such as DosBox
  • Game media management and automatic lookup (covers, icons, backgrounds)

The following features are being considered:

  • Dedicated launcher for easy client setup
  • Peer-to-peer file sharing of game files
  • Built-in VPN client/server for remote LAN parties
  • Social features including chat, friends list, etc.
  • Integration with platforms such as Discord, TeamSpeak, Mumble