Update configuration files for OpenSimulator as of 20220130.

Rework some of the scripts to make their operation clearer.
This commit is contained in:
Robert Adams
2022-01-30 15:25:45 +00:00
parent 8e71bfed49
commit b698e61405
25 changed files with 787 additions and 348 deletions
+4 -4
View File
@@ -1,7 +1,8 @@
# OpenSim with Herbal3d region modules
# docker build -t opensim-herbal3d .
FROM mono:5 as built
FROM mono:6 as built
# FROM mono:5 as built
# FROM mono:4.6 as built
LABEL Version="0.1"
@@ -18,7 +19,7 @@ RUN apt-get update \
cron \
mysql-client \
sqlite \
&& rm -rf /var/lib/apt/lists/*
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
# The simulator is run under the user name 'opensim'
# (From https://stackoverflow.com/questions/27701930/add-user-to-docker-container)
@@ -35,7 +36,6 @@ COPY --chown=opensim:opensim vimrc /home/opensim/.vimrc
# to make the resulting layer small.
RUN cd /home/opensim \
&& git clone git://opensimulator.org/git/opensim \
&& rm -rf $OPENSIMDIR/.git \
&& cd $OPENSIMDIR/addon-modules/ \
&& git clone https://github.com/Herbal3d/HerbalCommonEntitiesCS.git \
&& git clone https://github.com/Herbal3d/HerbalTransportCS.git \
@@ -49,7 +49,7 @@ RUN cd /home/opensim \
&& cd $OPENSIMDIR \
&& ./runprebuild.sh \
&& nuget restore OpenSim.sln \
&& cp packages/*/lib/net45/* bin \
&& cp -f packages/*/lib/net45/* bin \
&& msbuild \
&& cd $OPENSIMDIR \
&& rm -rf $OPENSIMDIR/OpenSim \
@@ -18,6 +18,7 @@ if [[ ! -z "$CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/$CONFIG_NAME/os-secrets.crypt $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
source <(ccrypt -c -E CONFIGKEY "$secretsFile")
HAVE_SECRETS=yes
break;
fi
done
+5 -2
View File
@@ -69,8 +69,8 @@ RUN cd $OPENSIMDIR \
&& ./runprebuild48.sh \
&& msbuild
# OpenSim.ini does an include of "config-include/Standalone.ini".
# so copy an empty version to nullfy the default configuration.
# OpenSim.ini and other INI files include from "config-include/*"
# so copy an empty versions to nullfy the default configuration.
COPY --chown=opensim:opensim config-include/ $OPENSIMDIR/bin/config-include/
# Copy over any extra configuration files we're including
RUN mkdir -p $OPENSIMDIR/bin/config
@@ -78,6 +78,9 @@ COPY --chown=opensim:opensim config/ $OPENSIMDIR/bin/config/
# Use the default, included configuration parameters
RUN cp $OPENSIMDIR/bin/OpenSim.ini.example $OPENSIMDIR/bin/OpenSim.ini
# Remove the run supression flag. If this file exists, OpenSim is not started by the run script.
RUN rm -f $OPENSIMDIR/../NOOPENSIM
WORKDIR $OPENSIMDIR/bin
ENTRYPOINT [ "/home/opensim/bootOpenSim.sh" ]
@@ -0,0 +1,3 @@
; This file exists because this file is the default architecture include
; in OpenSim.ini.
; Look for the real configuration in bin/config which overlays settings.
@@ -0,0 +1,3 @@
; This file exists because this file is the default architecture include
; in OpenSim.ini.
; Look for the real configuration in bin/config which overlays settings.
@@ -0,0 +1,3 @@
; This file exists because this file is the default architecture include
; in OpenSim.ini.
; Look for the real configuration in bin/config which overlays settings.
@@ -0,0 +1,3 @@
; This file exists because this file is the default architecture include
; in OpenSim.ini.
; Look for the real configuration in bin/config which overlays settings.
@@ -0,0 +1,3 @@
; This file exists because this file is the default architecture include
; in OpenSim.ini.
; Look for the real configuration in bin/config which overlays settings.
+2 -2
View File
@@ -5,7 +5,7 @@
# The configuration files look for the file 'os-secrets.crypt' and, when
# found, runs 'ccrypt' using the password from the environment variable
# "CONFIGKEY". So, edit this file and do:
# ccrypt -e -E CONFIGKEY < os-secrets > os-secrets.crypt
# ccrypt -e -E "$CONFIGKEY" < os-secrets > os-secrets.crypt
# or (exposing the key in the bash history):
# ccrypt -e -K thekey < os-secrets > os-secrets.crypt
@@ -27,6 +27,6 @@ export PW_FOR_DEFAULT_ESTATE_OWNER=asoiouzkxcjkvhuqwu
# Flag used to know if secrest are set
export HAVE_SECRETS=true
# Did I mention that one should NEVER, NEVER, EVER checkin a version
# Did I mention that one should NEVER, NEVER, EVER check-in a version
# with the real passwords in it?
@@ -1,20 +0,0 @@
#! /bin/bash
# Script that mangles OpenSim configuration files with the necessary data.
# Someone has set the environment variables before running this.
OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin/}
CONFIG_NAME=${CONFIG_NAME:-standalone}
CONFIGDIR=${OPENSIMBIN}/config/${CONFIG_NAME}
sed --in-place \
-e "s/MYSQL_DB_USER/$MYSQL_DB_USER/" \
-e "s/MYSQL_DB_SOURCE/$MYSQL_DB_SOURCE/" \
-e "s/MYSQL_DB_DB/$MYSQL_DB_DB/" \
-e "s/MYSQL_DB_PASSWORD/$MYSQL_DB_PASSWORD/" \
-e "s/PW_FOR_DEFAULT_ESTATE_OWNER/$PW_FOR_DEFAULT_ESTATE_OWNER/" \
-e "s/DEFAULT_ESTATE_NAME/$DEFAULT_ESTATE_NAME/" \
-e "s/DEFAULT_ESTATE_OWNER/$DEFAULT_ESTATE_OWNER/" \
"${CONFIGDIR}/misc.ini"
@@ -18,6 +18,7 @@ if [[ ! -z "$CONFIGKEY" ]] ; then
for secretsFile in $OPENSIMCONFIG/$CONFIG_NAME/os-secrets.crypt $OPENSIMCONFIG/os-secrets.crypt ; do
if [[ -e "$secretsFile" ]] ; then
source <(ccrypt -c -E CONFIGKEY "$secretsFile")
HAVE_SECRETS=yes
break;
fi
done
@@ -4,17 +4,38 @@
# This is run before every OpenSimulator run to update changing parameters.
OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin}
CONFIGDIR=${CONFIGDIR:-$OPENSIMBIN/config}
# For this image, CONFIG_NAME is the configuration being used
CONFIG_NAME=${CONFIG_NAME:-standalone}
CONFIGDIR=${OPENSIMBIN}/config/${CONFIG_NAME}
cd "$CONFIGDIR"
source ./scripts/setEnvironment.sh
source ../setEnvironment.sh
# Update EXTERNAL_HOSTNAME
cd "$OPENSIMBIN"
for file in $OPENSIMBIN/Regions/*.ini $CONFIGDIR/$CONFIG_NAME/Regions/*.ini ; do
for file in $OPENSIMBIN/Regions/*.ini $CONFIGDIR/Regions/*.ini ; do
if [[ -e "$file" ]] ; then
sed --in-place -e "s/^ExternalHostName = .*$/ExternalHostName = \"${EXTERNAL_HOSTNAME}\"/" "$file"
fi
done
# Add EXTERNAL_HOSTNAME to the common configuation in OpenSim.ini
sed --in-place -e "s/^ *BaseHostname = .*$/ BaseHostname = ${EXTERNAL_HOSTNAME}/" "$OPENSIMBIN/OpenSim.ini"
# If the environment variables haven't been copied into misc.ini, do it now
# If the replacement has already happened, this is a NOOP
if [[ -e "${CONFIGDIR}/misc.ini.prototype" ]] ; then
cp "${CONFIGDIR}/misc.ini.prototype" "${CONFIGDIR}/misc.ini"
fi
sed --in-place \
-e "s/MYSQL_DB_USER/$MYSQL_DB_USER/" \
-e "s/MYSQL_DB_SOURCE/$MYSQL_DB_SOURCE/" \
-e "s/MYSQL_DB_DB/$MYSQL_DB_DB/" \
-e "s/MYSQL_DB_PASSWORD/$MYSQL_DB_PASSWORD/" \
-e "s/PW_FOR_DEFAULT_ESTATE_OWNER/$PW_FOR_DEFAULT_ESTATE_OWNER/" \
-e "s/DEFAULT_ESTATE_NAME/$DEFAULT_ESTATE_NAME/" \
-e "s/DEFAULT_ESTATE_OWNER/$DEFAULT_ESTATE_OWNER/" \
"${CONFIGDIR}/misc.ini"
+10 -3
View File
@@ -1,5 +1,10 @@
#! /bin/bash
# Script run when the container starts and before OpenSimulator is started
#
# The operations done here are:
# -- if first time called, setup DB and initialize variables in configuration files
# -- move sub-config specific Includes.ini into the config directory
# -- update all the configuration files with environment variables
OPENSIMBIN=${OPENSIMBIN:-/home/opensim/opensim/bin}
CONFIGDIR=${CONFIGDIR:-$OPENSIMBIN/config}
@@ -10,23 +15,25 @@ cd "$CONFIGDIR"
# This sets CONFIG_NAME which is the configuration subdirectory (like standalone)
source ./scripts/setEnvironment.sh
# If this is the first time run, do database setup and some one-time configuration updates
if [[ ! -e "$FIRSTTIMEFLAG" ]] ; then
cd "$CONFIGDIR"
# Do any database account and db creation
./scripts/initializeDb.sh
# Add environment variables to configuration files
./scripts/initializeConfig.sh
# Remember we've done this
touch "$FIRSTTIMEFLAG"
fi
# Move the configuration include file into place
# This makes opensim/bin/config directory contain this INI file for this image/config
# Since all the regular configuration has been nulled out, this will be the only config
# after bin/OpenSimDefaults.ini and bin/OpenSim.ini
cd "$CONFIGDIR"
if [[ -e "${CONFIG_NAME}/Includes.ini" ]] ; then
cp "${CONFIG_NAME}/Includes.ini" .
fi
# Do any update to configuration files that happens each start
# This updates bin/OpenSim.ini and Regions/*.ini with needed values
cd "$CONFIGDIR"
./scripts/updateConfigFiles.sh
@@ -1,10 +1,17 @@
; This file is moved into the bin/config directory where it includes
; all the configuration from these directories.
; This file is read after OpenSimDefault.ini and OpenSim.ini
; Note that config-include/Standalone.ini and the other configuration
; files are nulled out so this becomes the only inclusion of
; configuration files after OpenSim.ini.
[Startup]
; Region definitions are in this directory (rather than 'bin/Regions')
regionload_regionsdir = "config/standalone/Regions"
[Architecture]
Include-osslDefaultEnable = "config/standalone/config-include/osslDefaultEnable.ini"
; 'osslDefaultEnable.ini' includes the now empty 'bin/config-include/osslEnable.ini.ini'.
; The next line includes the 'osslEnable.ini' from this configuration.
Include-osslEnable = "config/standalone/config-include/osslEnable.ini"
Include-Architecture = "config/standalone/config-include/Standalone.ini"
; 'Standalone.ini' is usually a copy of the default 'Standalone.ini.example' which
@@ -0,0 +1,63 @@
;;
;; Please don't change this file.
;; All optional settings are in GridCommon.ini.example,
;; which you can copy and change.
;;
[Includes]
Include-Common = "config-include/GridCommon.ini"
[Modules]
AssetServices = "RegionAssetConnector"
InventoryServices = "RemoteXInventoryServicesConnector"
GridServices = "RegionGridServicesConnector"
AvatarServices = "RemoteAvatarServicesConnector"
NeighbourServices = "NeighbourServicesOutConnector"
AuthenticationServices = "RemoteAuthenticationServicesConnector"
AuthorizationServices = "LocalAuthorizationServicesConnector"
PresenceServices = "RemotePresenceServicesConnector"
UserAccountServices = "RemoteUserAccountServicesConnector"
AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
GridUserServices = "RemoteGridUserServicesConnector"
SimulationServices = "RemoteSimulationConnectorModule"
EntityTransferModule = "BasicEntityTransferModule"
InventoryAccessModule = "BasicInventoryAccessModule"
LandServices = "RemoteLandServicesConnector"
MapImageService = "MapImageServiceModule"
SearchModule = "BasicSearchModule"
MuteListService = "RemoteMuteListServicesConnector"
LandServiceInConnector = true
NeighbourServiceInConnector = true
SimulationServiceInConnector = true
LibraryModule = true
[SimulationDataStore]
LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
[EstateDataStore]
LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
[AssetService]
LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
[GridService]
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
; for the LocalGridServicesConnector which is used by the Remote one
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress
; the inappropriate console commands that it registers.
SuppressConsoleCommands = true
[LibraryService]
LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
LibraryName = "OpenSim Library"
DefaultLibrary = "./inventory/Libraries.xml"
[Friends]
Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
[MapImageService]
LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
@@ -0,0 +1,233 @@
; This is the main configuration file for an instance of OpenSim running in grid mode
[DatabaseService]
;
; ### Choose the DB
;
; SQLite
Include-Storage = "config-include/storage/SQLiteStandalone.ini";
; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
; Remove SslMode=None if you need secure connection to the local mysql
; In most cases ssl is just a pure waste of resources, specially when mySql is on same machine, and closed to outside
;StorageProvider = "OpenSim.Data.MySQL.dll"
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;"
; Uncomment this line if you are using MySQL and want to use a different database for estates
; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
; Most people won't need to do this so only uncomment if you know what you're doing.
;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;"
; MSSQL
; Uncomment these lines if you want to use MSSQL storage
; Change the connection string to your db details
; The value for server property is shown in your SQL Server Management Studio login dialog.
; (This sample is the default of express edition)
;StorageProvider = "OpenSim.Data.MSSQL.dll"
;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
; PGSQL
; Uncomment these lines if you want to use PGSQL storage
; Change the connection string to your db details
;StorageProvider = "OpenSim.Data.PGSQL.dll"
;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
[Hypergrid]
; Uncomment the variable GatekeeperURI in this section to enable
; Hypergrid configuration. Otherwise, ignore.
;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
;; If this is a standalone world, this is the address of this instance.
;; If this is a grided simulator, this is the address of the external robust server
;; that runs the Gatekeeper service.
;; For example http://myworld.com:9000 or http://myworld.com:8002
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the gatekeeper of this world and port} {}
;; comma separated list,
;; in case there was for example a dns change, etc
; GatekeeperURIAlias = myoldname.something.org
;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
;; If this is a standalone world, this is the address of this instance.
;; If this is a grided simulator, this is the address of the external robust server that
;; runs the UserAgentsService.
;; For example http://myworld.com:9000 or http://myworld.com:8002
HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {HomeURIAlias} {Hypergrid} {Old http schema (default http://), hostnames (FQDN), or IPs of the gatekeeper of this world and port (default 80 or 443)} {}
;; comma separated list,
;; in case there was for example a dns change, etc but it is still same grid
; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043
[Modules]
;; Asset cache module.
;; Warning this is required for several region features
AssetCaching = "FlotsamAssetCache"
Include-FlotsamCache = "config-include/FlotsamCache.ini"
;; Optionally, the port for the LLProxyLoginModule module can be changed
;Setup_LLProxyLoginModule = "9090/"
;; Authorization is not on by default, as it depends on external php
;AuthorizationServices = "RemoteAuthorizationServicesConnector"
[AssetService]
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
AssetLoaderArgs = "assets/AssetSets.xml"
;
; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses.
;
AssetServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[InventoryService]
;
; Change this to your grid-wide inventory server
;
InventoryServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
;MaxRetries = 0
[GridInfo]
;
; Change this to your grid info service
;
GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}"
[GridService]
;
; Change this to your grid-wide grid server
;
GridServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
;AllowHypergridMapSearch = true
;; Directory for map tile images of linked regions
; MapTileDirectory = "./maptiles"
; === HG ONLY ===
;; Change this to the address of your Gatekeeper service
;; (usually bundled with the rest of the services in one
;; Robust server in port ${Const|PublicPort}, but not always)
Gatekeeper="${Const|BaseURL}:${Const|PublicPort}"
[EstateDataStore]
;
; Uncomment if you want centralized estate data at robust server,
; in which case the URL in [EstateService] will be used
;
;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
[EstateService]
EstateServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[Messaging]
; === HG ONLY ===
;; Change this to the address of your Gatekeeper service
;; (usually bundled with the rest of the services in one
;; Robust server in port ${Const|PublicPort}, but not always)
Gatekeeper = "${Const|BaseURL}:${Const|PublicPort}"
[AvatarService]
;
; Change this to your grid-wide grid server
;
AvatarServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[AgentPreferencesService]
;
; Change this to your grid-wide avatar prefs server
;
AgentPreferencesServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[PresenceService]
;
; Change this to your grid-wide presence server
;
PresenceServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[UserAccountService]
;
; Change this to your grid-wide user accounts server
;
UserAccountServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[GridUserService]
;
; Change this to your grid-wide user server
;
GridUserServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[AuthenticationService]
;
; Change this to your grid-wide authentication server
;
AuthenticationServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[FriendsService]
;
; Change this to your grid-wide friends server
;
FriendsServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[HGInventoryAccessModule]
;
; === HG ONLY ===
; Change this to your server
; accessible from other grids
;
;; If you want to protect your assets from being copied by foreign visitors
;; set this to false. You may want to do this on sims that have licensed content.
;; Default is true.
; OutboundPermission = True
;; Send visual reminder to local users that their inventories are unavailable while they are traveling
;; and available when they return. True by default.
;RestrictInventoryAccessAbroad = True
;; Warning: advanced and unusual. Default is false.
;; Enables configurations where grids share user services, including inventory,
;; while separating regions' assets from users' assets. Asset transfer between
;; the users' asset server and the regions' asset server is done in HG-like manner.
; CheckSeparateAssets = false
; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort}
[HGAssetService]
;
; === HG ONLY ===
;; The asset types that this grid can export to / import from other grids.
;; Comma separated.
;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
;;
;; Leave blank or commented if you don't want to apply any restrictions.
;; A more strict, but still reasonable, policy may be to disallow the exchange
;; of scripts, like so:
; DisallowExport ="LSLText"
; DisallowImport ="LSLBytecode"
[HGFriendsModule]
; User level required to be able to send friendship invitations to foreign users
;LevelHGFriends = 0;
[MapImageService]
MapImageServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
[AuthorizationService]
; If you have regions with access restrictions
; specify them here using the convention
; Region_<Region_Name> = <flags>
; Valid flags are:
; DisallowForeigners -- HG visitors not allowed
; DisallowResidents -- only Admins and Managers allowed
; Example:
; Region_Test_1 = "DisallowForeigners"
[MuteListService]
MuteListServerURI = "${Const|PrivURL}:${Const|PrivatePort}"
@@ -0,0 +1,88 @@
;;
;; Please don't change this file.
;; All optional settings are in GridCommon.ini.example,
;; which you can copy and change.
;;
[Includes]
Include-Common = "config-include/GridCommon.ini"
[Startup]
WorldMapModule = "HGWorldMap"
[Modules]
AssetServices = "RegionAssetConnector"
InventoryServices = "HGInventoryBroker"
GridServices = "RegionGridServicesConnector"
AvatarServices = "RemoteAvatarServicesConnector"
NeighbourServices = "NeighbourServicesOutConnector"
AuthenticationServices = "RemoteAuthenticationServicesConnector"
AuthorizationServices = "LocalAuthorizationServicesConnector"
PresenceServices = "RemotePresenceServicesConnector"
UserAccountServices = "RemoteUserAccountServicesConnector"
AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
GridUserServices = "RemoteGridUserServicesConnector"
SimulationServices = "RemoteSimulationConnectorModule"
EntityTransferModule = "HGEntityTransferModule"
InventoryAccessModule = "HGInventoryAccessModule"
LandServices = "RemoteLandServicesConnector"
FriendsModule = "HGFriendsModule"
MapImageService = "MapImageServiceModule"
UserManagementModule = "HGUserManagementModule"
SearchModule = "BasicSearchModule"
MuteListService = "RemoteMuteListServicesConnector"
LandServiceInConnector = true
NeighbourServiceInConnector = true
SimulationServiceInConnector = true
LibraryModule = true
Setup_EntityTransferModule = disabled
Setup_WorldMapModule = disabled
[SimulationDataStore]
LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
[EstateDataStore]
LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
[AssetService]
LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
[InventoryService]
LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector"
[GridService]
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
; Needed to display non-default map tile images for linked regions
AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
HypergridLinker = true
AllowHypergridMapSearch = true
SuppressConsoleCommands = true
[LibraryService]
LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
LibraryName = "OpenSim Library"
DefaultLibrary = "./inventory/Libraries.xml"
[Friends]
Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
[Messaging]
MessageTransferModule = HGMessageTransferModule
LureModule = HGLureModule
[HGInstantMessageService]
LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector"
PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector"
UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector"
[MapImageService]
LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
@@ -5,12 +5,12 @@
;;
[Modules]
AssetServices = "LocalAssetServicesConnector"
AssetServices = "RegionAssetConnector"
InventoryServices = "LocalInventoryServicesConnector"
NeighbourServices = "NeighbourServicesOutConnector"
AuthenticationServices = "LocalAuthenticationServicesConnector"
AuthorizationServices = "LocalAuthorizationServicesConnector"
GridServices = "LocalGridServicesConnector"
GridServices = "RegionGridServicesConnector"
PresenceServices = "LocalPresenceServicesConnector"
UserProfilesServices = "LocalUserProfilesServicesConnector"
UserAccountServices = "LocalUserAccountServicesConnector"
@@ -37,6 +37,8 @@
[AssetService]
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
; For RegionAssetConnector
LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService"
[InventoryService]
LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
@@ -10,14 +10,16 @@
; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
; Change the connection string to your db detail
; Remove SslMode=None if you need secure connection to the local mysql
; In most cases ssl is just a pure waste of resources, specially when mySql is on same machine, and closed to outside
;StorageProvider = "OpenSim.Data.MySQL.dll"
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;"
; Uncomment this line if you are using MySQL and want to use a different database for estates.
; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
; Most people won't need to do this so only uncomment if you know what you're doing.
;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;SslMode=None;"
; MSSQL
; Uncomment these lines if you want to use MSSQL storage
@@ -34,17 +36,9 @@
;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
[Hypergrid]
; Uncomment the variables in this section only if you are in
; Uncomment the variable GatekeeperURI to enable
; Hypergrid configuration. Otherwise, ignore.
;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
;; If this is a standalone world, this is the address of this instance.
;; If this is a grided simulator, this is the address of the external robust server that
;; runs the UserAgentsService.
;; For example http://myworld.com:9000 or http://myworld.com:8002
;; This is a default that can be overwritten in some sections.
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
;; If this is a standalone world, this is the address of this instance.
;; If this is a grided simulator, this is the address of the external robust server
@@ -53,17 +47,32 @@
;; This is a default that can be overwritten in some sections.
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {GatekeeperURIAlias} {Hypergrid} {alternative hostnames (FQDN) or IPs of the gatekeeper of this world and port (default 80 or 443 if entry starts with https://)} {}
;; comma separated list,
;; this is to allow this world to identify this entries also as references to itself
;; entries can be unsecure url (host:port) if using ssl, direct login url if diferent, old grid url, etc
; GatekeeperURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043
;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
;; If this is a standalone world, this is the address of this instance.
;; If this is a grided simulator, this is the address of the external robust server that
;; runs the UserAgentsService.
;; For example http://myworld.com:9000 or http://myworld.com:8002
;; This is a default that can be overwritten in some sections.
HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;# {HomeURIAlias} {Hypergrid} {alternative hostnames (FQDN), or IPs of the home service of this world and port (default 80 or 443)} {}
;; comma separated list,
;; see GatekeeperURIAlias
; HomeURIAlias = myoldname.something.org, 127.0.0.1,127.0.0.1:8043
[Modules]
;; Choose one cache module and the corresponding config file, if it exists.
;; Copy the config .example file into your own .ini file and alter that
;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
;; Asset cache module.
;; Warning this is required for several region features
AssetCaching = "FlotsamAssetCache"
Include-FlotsamCache = "config-include/FlotsamCache.ini"
;AssetCaching = "CenomeMemoryAssetCache"
;Include-CenomeCache = "config-include/CenomeCache.ini"
;; Authorization is not on by default, as it depends on external php
;AuthorizationServices = "LocalAuthorizationServicesConnector"
@@ -100,15 +109,12 @@
;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
;;
;; For example:
Region_Welcome_Area = "DefaultRegion, FallbackRegion"
Region_Welcome_Area = "DefaultRegion, DefaultHGRegion"
;; Allow supporting viewers to export content
;; Set to false to prevent export
ExportSupported = true
; === HG ONLY ===
;; If you have this set under [Hypergrid], no need to set it here, leave it commented
; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}"
[LibraryModule]
; Set this if you want to change the name of the OpenSim Library
@@ -116,10 +122,8 @@
[LoginService]
WelcomeMessage = "Welcome, Avatar!"
;; If you have Gatekeeper set under [Hypergrid], no need to set it here, leave it commented
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
SRV_HomeURI = "${Hypergrid|HomeURI}"
SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}"
SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}"
SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}"
@@ -146,23 +150,30 @@
;; Set minimum fee to publish classified
; ClassifiedFee = 0
;; If the region requested at login is not found and there are no default or fallback regions
;; online or defined in section [GridService], try to send user to any region online
;; this similar to legacy (was disabled on 0.9.2.0)
;; you should set this to false and define regions with Default and possible Fallback flags
;; With this option set to true, users maybe sent to regions they where not supposed to be, or even know about
;AllowLoginFallbackToAnyRegion = true
; Basic Login Service Dos Protection Tweaks
; ;
; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
; ; get around this basic DOS protection.
;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
;; get around this basic DOS protection.
; DOSAllowXForwardedForHeader = false
; ;
; ; The protector adds up requests during this rolling period of time, default 10 seconds
;; The protector adds up requests during this rolling period of time, default 10 seconds
; DOSRequestTimeFrameMS = 10000
; ;
; ; The amount of requests in the above timeframe from the same endpoint that triggers protection
;;
;; The amount of requests in the above timeframe from the same endpoint that triggers protection
; DOSMaxRequestsInTimeFrame = 5
; ;
; ; The amount of time that a specific endpoint is blocked. Default 2 minutes.
;;
;; The amount of time that a specific endpoint is blocked. Default 2 minutes.
; DOSForgiveClientAfterMS = 120000
; ;
; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
[FreeswitchService]
;; If FreeSWITCH is not being used then you don't need to set any of these parameters
@@ -248,6 +259,11 @@
; this is the entry point for all user-related HG services
; uas = ${Const|BaseURL}:${Const|PublicPort}/
;; a http page for grid status
;GridStatus = ${Const|BaseURL}:${Const|PublicPort}/GridStatus
;; a RSS page for grid status
;GridStatusRSS = ${Const|BaseURL}:${Const|PublicPort}/GridStatusRSS
[MapImageService]
; Set this if you want to change the default
; TilesStoragePath = "maptiles"
@@ -328,14 +344,8 @@
;; to block this info from being exposed.
; ShowUserDetailsInHGProfile = True
[HGInventoryService]
;; If you have this set under [Hypergrid], no need to set it here, leave it commented
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
[HGAssetService]
;; If you have this set under [Hypergrid], no need to set it here, leave it commented
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
;; The asset types that this grid can export to / import from other grids.
;; Comma separated.
;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
@@ -349,10 +359,6 @@
; DisallowImport ="LSLBytecode"
[HGInventoryAccessModule]
;; If you have these set under [Hypergrid], no need to set it here, leave it commented
; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
;; If you want to protect your assets from being copied by foreign visitors
;; uncomment the next line. You may want to do this on sims that have licensed content.
;; true = allow exports, false = disallow exports. True by default.
@@ -367,9 +373,7 @@
;LevelHGFriends = 0;
[Messaging]
; === HG ONLY ===
;; If you have this set under [Hypergrid], no need to set it here, leave it commented
; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
[EntityTransfer]
;; User level from which local users are allowed to HG teleport. Default 0 (all users)
@@ -8,12 +8,12 @@
WorldMapModule = "HGWorldMap"
[Modules]
AssetServices = "HGAssetBroker"
AssetServices = "RegionAssetConnector"
InventoryServices = "HGInventoryBroker"
NeighbourServices = "NeighbourServicesOutConnector"
AuthenticationServices = "LocalAuthenticationServicesConnector"
AuthorizationServices = "LocalAuthorizationServicesConnector"
GridServices = "LocalGridServicesConnector"
GridServices = "RegionGridServicesConnector"
PresenceServices = "LocalPresenceServicesConnector"
UserAccountServices = "LocalUserAccountServicesConnector"
AgentPreferencesServices= "LocalAgentPreferencesServicesConnector"
@@ -53,7 +53,7 @@
[AssetService]
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
; For HGAssetBroker
; For RegionAssetConnector
LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService"
HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
@@ -73,7 +73,6 @@
LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
[GridService]
; LocalGridServicesConnector needs this
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
Realm = "regions"
StorageProvider = "OpenSim.Data.Null.dll"
@@ -0,0 +1,235 @@
; Enable OSSL functions.
; Including this file in a region's set of INI files, causes the OpenSimulator
; specific functions to be enabled.
; See http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions
; do not edit this file.
; copy the line you want to change and paste it on osslEnable.ini, then change there
[OSSL]
; Allow the use of os* functions (some are always available)
AllowOSFunctions = true
; Allow the user of mod* functions. This allows a script to pass messages
; to a region module via the modSendCommand() function and is used by some
; modules to extend the scripting language.
AllowMODFunctions = true
; Allow the use of LightShare functions.
; The setting enable_windlight = true must also be enabled in the [LightShare] section.
AllowLightShareFunctions = true
; Send function permission error to owner if true, to all if false
PermissionErrorToOwner = false
; Function Threat level
; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe.
; See http://opensimulator.org/wiki/Threat_level for more information on these levels.
; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher
; than 'Low' unless you have a high level of trust in all the users that can run scripts
; in your simulator. It is safer to explicitly allow certain types of user to run
; higher threat level OSSL functions, as detailed later on.
; This setting defines the highest level allowed to execute
OSFunctionThreatLevel = VeryLow
; The threat level can be replaced by more detailed rules by lines of the form
; Allow_FunctionName = parameters
; To use the default threat level coment the respective line
; parameters can be:
; 'false' disables the function.
; 'true' enables for everyone
; or to enable for individuals or groups, set it to a comma separated list. This checks
; against the owner of the object containing the script.
; The comma separated entries in the list may be one of:
; "GRID_GOD" -- enable for users with UserLevel >= 200
; "GOD" -- enable for users with rights to be god (local or grid)
; "ACTIVE_GOD" -- enable for users that are present and with active god power
; "ESTATE_MANAGER" -- enable for estate manager
; "ESTATE_OWNER" -- enable for estate owner
; "PARCEL_OWNER" -- enable for parcel owner
; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group
; uuid -- enable for specified ID (may be avatar or group ID)
; from this we can also create macros that can be include in the list as
; ${OSSL|macroname} see examples below
; parcel macros
; Allowing ossl functions for anyone owning a parcel can be dangerous especially if
; a region is selling or otherwise giving away parcel ownership. By default, parcel
; ownership or group membership does not enable OSSL functions. Uncomment the
; appropriate line below to allow parcel ownership and groups to do restricted
; OSSL functions. It might be better to check the list below and edit the ones
; to enable individually.
osslParcelO = ""
osslParcelOG = ""
; osslParcelO = "PARCEL_OWNER,"
; osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,"
; NPC macros
; These can be mis-used so limit use to those you can trust.
osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; The threat level also can be replaced by lines of the form
; Creators__FunctionName = comma separated list of UUIDs
; this will enable the function for users that are the script creators and owners of the prim
; *************************************************
; ThreatLevel None
Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
;Allow_osGetGender = true
;Allow_osGetHealth = true
;Allow_osGetHealRate = true
Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
;Allow_osGetRezzingObject = true
;Allow_osGetSunParam = true
Allow_osNpcGetOwner = ${OSSL|osslNPC}
Allow_osSetSunParam = ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
;Allow_osWindActiveModelPluginName = true
; ThreatLevel Nuisance
Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel VeryLow
Allow_osEjectFromGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetWindParam = true
Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osReplaceString = true
Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelMusicURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetPrimFloatOnWater = true
Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER
Allow_osUnixTimeToTimestamp = true
; ThreatLevel Low
Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osFormatString = true
Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osListenRegex = true
Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegexIsMatch = true
Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSetProfileAbout = ${OSSL|osslNPC}
Allow_osNpcSetProfileImage = ${OSSL|osslNPC}
Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Moderate
Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridName = true
Allow_osGetGridNick = true
Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osReplaceAgentEnvironment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRequestURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRequestSecureURL = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel High
Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetPhysicsEngineType = true
Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetScriptEngineName = true
Allow_osGetSimulatorVersion = true
Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMatchString = true
Allow_osNpcCreate = ${OSSL|osslNPC}
Allow_osNpcGetPos = ${OSSL|osslNPC}
Allow_osNpcGetRot = ${OSSL|osslNPC}
Allow_osNpcLoadAppearance = ${OSSL|osslNPC}
Allow_osNpcMoveTo = ${OSSL|osslNPC}
Allow_osNpcMoveToTarget = ${OSSL|osslNPC}
Allow_osNpcPlayAnimation = ${OSSL|osslNPC}
Allow_osNpcRemove = ${OSSL|osslNPC}
Allow_osNpcSaveAppearance = ${OSSL|osslNPC}
Allow_osNpcSay = ${OSSL|osslNPC}
Allow_osNpcSayTo = ${OSSL|osslNPC}
Allow_osNpcSetRot = ${OSSL|osslNPC}
Allow_osNpcShout = ${OSSL|osslNPC}
Allow_osNpcSit = ${OSSL|osslNPC}
Allow_osNpcStand = ${OSSL|osslNPC}
Allow_osNpcStopAnimation = ${OSSL|osslNPC}
Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC}
Allow_osNpcTouch = ${OSSL|osslNPC}
Allow_osNpcWhisper = ${OSSL|osslNPC}
Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel VeryHigh
Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER
; Warning: The next function allows scripts to force animations on avatars without the user giving permission.
; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations.
; Similar things can be said for several of the 'force' functions. Enable with care and control.
; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions.
Allow_osAvatarPlayAnimation = false
Allow_osAvatarStopAnimation = false
Allow_osForceAttachToOtherAvatarFromInventory = false
Allow_osForceDetachFromAvatar = false
Allow_osForceOtherSit = false
; The notecard functions can cause a lot of load on the region if over used
Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURL = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlend = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlendFace = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRot = false
Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Severe
Allow_osConsoleCommand = false
Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Severe with additional internal restrictions
Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)
Allow_osSetContentType = false
; Always available
; see http://opensimulator.org/wiki/Category:OSSL_Functions
;; do no remove this line
Include-osslEnable = "config-include/osslEnable.ini"
@@ -1,40 +1,44 @@
; Enable OSSL functions.
; Including this file in a region's set of INI files, causes the OpenSimulator
; specific functions to be enabled.
; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and
; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions.
; The below file lists all the functions and specifies who has permission to
; execute the function. Some of the functions are for maintainance or can be
; mis-used so the permission to execute a function can be limited. Ability to
; execute a function is based on the owner of the prim holding the script.
; local region changes for Enable OSSL functions.
; copy this file to osslEnable.ini, unless you already have one with local changes that are still valid for current opensim version.
; this file is included from osslDefaultEnable.ini file where defaults are defined, and allows to override them
; to not edit that file, copy the line you want to change to this file, then edit here
; see osslDefaultEnable.ini and
; http://opensimulator.org/wiki/Category:OSSL_Functions for a description of OSSL functions
; do not delete this line;
[OSSL]
; Allow the use of os* functions (some are dangerous)
AllowOSFunctions = true
; Allow the use of os* functions (some are always available)
;AllowOSFunctions = true
; Allow the user of mod* functions. This allows a script to pass messages
; to a region module via the modSendCommand() function and is used by some
; modules to extend the scripting language.
AllowMODFunctions = true
;AllowMODFunctions = true
; Allow the use of LightShare functions.
; The setting enable_windlight = true must also be enabled in the [LightShare] section.
AllowLightShareFunctions = true
;AllowLightShareFunctions = true
; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe.
; Send function permission error to owner if true, to all if false
;PermissionErrorToOwner = false
; Function Threat level
; Several functions have a predefined threat level, one of: None, VeryLow, Low, Moderate, High, VeryHigh, Severe.
; See http://opensimulator.org/wiki/Threat_level for more information on these levels.
; This is the default level and can be overridden with the Allow_ specifications.
; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher
; than 'Low' unless you have a high level of trust in all the users that can run scripts
; in your simulator. It is safer to explicitly allow certain types of user to run
; higher threat level OSSL functions, as detailed later on.
; This setting defines the highest level allowed to execute
OSFunctionThreatLevel = VeryLow
; Some of the OSSL functions can be enabled or disabled individually.
; To disable, set the value to 'false'.
; To enable for everyone, set the value to 'true'.
; To enable for individuals or groups, set it to a comma separated list. This checks
; The threat level can be replaced by more detailed rules by lines of the form
; Allow_FunctionName = parameters
; To use the default threat level coment the respective line
; parameters can be:
; 'false' disables the function.
; 'true' enables for everyone
; or to enable for individuals or groups, set it to a comma separated list. This checks
; against the owner of the object containing the script.
; The comma separated entries in the list may be one of:
; "GRID_GOD" -- enable for users with UserLevel >= 200
@@ -63,229 +67,16 @@
; NPC macros
; These can be mis-used so limit use to those you can trust.
osslNPC = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; The OSSL function name is prepended with "Allow_" and it checks against
; the owners of the containing prim. There can also be entries beginning with
; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is
; checked against the creator of the script itself.
; example
; Allow_osNpcCreate = ${OSSL|osslNPC}
; The threat level also can be replaced by lines of the form
; Creators__FunctionName = comma separated list of UUIDs
; this will enable the function for users that are the script creators and owners of the prim
; *************************************************
; ThreatLevel None
Allow_osGetAgents = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAvatarList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGender = true
Allow_osGetHealth = true
Allow_osGetHealRate = true
Allow_osGetNPCList = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetRezzingObject = true
Allow_osNpcGetOwner = ${OSSL|osslNPC}
Allow_osSetSunParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportOwner = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osWindActiveModelPluginName = true
; ThreatLevel Nuisance
Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel VeryLow
Allow_osEjectFromGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceBreakAllLinks = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceBreakLink = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetWindParam = true
Allow_osInviteToGroup = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osReplaceString = true
Allow_osSetDynamicTextureData = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureDataBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlend = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetDynamicTextureURLBlendFace = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelMediaURL = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetParcelSIPAddress = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetPrimFloatOnWater = true
Allow_osSetWindParam = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER
Allow_osUnixTimeToTimestamp = true
; ThreatLevel Low
Allow_osAvatarName2Key = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osFormatString = true
Allow_osKey2Name = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osListenRegex = true
Allow_osLoadedCreationDate = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationID = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osLoadedCreationTime = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMessageObject = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegexIsMatch = true
Allow_osGetAvatarHomeURI = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osNpcSetProfileAbout = ${OSSL|osslNPC}
Allow_osNpcSetProfileImage = ${OSSL|osslNPC}
Allow_osDie = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Moderate
Allow_osDetectedCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetAgentCountry = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridCustom = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridGatekeeperURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridHomeURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridLoginURI = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetGridName = true
Allow_osGetGridNick = true
Allow_osGetNumberOfAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetRegionStats = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetSimulatorMemory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetSimulatorMemoryKB = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMessageAttachments = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetOwnerSpeed = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel High
Allow_osCauseDamage = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osCauseHealing = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealth = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetHealRate = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceAttachToAvatarFromInventory = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceCreateLink = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachment = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osForceDropAttachmentAt = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetLinkPrimitiveParams = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetPhysicsEngineType = true
Allow_osGetRegionMapTexture = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetScriptEngineName = true
Allow_osGetSimulatorVersion = true
Allow_osMakeNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osMatchString = true
Allow_osNpcCreate = ${OSSL|osslNPC}
Allow_osNpcGetPos = ${OSSL|osslNPC}
Allow_osNpcGetRot = ${OSSL|osslNPC}
Allow_osNpcLoadAppearance = ${OSSL|osslNPC}
Allow_osNpcMoveTo = ${OSSL|osslNPC}
Allow_osNpcMoveToTarget = ${OSSL|osslNPC}
Allow_osNpcPlayAnimation = ${OSSL|osslNPC}
Allow_osNpcRemove = ${OSSL|osslNPC}
Allow_osNpcSaveAppearance = ${OSSL|osslNPC}
Allow_osNpcSay = ${OSSL|osslNPC}
Allow_osNpcSayTo = ${OSSL|osslNPC}
Allow_osNpcSetRot = ${OSSL|osslNPC}
Allow_osNpcShout = ${OSSL|osslNPC}
Allow_osNpcSit = ${OSSL|osslNPC}
Allow_osNpcStand = ${OSSL|osslNPC}
Allow_osNpcStopAnimation = ${OSSL|osslNPC}
Allow_osNpcStopMoveToTarget = ${OSSL|osslNPC}
Allow_osNpcTouch = ${OSSL|osslNPC}
Allow_osNpcWhisper = ${OSSL|osslNPC}
Allow_osOwnerSaveAppearance = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER
Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER
Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetProjectionParams = ${OSSL|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetStateEvents = false ; deprecated
Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel VeryHigh
Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER
; Warning: The next function allows scripts to force animations on avatars without the user giving permission.
; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations.
; Similar things can be said for several of the 'force' functions. Enable with care and control.
; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions.
Allow_osAvatarPlayAnimation = false
Allow_osAvatarStopAnimation = false
Allow_osForceAttachToOtherAvatarFromInventory = false
Allow_osForceDetachFromAvatar = false
Allow_osForceOtherSit = false
; The notecard functions can cause a lot of load on the region if over used
Allow_osGetNotecard = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNotecardLine = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osGetNumberOfNotecardLines = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osSetRot = false
Allow_osSetParcelDetails = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Severe
Allow_osConsoleCommand = false
Allow_osGrantScriptPermissions = false
Allow_osKickAvatar = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osRevokeScriptPermissions = false
Allow_osTeleportAgent = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
Allow_osTeleportObject = ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
; ThreatLevel Severe with additional internal restrictions
Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)
Allow_osSetContentType = false
; add lines with our region local changes, below this to replace the default on osslDefaultEnable.ini or code.
; available functions out of Threat level control (for reference only)
; Allow_osAdjustSoundVolume = true
; Allow_osAngleBetween = true
; Allow_osApproxEquals = true
; Allow_osCheckODE = true
; Allow_osClearInertia = true
; Allow_osCollisionSound = true
; Allow_osDrawEllipse = true
; Allow_osDrawFilledEllipse = true
; Allow_osDrawFilledPolygon = true
; Allow_osDrawFilledRectangle = true
; Allow_osDrawImage = true
; Allow_osDrawLine = true
; Allow_osDrawPolygon = true
; Allow_osDrawRectangle = true
; Allow_osDrawResetTransform = true
; Allow_osDrawRotationTransform = true
; Allow_osDrawScaleTransform = true
; Allow_osDrawText = true
; Allow_osDrawTranslationTransform = true
; Allow_osGetCurrentSunHour = true
; Allow_osGetInertiaData = true
; Allow_osGetInventoryDesc = true
; Allow_osGetLinkNumber = true
; Allow_osGetMapTexture = true
; Allow_osGetPhysicsEngineName = true
; Allow_osGetPrimitiveParams = true
; Allow_osGetRegionSize = true
; Allow_osGetSunParam = true
; Allow_osGetTerrainHeight = true
; Allow_osGetDrawStringSize = true
; Allow_osIsNpc = true
; Allow_osIsUUID = true
; Allow_osLoopSound = true
; Allow_osLoopSoundMaster = true
; Allow_osLoopSoundSlave = true
; Allow_osMax = true
; Allow_osMin = true
; Allow_osMovePen = true
; Allow_osPlaySound = true
; Allow_osPlaySoundSlave = true
; Allow_osPreloadSound = true
; Allow_osRound = true
; Allow_osSetFontName = true
; Allow_osSetFontSize = true
; Allow_osSetInertia = true
; Allow_osSetInertiaAsBox = true
; Allow_osSetInertiaAsSphere = true
; Allow_osSetInertiaAsCylinder = true
; Allow_osSetPenCap = true
; Allow_osSetPenColor = true
; Allow_osSetPenSize = true
; Allow_osSetPrimitiveParams = true
; Allow_osSetSoundRadius = true
; Allow_osStopSound = true
; Allow_osStringSubString = true
; Allow_osStringStartsWith = true
; Allow_osStringEndsWith = true
; Allow_osStringIndexOf = true
; Allow_osStringLastIndexOf = true
; Allow_osStringRemove = true
; Allow_osStringReplace = true
; Allow_osTriggerSound = true
; Allow_osTriggerSoundLimited = true
; Allow_osVecDistSquare = true
; Allow_osVecMagSquare = true
; Allow_osVolumeDetect = true
+4 -15
View File
@@ -3,7 +3,7 @@
[Startup]
MaxPoolThreads = 45
PhysicalPrimMax = 256
physics = BulletSim
; physics = BulletSim
; physics = ubODE
; physics = OpenDynamicsEngine
; CombineContiguousRegions = true
@@ -18,10 +18,12 @@
; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
; NOTE That password comes from environment variables set from os-secrets
; StorageProvider = "OpenSim.Data.MySQL.dll"
; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=OPENSIM_DB_PASSWORD;Old Guids=true;"
[Estates]
; NOTE That names and passwords come from environment variables set from os-secrets
DefaultEstateName = DEFAULT_ESTATE_NAME
DefaultEstateOwnerName = DEFAULT_ESTATE_OWNER
; ** Standalone Estate Settings **
@@ -34,22 +36,9 @@
[Terrain]
SendTerrainUpdatesByViewDistance = true
[BulletSim]
; BulletEngine = BulletXNA
; VehicleLoggingEnabled = True
; VehicleDebuggingEnable = true
; VehiclePhysicalLoggingEnabled = True
; UseSeparatePhysicsThread = true ; orig = false
; PhysicsLoggingEnabled = True
; PhysicsLoggingDoFlush = True
; PhysicsLoggingDir = "../logs"
; PhysicsPhysicalDumpEnabled = True
; PhysicsUnmanLoggingFrames = 100
[ExtendedPhysics]
Enabled = true
[XEngine]
; If one uses XEngine, use a larger thread stack
ThreadStackSize = 500000
+1 -1
View File
@@ -1,5 +1,5 @@
#! /bin/bash
# Run the standalone configuration.
# Run the default Docker image using the standalone configuration.
# Since the initial run has to create and initialize the MYSQL database
# the first time, this sets the passwords into the environment before