[FEAT] Multi-user support: separate save files, save states, and settings per user with concurrent session access

Open
#5 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
docker

Research direction

Start by reviewing how the container currently uses /config and how the KasmVNC session is started. The issue proposes per-user directories such as /config/users/, SCUMMVM_PROFILE selection, and separate ports for concurrent sessions; first define which of these is in scope. Done should provide isolated saves and settings and simultaneous access without sessions interfering.

Written by the indexing model from the issue text.

Description

enhancement no-issue-activity
Is this a new feature request?
  • I have searched the existing issues
Wanted change

Add multi-user support to the docker-scummvm container so that multiple people can:

  1. Each have their own isolated save files and save states that don't interfere with each other
  2. Access the container simultaneously from different locations (e.g. different browsers/devices on a home network or over the internet)
  3. Optionally have their own game settings/preferences per-user profile

A basic implementation could work by mapping user profiles to subfolders under /config (e.g. /config/users/alice, /config/users/bob), each containing their own saves/, scummvm.ini, and any other per-user state. A login/profile selection screen in the KasmVNC web UI, or environment variable-driven profile selection (e.g. SCUMMVM_USER=alice), could be used to switch between profiles.

Reason for change

Right now the container is a single-user environment — all save files, save states, and config live in one shared /config directory. If two people use the same container (e.g. a family sharing a home server), they overwrite each other's progress and can't play the same game independently.

There's also no way for two people to use the container at the same time, since a second browser session just mirrors or interrupts the first.

For a self-hosted game server shared among family members or housemates, multi-user isolation and concurrent access would make the container dramatically more useful. Each person could maintain their own playthrough of a game without affecting anyone else.

Proposed code change

A possible approach without deep changes to ScummVM itself:

  • Store user profiles under /config/users// (saves, ini, etc.)
  • Add an env var SCUMMVM_PROFILE (default: default) to select which profile directory is symlinked/mounted into the active ScummVM config path at container start
  • For true concurrent access, run multiple isolated ScummVM+KasmVNC instances on different ports (e.g. user 1 on port 3000, user 2 on port 3001), each pointing to their own profile directory — orchestrated via a lightweight user management layer or additional env vars like SCUMMVM_USERS=alice:3000,bob:3001
Dominant language
Dockerfile
Stars
12
Forks
1
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Game Dev issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.