Thanks to visit codestin.com
Credit goes to github.com

Skip to content

nouron/nouron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

441 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nouron — A Free Space Opera Browsergame

Nouron is a sci-fi strategy browsergame built with PHP 8.2, Laravel 12, SQLite, Alpine.js + PicoCSS (new screens) and Bootstrap 5 + jQuery (legacy screens).

Quickstart

Requirements: PHP 8.2+, Composer

Windows users: The project runs under WSL2. Run all commands inside your WSL2 terminal.

# After cloning, install dependencies
composer install

# Copy environment file and adjust as needed
cp .env.example .env
php artisan key:generate

# Create the database and seed test data
php artisan migrate:fresh --seed

# Start local dev server
php artisan serve

# Run tests (Feature suite — uses in-memory SQLite, no setup needed)
php artisan test --testsuite=Feature

Test accounts

After seeding, the database contains Simpsons test characters. All accounts share the same password:

Username Email Password Role
Bart [email protected] test123 admin — Colony "Springfield"
Homer [email protected] test123 player
Marge [email protected] test123 player
Lisa [email protected] test123 player

Resetting game state

php artisan migrate:fresh --seed

Database

The database file (data/db/nouron.db) is not committed to the repository. The schema is managed entirely via Laravel migrations and the initial data via seeders. The test suite uses an in-memory SQLite database and requires no separate setup.

Useful Artisan commands

# Sync ship/building values from config files to the database
php artisan game:sync-techs

# Preview changes without writing
php artisan game:sync-techs --dry-run

# Manually trigger a game tick (normally runs via scheduler)
php artisan game:tick

# Seed a demo colony state for the logged-in user's colony (useful for UI testing)
php artisan colony:seed-demo

Scheduler setup

The game tick runs once per day at 03:00. To activate the Laravel scheduler on your server, add one cron entry:

* * * * * cd /path/to/nouron && php artisan schedule:run >> /dev/null 2>&1

Environment & Dev Settings

Copy .env.example to .env. The most relevant settings for local development:

Game Bypass Flags

These flags disable specific game rule checks so you can test individual systems freely. All default to false (rules enforced).

Flag What it bypasses
GAME_BYPASS_AP=true Navigation, Economy and Construction AP checks
GAME_BYPASS_RESOURCES=true Resource cost checks when building/researching
GAME_BYPASS_SUPPLY=true Supply capacity checks for buildings, ships and advisors

Common test scenarios:

# Free-click everything (no checks at all) — fastest way to explore the game
GAME_BYPASS_AP=true
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=true

# Test AP behaviour with real checks active
GAME_BYPASS_AP=false
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=true

# Test Supply behaviour with real checks active
GAME_BYPASS_AP=true
GAME_BYPASS_RESOURCES=true
GAME_BYPASS_SUPPLY=false

Note: All bypass flags are blocked in production — the app will refuse to start if any flag is true when APP_ENV=production.

Deprecated: GAME_DEV_MODE=true still works as a shortcut (sets all three flags) but logs a deprecation warning. Use the individual flags instead.

Bug Tracker

https://github.com/nouron/nouron/issues

Community

Authors and Supporters

Copyright and License

Copyright 2012–2026 Mario Gehnke

The source code is licensed under the GNU General Public License V3. See:

All graphics and texts are licensed (unless otherwise noted) under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany (CC BY-NC-SA 3.0). See:

This project uses third-party frameworks and libraries with their own licenses:

About

Nouron is a free space opera browsergame. Code is using Laminas, Bootstrap and JQuery as technical basis.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors