Prerequisites

Confirm the running server or client can see your bundle and that the manifest points at the right files.

These docs assume you already have a working Selene server, client, or both. Bundle development starts after that point.

What you actually need

  • A running server or client session where bundle loading is already working
  • Filesystem access to the bundle directory you want to test
  • A valid bundle.json manifest
  • Lua files placed under the correct runtime folders

Server prerequisites

To test a bundle on the server, you need:

  • A server.properties file in the server working directory
  • A bundles_path directory that contains bundle folders
  • A bundles list that names the bundles to enable

Minimal example:

bundles_path=../../bundles
bundles=example.bundle
hot_reload=true

hot_reload accepts false, true, or eager in the default server properties.

Client prerequisites

The client does not scan a shared bundles root by name. It requires explicit bundle mappings:

java -jar selene-client.jar \
  --bundle example.bundle /absolute/path/to/example.bundle

Useful companion arguments:

  • --host or -h
  • --port or -p
  • --token or -t
  • --contentServer or -c
  • --bundle or -b

The default client properties enable hot reload:

hot_reload=true

Bundle content checklist

A bundle becomes useful only when its directory contents match the runtime you are testing:

  • common/ for shared Lua modules, data, assets, or i18n files
  • server/ for server-only scripts and resources
  • client/ for client-only scripts, UI, visuals, sounds, and assets
  • bundle.json with correct entrypoints, dependencies, and optional preloads

If a bundle is visible to the runtime but still appears inactive, check these first:

  • The manifest name matches the bundle you enabled or mapped
  • Every entrypoints path exists relative to the bundle root
  • Runtime-specific files live under the correct folder prefix
  • Any declared dependency is also available to the same runtime