In this exemple of configuration i'll use:
For the database the user opensim with the password DB_Password. (Chose whatever you want instead)
For the domain name replace domain.com by your own.
Dependency installation:
Before installing OpenSim you need Mono, MySQL and unzip.
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt dist-upgrade
sudo apt install mono-complete mysql-server unzip
MySQL configuration:
sudo nano /etc/mysql/my.cnf
Add the following lines before:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld] default_storage_engine = InnoDB disable_log_bin innodb_buffer_pool_size = 2G innodb_log_file_size = 256M innodb_log_buffer_size = 16M innodb_flush_method = O_DIRECT innodb_flush_log_at_trx_commit = 0 innodb_buffer_pool_instances = 2 default-authentication-plugin=mysql_native_password
Restart MySQL:
sudo service mysql restart
sudo mysql_secure_installation -u root -p
Database creation:
sudo mysql
mysql> create database opensim;
mysql> create user opensim identified by 'DB_Password';
mysql> create user 'opensim'@'localhost' identified by 'DB_Password';
mysql> GRANT ALL PRIVILEGES ON opensim.* TO 'opensim'@'localhost';
mysql> FLUSH PRIVILEGES;
Check the opensim account is mysql_native_password and disconnect from MySQL:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
mysql> \q
Download and Extract OpenSim:
cd ~
wget http://opensimulator.org/dist/OpenSim-LastAutoBuild.zip
mkdir ~/HG
unzip OpenSim-LastAutoBuild.zip -d HG/
Grid configuration:
cd ~/HG/bin
cp Robust.HG.ini.example Robust.HG.ini
cp OpenSim.ini.example OpenSim.ini
cp config-include/GridCommon.ini.example config-include/GridCommon.ini
cp config-include/osslEnable.ini.example config-include/osslEnable.ini
Edit the Robust.HG.ini file
nano -c ~/HG/bin/Robust.HG.ini
Edit the lines 28 - 240 - 620 - 623 - 834
Uncomment 104 - 106 - 111 - 191 - 198 - 731
[Const] 28 BaseURL = "http://domain.com" [ServiceList]
104 OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector" 106 GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector" 111 UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector" [Hypergrid] 191 HomeURI = "${Const|BaseURL}:${Const|PublicPort}" 198 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}" [DatabaseService] 240 ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=DB_Password;Old Guids=true;SslMode=None;" [GridInfoService] 620 gridname = "NOM DE LE GRID" 623 gridnick = "nom_de_la_grid" [UserAgentService] 731 ShowUserDetailsInHGProfile = True [UserProfilesService] 834 Enabled = true
Launch Robust and make sure there is no errors:
mono ~/HG/bin/Robust.exe -inifile=Robust.HG.ini
In the Robust console create the first user:
R.O.B.U.S.T.# create user
First name [Default]: Ludo
Last name [User]: Davis
Password:
Email []:
User ID (enter for random) []:
Model name []:
Quit Robust with the quit command
R.O.B.U.S.T.# quit
Edit the OpenSim.ini file
nano -c ~/HG/bin/OpenSim.ini
Edit the lines: 53 - 1164 - 1179 - 1141 - 1202
Uncomment: 356 - 773 - 778 - 782 - 787 - 795 - 1152 - 1192 - 1276 - 1313
Comment: 1310
[Const] 53 BaseHostname = "domain.com" [Map] 356 GenerateMaptiles = true [Messaging] 773 OfflineMessageModule = "Offline Message Module V2" 778 OfflineMessageURL = ${Const|PrivURL}:${Const|PrivatePort} 782 StorageProvider = OpenSim.Data.MySQL.dll 787 MuteListModule = MuteListModule 792 ForwardOfflineGroupMessages = true [Groups] 1141 Enabled = true 1152 Module = "Groups Module V2" 1164 ServicesConnectorModule = "Groups HG Service Connector" 1179 GroupsServerURI = ${Const|BaseURL}:${Const|PrivatePort} 1192 MessagingModule = "Groups Messaging Module V2" 1202 MessageOnlineUsersOnly = true [UserProfiles] 1276 ProfileServiceURL = "${Const|BaseURL}:${Const|PublicPort}" [Architecture] 1310 ; Include-Architecture = "config-include/Standalone.ini" 1313 Include-Architecture = "config-include/GridHypergrid.ini"
Edit the GridCommon.ini file
nano -c ~/HG/bin/config-include/GridCommon.ini
Edit the line19
Uncomment 16 - 49
Comment 9
[DatabaseService] 9 ; Include-Storage = "config-include/storage/SQLiteStandalone.ini"; 16 StorageProvider = "OpenSim.Data.MySQL.dll" 19 ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=DB_Password;Old Guids=true;SslMode=None;" [Hypergrid] 49 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
Firewall configuration:
sudo ufw allow "OpenSSH"
sudo ufw allow 8002/tcp
sudo ufw allow 9000/tcp
sudo ufw allow 9000:9100/udp
sudo ufw enable
If the server is behind a router:
Create a NAT for ports 8002 in TCP and 9000-9100 TCP/UDP
Example:
NAT reflection must be enable.
Example:
You need to edit the Region.ini file with the external IP (not the domain name) and internal.
InternalAddress = IP_INTERNE
ExternalHostName = IP_EXTERNE
Create a route:
iptables -t nat -A OUTPUT --dst IP_EXTERNE -p tcp --dport 9000:9100 -j DNAT --to-destination IP_INTERNE
iptables -t nat -A OUTPUT --dst IP_EXTERNE -p udp --dport 9000:9100 -j DNAT --to-destination IP_INTERNE
Подробное описание уличные спортивные тренажеры у нас
Как производят детские игровые площадки
Купить детские игровые площадки
Детский спортивный комплекс 170см BambinoWood Color Plus 1-1.Уличное спортивные тренажеры.
Купить тренажеры бубновского мтб
Описание уличные тренажеры купить у нас на сайте
Купить манжета для тяги
Цвет: Полимерно-порошковое покрытие по ГОСТ 9.410 Цвет любой на выбор по таблице RAL.По краям ступеней делаем отверстия.