Skip to content

Sharing Multi User Resources

Overview

For a multi-user session, every machine (the instructor/server and each client) needs its own local copy of the project in its collections folder. There are two ways to get projects onto every machine:

  • Automatically with Syncthing (recommended). Syncthing works both online and offline over a local LAN. It also works across separate networks when used with Radmin VPN.
  • Manually, by copying the project folders to each machine yourself. Use this if Syncthing is not installed or isn't working.

If Syncthing Is Not Installed or Not Working: Copy Projects Manually

Without Syncthing, you have to copy each project in your collections folder to every machine that will join the session. The projects folder is:

C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\collections

Each project is a single folder inside collections. Copy the whole project folder, not individual files.

Ways to copy projects:

  • Shared online link: Zip the project folder and upload it to Google Drive, OneDrive, Dropbox or similar. Share the link, then download and unzip it into the collections folder on each machine.
  • USB flash drive or external drive: Copy the project folder to the drive, then paste it into the collections folder on each machine. This works with no network at all.
  • Windows network share (same LAN): On the instructor machine, right-click the collections folder (or a folder of projects you want to share) and choose Properties → Sharing → Share. On each client, open File Explorer, go to \\<InstructorPCName>\ and copy the project folders across. This is usually the fastest method in a lab where all machines are on the same network.
  • Online Presentation Browser: Projects published to the Online Presentation Browser can be downloaded on each machine. Dragging a downloaded zip file onto E-Learning Lab unpacks it automatically. See Building a New Lesson.

Tips for manual copying:

  • Keep the project folder name exactly the same on every machine.
  • After you edit a project, copy it to every machine again. Replace the old folder so no machine runs an outdated version.
  • If session data is saved in the project folder, it includes a data folder with participant data. Delete or move that folder before sharing the project if you don't want to share that data. See Data Logging and Replay.
  • If a copied project doesn't appear in the Projects list, restart E-Learning Lab on that machine.

Syncthing Setup

1. Run Latest SightLab Installer with Syncthing

Run the SightLab exe installer again or request a new link here. This installs Syncthing into a new folder at C:\wvlab\syncthing.

When installed from the SightLab installer, Syncthing runs without a DOS window and starts automatically with Windows (it is added to the Startup menu). The web interface is at http://localhost:8384.

If you installed SightLab with an older installer, install Syncthing manually:

  • Download it from syncthing.net.
  • Run Syncthing once to generate a unique Device ID and initial configuration.
  • Open the web interface at http://localhost:8384.

2. Choose a Primary Machine or Allow Both Send and Receive

If you use a primary machine, it holds the master copy of your shared folder.

  1. In Syncthing, click Add Folder.
  2. Folder Path: point to the E-Learning Lab shared folder:

    C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\shared
    
  3. Folder ID: use e-learning.

  4. Folder Label: optional display name.
  5. (Optional) Under Advanced, set the folder type to Send Only on the primary machine if clients shouldn't send changes back.
  6. Click Save.

Note

If you also share SightLab projects, add a second folder for C:\Users\<username>\Documents\Sightlab2\Shared with the Folder ID shared-projects. See the SightLab version of this guide.


3. Pair Devices

