2021-10-30 19:12:24 +02:00
# Mourne
2021-10-30 19:01:52 +02:00
An old village builder / hero manager web rpg that I originally wrote using Code Igniter 3 ported to [rcpp_framework ](https://github.com/Relintai/rcpp_framework ).
2021-10-30 19:11:36 +02:00
The original code is under the `Mourne-CI` folder. I wrote this about 9 years ago. I only have the application code in the folder.
I decided not to commit the framework code itself to minimize the chance of committing passwords, or stray temp files and such.
This was my first bigger app, even though when I wrote this I did pay attention to make it secure (it's probably not that bad), however it's still
probably not a good idea to use it as it is.
2021-10-30 19:01:52 +02:00
This is highly experimental stuff. It probably shouldn't be used by anyone who's sane.
Note: this readme has been taken from an another project of mine, it will be updated later.
## Compilation
Will only work on linux! Works on the rasberry pi.
### Dependencies
Arch/Manjaro:
```
pacman -S --needed scons pkgconf gcc yasm
```
Debian/Raspian:
```
sudo apt-get install build-essential scons pkg-config libudev-dev yasm
```
Optionally if you install MariaDB/MySQL and/or PostgreSQL the compile system should pick it up. Make sure to get a version
whoch contains the development headers (A bunch of .h files).
### Initial setup
clone this repo, then call `scons` , it will clone rcpp cms into a new engine directory. Run this every time you update the project.
You don't have to run it before / between builds.
```
# git clone https://github.com/Relintai/mourne.git mourne
# cd crystal_cms
# scons
```
Now you can build the project like: `scons bl` . ([b]uild [l]inux)
Adding -jX to the build command will run the build on that many threads. Like: `scons bl -j4` .
```
# scons bl -j4
- or -
# ./build.sh
```
Now you can run it.
First run migrations, this will create the necessary database tables:
```
# ./engine/bin/server m
- or -
# ./migrate.sh
```
Now you can start the server:
```
# ./engine/bin/server
- or -
# ./run.sh
```
Make sure to run it from the project's directory, as it needs data files.
Now just open http://127.0.0.1:8080
You can push floats to the "a/b" MQTT topics, and the new values will be save in the `database.sqlite` file, and will appear
in your browser.
## Structure
The main Application implementation is `app/ic_application.h` .
The `main.cpp` contains the initialization code for the framework.
The `content/www` folder is the wwwroot.