aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/AssetFiles/.keep0
-rw-r--r--example/AssetFiles/data/.keep0
-rw-r--r--example/AssetFiles/tmp/.keep0
-rw-r--r--example/AssetFiles/tmp/spool/.keep0
-rw-r--r--example/backups/.keep0
-rw-r--r--example/caches/.keep0
-rw-r--r--example/caches/DataSnapshot/.keep0
-rw-r--r--example/caches/MapImageCache/.keep0
-rw-r--r--example/caches/MeshCache/.keep0
-rw-r--r--example/caches/ScriptEngines/.keep0
-rw-r--r--example/caches/addin-db-001/.keep0
-rw-r--r--example/caches/addin-db-002/.keep0
-rw-r--r--example/caches/addin-db-003/.keep0
-rw-r--r--example/caches/addin-db-004/.keep0
-rw-r--r--example/caches/assetcache/.keep0
-rw-r--r--example/caches/assetcache/j2k/.keep0
-rw-r--r--example/caches/bakes/.keep0
-rw-r--r--example/caches/j2kDecodeCache/.keep0
-rw-r--r--example/caches/maptiles/.keep0
-rw-r--r--example/config/ROBUST/opensim-monit.conf36
-rw-r--r--example/config/config.ini47
-rw-r--r--example/config/sim_skeleton/ThisSim.ini44
-rw-r--r--example/config/sim_skeleton/opensim-monit.conf29
-rw-r--r--example/db/.keep0
-rw-r--r--example/logs/.keep0
-rwxr-xr-xexample/start.sh4
-rw-r--r--example/web/SledjHamr.pngbin0 -> 1655233 bytes
-rw-r--r--example/web/SledjHamrIcon.pngbin0 -> 95362 bytes
-rw-r--r--example/web/SledjHamrIconSmall.pngbin0 -> 8535 bytes
-rw-r--r--example/web/about.html10
-rw-r--r--example/web/help.html10
-rw-r--r--example/web/loginpage.html97
-rw-r--r--example/web/password_help.html10
-rw-r--r--example/web/register.html14
-rw-r--r--example/web/stats.html24
35 files changed, 325 insertions, 0 deletions
diff --git a/example/AssetFiles/.keep b/example/AssetFiles/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/AssetFiles/.keep
diff --git a/example/AssetFiles/data/.keep b/example/AssetFiles/data/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/AssetFiles/data/.keep
diff --git a/example/AssetFiles/tmp/.keep b/example/AssetFiles/tmp/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/AssetFiles/tmp/.keep
diff --git a/example/AssetFiles/tmp/spool/.keep b/example/AssetFiles/tmp/spool/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/AssetFiles/tmp/spool/.keep
diff --git a/example/backups/.keep b/example/backups/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/backups/.keep
diff --git a/example/caches/.keep b/example/caches/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/.keep
diff --git a/example/caches/DataSnapshot/.keep b/example/caches/DataSnapshot/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/DataSnapshot/.keep
diff --git a/example/caches/MapImageCache/.keep b/example/caches/MapImageCache/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/MapImageCache/.keep
diff --git a/example/caches/MeshCache/.keep b/example/caches/MeshCache/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/MeshCache/.keep
diff --git a/example/caches/ScriptEngines/.keep b/example/caches/ScriptEngines/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/ScriptEngines/.keep
diff --git a/example/caches/addin-db-001/.keep b/example/caches/addin-db-001/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/addin-db-001/.keep
diff --git a/example/caches/addin-db-002/.keep b/example/caches/addin-db-002/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/addin-db-002/.keep
diff --git a/example/caches/addin-db-003/.keep b/example/caches/addin-db-003/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/addin-db-003/.keep
diff --git a/example/caches/addin-db-004/.keep b/example/caches/addin-db-004/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/addin-db-004/.keep
diff --git a/example/caches/assetcache/.keep b/example/caches/assetcache/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/assetcache/.keep
diff --git a/example/caches/assetcache/j2k/.keep b/example/caches/assetcache/j2k/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/assetcache/j2k/.keep
diff --git a/example/caches/bakes/.keep b/example/caches/bakes/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/bakes/.keep
diff --git a/example/caches/j2kDecodeCache/.keep b/example/caches/j2kDecodeCache/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/j2kDecodeCache/.keep
diff --git a/example/caches/maptiles/.keep b/example/caches/maptiles/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/caches/maptiles/.keep
diff --git a/example/config/ROBUST/opensim-monit.conf b/example/config/ROBUST/opensim-monit.conf
new file mode 100644
index 0000000..adce46d
--- /dev/null
+++ b/example/config/ROBUST/opensim-monit.conf
@@ -0,0 +1,36 @@
1# manage the OpenSim process for Your Sim
2#
3# usage:
4# monit start your_sim
5# monit stop your_sim
6# monit restart your_sim
7#
8# see 'daemon' setting in /etc/monit/monitrc for the cycle length.
9# on ubuntu/debian, this is overridden by the CHECK_INTERVALS var in
10# /etc/default/monit . the below assumes you've set it to 30 seconds.
11#
12# if process dies, will restart sim within 30 seconds. if process
13# dies 5 times in as many tries, will stop trying and send email
14# alert.
15#
16# if SimFPS drops to 0 for 2 minutes, restart.
17#
18# if process CPU usage stays above 300% for 2 minutes, restart.
19#
20# see ../README for configuration instructions.
21#
22# Hmmmm, seems that monit changing to a user and running bash -l is different from sudo changing to a user and running bash -l.
23#
24check process ROBUST with pidfile OS_PATH/caches/ROBUST.pid
25 start program = "/usr/bin/sudo -Hu opensim /bin/bash -lc 'cd OS_PATH/config/ROBUST && OS_PATH/config/ROBUST/start-sim -q'"
26 as uid root and gid root
27 stop program = "/usr/bin/sudo -Hu opensim /bin/bash -lc 'cd OS_PATH/config/ROBUST && OS_PATH/config/ROBUST/stop-sim'" with timeout 600 seconds
28 if cpu usage > 50% for 4 cycles then restart
29# if 5 restarts within 5 cycles then timeout
30# if failed url http://127.0.0.1:9005/jsonSimStats/
31# and content != '"SimFPS":0.0,' for 4 cycles
32# then restart
33# if failed url http://127.0.0.1:9008/jsonSimStats/
34# and content == '"SimFPS":' for 4 cycles
35# then restart
36
diff --git a/example/config/config.ini b/example/config/config.ini
new file mode 100644
index 0000000..e95b04c
--- /dev/null
+++ b/example/config/config.ini
@@ -0,0 +1,47 @@
1; The Const section allows us to define some basic information that we
2; will use throughout our configuration. We will provide examples for
3; setting the base url of the ROBUST server and the public and private ports
4; it uses. Changing the values of the constants will set the operating
5; parameters thoughout the configuration. Other constants that may prove
6; to be useful may be added to the followin section. They may be
7; referenced anywhere in the configuration by using ${Const|Name}. One
8; such use is providing a base path for setting locations that ROBUST
9; uses to write data.
10
11; Also put grid specific stuff here.
12
13
14[Paths]
15 AssetsPath = "../../AssetFiles"
16 BackupPath = "../../backups"
17 CachePath = "../../caches"
18 ConfigPath = "../../config"
19 DbPath = "../../db"
20 LogPath = "../../logs"
21 WebPath = "../../web"
22
23[Const]
24 MOTD = "Welcome to your local grid."
25
26 GridName = "localhost Grid"
27 ShortGridName = "lg"
28
29 ; For a grid these will usually be the externally accessible IP/DNS
30 ; name and use default public port 8002 and default private port 8003
31 ; For a standalone this will usually be the externally accessible IP/DNS
32 ; name and use default public port 9000. The private port is not used
33 ; in the configuration for a standalone.
34 BaseHostname = "127.0.0.1"
35 HostName = "localhost"
36 BaseURL = http://${Const|BaseHostname}
37 GridURL = http://${Const|BaseHostname}
38
39 PublicPort = "8002"
40 PrivatePort = "8003"
41
42 ; The public port of the ROBUST asset server, which might be different.
43 AssetServerPort = "8003"
44
45 ; Database credentials.
46 DataProvider = "OpenSim.Data.MySQL.dll"
47 ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;"
diff --git a/example/config/sim_skeleton/ThisSim.ini b/example/config/sim_skeleton/ThisSim.ini
new file mode 100644
index 0000000..44749bb
--- /dev/null
+++ b/example/config/sim_skeleton/ThisSim.ini
@@ -0,0 +1,44 @@
1[Const]
2 mysim="SIM_NUMBER"
3
4[Startup]
5 PIDFile = "${Paths|CachePath}/sim${Const|mysim}.pid"
6 LogFile = "${Paths|LogPath}/OpenSim_sim${Const|mysim}.log"
7 StatsLogFile = "${Paths|LogPath}/OpenSimStats_sim${Const|mysim}.log"
8 ConsoleHistoryFile = "${Paths|LogPath}/OpenSimConsoleHistory_sim${Const|mysim}.txt"
9
10[Region]
11 RegionName = "SIM_NAME"
12 RegionUUID = "SIM_UUID"
13 Location = "SIM_POS"
14 InternalPort = "SIM_INT_PORT"
15 RegionType = "private sim"
16 SizeX = SIM_SIZE
17 SizeY = SIM_SIZE
18 SizeZ = 16384
19 MaxAgents = 100
20 MaxPrims = 45000
21 PhysicalPrimMax = 640
22 NonPhysicalPrimMax = 2560
23 ClampPrimSize = False
24 MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
25 ; NonPhysicalPrimMin = 0
26 ; PhysicalPrimMin = 0
27 ; MaxPrimsPerUser = -1
28 ; LinksetPrims = 0
29 ; DefaultLanding = "<128, 128, 30>"
30 ; MaptileStaticFile = ""
31 ; ScopeID = "00000000-0000-0000-0000-000000000000"
32 ; Datastore = ""
33 ; ResolveAddress = ""
34
35[Network]
36 http_listener_port = SIM_PORT
37
38[Performance]
39 ;; Select the performance characteristics of OpenSim.
40 ; Include-Performance = "config-include/SimFast.ini"
41 Include-Performance = "config-include/SimBalanced.ini"
42 ; Include-Performance = "config-include/SimDefault.ini"
43 ; Include-Performance = "config-include/SimLean.ini"
44
diff --git a/example/config/sim_skeleton/opensim-monit.conf b/example/config/sim_skeleton/opensim-monit.conf
new file mode 100644
index 0000000..fd9220f
--- /dev/null
+++ b/example/config/sim_skeleton/opensim-monit.conf
@@ -0,0 +1,29 @@
1# manage the OpenSim process for Your Sim
2#
3# usage:
4# monit start your_sim
5# monit stop your_sim
6# monit restart your_sim
7#
8# see 'daemon' setting in /etc/monit/monitrc for the cycle length.
9# on ubuntu/debian, this is overridden by the CHECK_INTERVALS var in
10# /etc/default/monit . the below assumes you've set it to 30 seconds.
11#
12# see ../README for configuration instructions.
13#
14# Hmmmm, seems that monit changing to a user and running bash -l is different from sudo changing to a user and running bash -l.
15#
16check process simSIM_NUMBER with pidfile OS_PATH/caches/simSIM_NUMBER.pid
17 start program = "/usr/bin/sudo -Hu opensim /bin/bash -lc 'cd OS_PATH/config/simSIM_NUMBER && OS_PATH/config/simSIM_NUMBER/start-sim -q'"
18 as uid root and gid root
19 stop program = "/usr/bin/sudo -Hu opensim /bin/bash -lc 'cd OS_PATH/config/simSIM_NUMBER && OS_PATH/config/simSIM_NUMBER/stop-sim'" with timeout 600 seconds
20 if cpu usage > 50% for 4 cycles then restart
21 if MEMORY usage > 10% for 4 cycles then restart
22# if 5 restarts within 5 cycles then timeout
23# if failed url http://127.0.0.1:9005/jsonSimStats/
24# and content != '"SimFPS":0.0,' for 4 cycles
25# then restart
26# if failed url http://127.0.0.1:9008/jsonSimStats/
27# and content == '"SimFPS":' for 4 cycles
28# then restart
29 depends on ROBUST
diff --git a/example/db/.keep b/example/db/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/db/.keep
diff --git a/example/logs/.keep b/example/logs/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/logs/.keep
diff --git a/example/start.sh b/example/start.sh
new file mode 100755
index 0000000..d6ef48d
--- /dev/null
+++ b/example/start.sh
@@ -0,0 +1,4 @@
1#!/bin/bash
2
3cd /opt/opensim_SC/current/bin
4mono OpenSim.exe -inidirectory=../../config/simg01
diff --git a/example/web/SledjHamr.png b/example/web/SledjHamr.png
new file mode 100644
index 0000000..9089573
--- /dev/null
+++ b/example/web/SledjHamr.png
Binary files differ
diff --git a/example/web/SledjHamrIcon.png b/example/web/SledjHamrIcon.png
new file mode 100644
index 0000000..e3b50e1
--- /dev/null
+++ b/example/web/SledjHamrIcon.png
Binary files differ
diff --git a/example/web/SledjHamrIconSmall.png b/example/web/SledjHamrIconSmall.png
new file mode 100644
index 0000000..a1a6d72
--- /dev/null
+++ b/example/web/SledjHamrIconSmall.png
Binary files differ
diff --git a/example/web/about.html b/example/web/about.html
new file mode 100644
index 0000000..50ee1e2
--- /dev/null
+++ b/example/web/about.html
@@ -0,0 +1,10 @@
1<html>
2<title>About this grid</title>
3<head>
4<link rel="shortcut icon" href="SledjHamrIconSmall.png">
5</head>
6<body bgcolor="black" text="white" alink="red" link="blue" vlink="purple">
7This is a virtual world, usually called a grid, based on <a href="https://sledjhamr.org/cgit/opensim-SC/?h=SledjChisl">opensim-SC</a>.
8<p>&nbsp;</p>
9</body>
10</html>
diff --git a/example/web/help.html b/example/web/help.html
new file mode 100644
index 0000000..e070b82
--- /dev/null
+++ b/example/web/help.html
@@ -0,0 +1,10 @@
1<html>
2<title>Help for this grid</title>
3<head>
4<link rel="shortcut icon" href="SledjHamrIconSmall.png">
5</head>
6<body bgcolor="black" text="white" alink="red" link="blue" vlink="purple">
7Include help for your grid here.
8<p>&nbsp;</p>
9</body>
10</html>
diff --git a/example/web/loginpage.html b/example/web/loginpage.html
new file mode 100644
index 0000000..5ca5a52
--- /dev/null
+++ b/example/web/loginpage.html
@@ -0,0 +1,97 @@
1<html>
2<title><!--#echo var="grid" --> splash page</title>
3<head>
4<link rel="shortcut icon" href="SledjHamrIconSmall.png">
5<meta http-equiv="refresh" content="120">
6<style>
7html, body
8{
9 margin: 0;
10 padding: 0;
11 color: white;
12}
13a {color: green;}
14a:link {color: green;}
15a:visited {color: purple;}
16a:hover {color: red;}
17a:active {color: blue;}
18
19.container
20{
21 position: relative;
22 text-align: left;
23}
24
25.top-left
26{
27 position: absolute;
28 top: 8px;
29 left: 16px;
30 width: 30%;
31}
32
33.top-right
34{
35 position: absolute;
36 top: 8px;
37 right: 16px;
38 width: 30%;
39}
40
41.centre
42{
43 position: absolute;
44 top: 50%;
45 left: 50%;
46 width: 30%;
47 transform: translate(-50%, -50%);
48}
49
50.bottom-left
51{
52 position: absolute;
53 bottom: 8px;
54 left: 16px;
55 width: 30%;
56}
57
58.bottom-right
59{
60 position: absolute;
61 bottom: 8px;
62 right: 16px;
63 width: 30%;
64}
65</style>
66</head>
67<body>
68<div class="container">
69 <img src="SledjHamr.png" alt="SledjHamr" style="width:100%;height:100%;">
70 <div class="top-left">
71 <h1>Add your fancy splash page for <!--#echo var="grid" --> here.</h1>
72 <p>&nbsp;</p>
73 <p>&nbsp;</p>
74 <p>&nbsp;</p>
75 <p>Perhaps describe <!--#echo var="grid" --> here.</p>
76 </div>
77 <div class="top-right">
78 <h1>Login URI - <!--#echo var="uri" --></h1>
79 <p>&nbsp;</p>
80 <p>There are <!--#echo var="members" --> members of this grid.</p>
81 <p>There are <!--#echo var="inworld" --> locals and <!--#echo var="hgers" --> hypergrid visitors in world.</p>
82 <p>There are <!--#echo var="outworld" --> locals out on the hypergrid.</p>
83 <p>There have been <!--#echo var="day30" --> locals and visitors on this grid in the last month.</p>
84 <p>There are <!--#echo var="sims" --> regions, though some might not be online right now.</p>
85 </div>
86 <div class="centre">
87 <p>Maybe add some news or events here, or something.</p>
88 </div>
89 <div class="bottom-left">
90 <p>CSS by Taylor Temper, photo by onefang rejected.</p>
91 </div>
92 <div class="bottom-right">
93 <p><!--#echo var="grid" --> is running <a href="https://sledjhamr.org/mantisbt/project_page.php?project_id=8"><!--#echo var="version" --></a>,
94 part of the <a href="https://sledjhamr.org/git/docs/index.html">SledjHamr</a> project.</p>
95</div>
96</body>
97</html>
diff --git a/example/web/password_help.html b/example/web/password_help.html
new file mode 100644
index 0000000..db03fff
--- /dev/null
+++ b/example/web/password_help.html
@@ -0,0 +1,10 @@
1<html>
2<title>Password help for this grid</title>
3<head>
4<link rel="shortcut icon" href="SledjHamrIconSmall.png">
5</head>
6<body bgcolor="black" text="white" alink="red" link="blue" vlink="purple">
7Include password help for your grid here.
8<p>&nbsp;</p>
9</body>
10</html>
diff --git a/example/web/register.html b/example/web/register.html
new file mode 100644
index 0000000..e721351
--- /dev/null
+++ b/example/web/register.html
@@ -0,0 +1,14 @@
1<html>
2<title>Account for this grid</title>
3<head>
4<link rel="shortcut icon" href="SledjHamrIconSmall.png">
5</head>
6<body bgcolor="black" text="white" alink="red" link="blue" vlink="purple">
7Include account registration help for your grid here.
8<p>&nbsp;</p>
9<p>If you want to register an account on this grid, ask the person that runs it to do that for you.</p>
10<p>&nbsp;</p>
11<p>If you want to register an account on this grid, <a href="account.html"> click here</a> (when it's written).</p>
12<p>&nbsp;</p>
13</body>
14</html>
diff --git a/example/web/stats.html b/example/web/stats.html
new file mode 100644
index 0000000..418adac
--- /dev/null
+++ b/example/web/stats.html
@@ -0,0 +1,24 @@
1<html>
2 <title><!--#echo var="grid" --> stats page</title>
3 <head>
4 <link rel="shortcut icon" href="SledjHamrIconSmall.png">
5 <meta http-equiv="refresh" content="120">
6 </head>
7 <body>
8 <h1><!--#echo var="grid" --> statistics.</h1>
9 <p>Login URI - <!--#echo var="uri" --></p>
10 <p>Login page - <a href="<!--#echo var="uri" -->web/loginpage.html"><!--#echo var="uri" -->web/loginpage.html</a></p>
11 <p>There are <!--#echo var="members" --> members of this grid.</p>
12 <p>There are <!--#echo var="inworld" --> locals and <!--#echo var="hgers" --> hypergrid visitors in world right now.</p>
13 <p>There are <!--#echo var="outworld" --> locals out on the hypergrid right now.</p>
14 <p>There have been <!--#echo var="locDay30" --> locals and <!--#echo var="HGday30" --> hypergrid visitors on this grid in the last 30 days (<!--#echo var="day30" --> total).</p>
15 <p>There have been <!--#echo var="locDay60" --> locals and <!--#echo var="HGday60" --> hypergrid visitors on this grid in the last 60 days (<!--#echo var="day60" --> total).</p>
16 <p>There are <!--#echo var="sims" --> regions, though <!--#echo var="offlineSims" --> might not be online right now.</p>
17 <p>There may be <!--#echo var="onlineSims" --> regions online, with a total area of perhaps <!--#echo var="simsSize" --> square metres.</p>
18 <p>There are <!--#echo var="varRegions" --> varregions that might be online now.</p>
19 <p>There are <!--#echo var="singleSims" --> normal regions that might be online now.</p>
20 <p><!--#echo var="grid" --> is running <a href="https://sledjhamr.org/mantisbt/project_page.php?project_id=8"><!--#echo var="version" --></a>,
21 part of the <a href="https://sledjhamr.org/git/docs/index.html">SledjHamr</a> project.</p>
22 <p>These statistics will update every two minutes.</p>
23 </body>
24</html>