On Each Client Machine

  1. Open the Syncthing web interface (http://127.0.0.1:8384).
  2. Go to Actions → Show ID.
  3. Copy the long Device ID string, or scan the QR code if adding from another device.
  4. Get the Device ID from every machine you plan to pair before moving to the primary machine.

On the Primary Machine

  1. In Syncthing, click Add Remote Device (bottom right).
  2. Paste the client's Device ID, or pick it from the list of nearby devices.
  3. Name: give the device a clear name (e.g., VRClient1).
  4. (Optional) Tick Introducer to have the primary automatically connect new devices to each other.
  5. Under Sharing, tick the e-learning folder. You can also do this in the next step.
  6. Click Save.

Accept on the Client

  • On the client, accept the connection request from the primary:

    "Device PrimaryMachineName wants to connect."

  • Click Add Device, give it a name, then Save.

Once both sides have accepted, the devices are paired and ready to share folders.


4. Share the Folder with Clients

On the Primary Machine

  1. Find the e-learning folder in Syncthing's folder list. If you didn't add it earlier, repeat Step 2 above.
  2. Click the Edit (pencil) icon next to it.
  3. Go to the Sharing tab and tick all the client devices that should receive this folder.
  4. Click Save.

On Each Client Machine

  1. Accept the folder share request from the primary:

    "Device PrimaryMachine wants to share folder e-learning."

  2. Click Add.

  3. Set the Folder Path to the E-Learning Lab shared folder on that machine:

    C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\shared
    
  4. Under Advanced, set the folder type to Receive Only on all client machines (if you don't want them to both send and receive).

  5. Click Save.

5. After Setup

  • Syncthing automatically keeps the shared folder in sync between the primary and all clients.
  • Any file added, edited, or deleted in the folder on one machine is reflected on all others.
  • If clients also have write access enabled, changes flow in both directions.

Workflow for Sharing

  1. Right-click any project you want to share and select Add to Shared.
  2. The project appears on the Shared tab on the other machines.
  3. On each machine, right-click the project on the Shared tab and select Import to Projects.
  4. Once everyone has received the project, you can delete it from Shared.

Running Locally

To sync only over a local network with no internet connection:

  1. Go to Actions → Settings → Connections.
  2. Disable Global Discovery and NAT Traversal.
  3. Keep Local Discovery enabled (fastest inside a LAN).

How to Ignore Sub Folders

To ignore sub-folders, in the web interface click Edit on the shared folder, then go to Ignore Patterns. Enter the name of the folder followed by a forward slash (e.g. sightlab_configs/). A .stignore file is also added automatically to the E-Learning Lab shared folder.

Important notes:

  • Use forward slashes (/) even though it's a Windows path.
  • Don't include the drive letter or the synced folder's full path.
  • End with / to indicate it's a directory.
  • The path is relative to the folder you've set up for syncing in Syncthing.

Troubleshooting

If Syncthing still won't work after trying the steps below, use the manual copy method above.

GUI Not Opening in Browser

The GUI opens in a browser even when offline in LAN mode. If it doesn't open automatically, open it manually in your browser:

http://127.0.0.1:8384/

If that still won't load, something (firewall, antivirus, browser plugin) is blocking localhost connections.

Syncthing Not Starting

  1. Stop Syncthing completely (no tray icon, no background process).
  2. Go to this folder:

    C:\Users\<username>\AppData\Local\Syncthing\
    
  3. Rename the database folder so Syncthing will rebuild it: change index-v2 to index-v2.bak.

  4. Start Syncthing again.

Syncthing creates a brand-new index-v2 database and does a full rescan of your configured folders.

  • Your config.xml (devices and folder definitions) is still there, so you don't lose settings.
  • Your files on disk are not touched. Syncthing just reindexes them.
  • The .bak folder is a backup in case you ever need to restore it.

Syncthing Not Syncing

Remove the folder in Syncthing on the receiving client (this doesn't delete the files), then add it again with the same path.

Extra Files Being Added with Conflicts

Syncthing creates *.sync-conflict-YYYYMMDD-HHMMSS-<DeviceID> files whenever two devices modified the same file before syncing.

  • The original file is still there.
  • The *.sync-conflict… copy is Syncthing's way of making sure you don't lose either version.

Safe cleanup options:

  • If you know which version is correct: open the files, confirm the correct one, then delete the conflict files.
  • If you don't need the alternate copy: delete the *.sync-conflict* files and keep only the base ones.
  • If you're not sure: move the conflict files somewhere else (e.g. a conflicts/ subfolder) before deleting them.

How to prevent future conflicts:

  • Designate one "writer" machine (e.g. your primary/instructor machine) and keep the others read-only if possible.
  • In Syncthing, set the folder type on clients to Receive Only if you don't want them to push changes back. See the Syncthing folder types documentation for more information.
  • If you need true two-way sync, conflicts can still happen, but they'll be rare if only one person edits at a time.

The .sync-conflict… files are not required for E-Learning Lab to run. They are duplicates kept for safety, and you can delete them once you've confirmed you don't need them.