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

16307 thoughts on “Install OpenSim 0.9.2.2 in Grid mode on Ubuntu 20.04”

  1. Sunday, 16 June 2024 01:14
    https://kupit-kvartiruspb.ru в новостройках Санкт-Петербурга. Цены и фотографии квартир от застройщика в готовых и строящихся ЖК. Подбор жилья, ипотечные программы, сопровождение сделок и выгодные предложения.
  2. Sunday, 16 June 2024 01:41
    В нашем обществе, где диплом становится началом удачной карьеры в любой области, многие стараются найти максимально быстрый путь получения образования. Важность наличия официального документа об образовании переоценить попросту невозможно. Ведь именно он открывает дверь перед каждым человеком, который стремится вступить в профессиональное сообщество или продолжить обучение в ВУЗе.
    Наша компания предлагает максимально быстро получить этот важный документ. Вы сможете приобрести диплом нового или старого образца, что становится выгодным решением для всех, кто не смог завершить образование, утратил документ или хочет исправить плохие оценки. Каждый диплом изготавливается с особой тщательностью, вниманием ко всем элементам. В итоге вы получите документ, максимально соответствующий оригиналу.
    Преимущество такого решения заключается не только в том, что можно оперативно получить диплом. Весь процесс организован комфортно и легко, с нашей поддержкой. Начав от выбора нужного образца диплома до грамотного заполнения персональной информации и доставки по России — все под полным контролем квалифицированных мастеров.
    Для тех, кто ищет максимально быстрый способ получить необходимый документ, наша компания предлагает выгодное решение. Приобрести диплом - это значит избежать продолжительного обучения и сразу переходить к своим целям, будь то поступление в университет или старт карьеры.
    http://mir-forum.ru
    http://geniyz.ru
    http://press-service22.ru
    http://kinelgorod.ru
    http://baikal-sez.ru
  3. Sunday, 16 June 2024 04:38
    The Psychology of a Darknet Market User: Insights from Darkweb
    User Experience on Darkweb: Navigating the Darknet with Ease
    Unveiling Darkweb: The Hidden Market of the Dark Web
    Darkweb is a dark market that operates on the Darknet, an encrypted network accessible only through specialized software such as TOR. This anonymity allows users to trade a variety of illegal goods and services.
    https://github.com/webssw/Top-link/releases
  4. Sunday, 16 June 2024 06:36
    В Германии допустили использование Украиной Patriot против авиации в России
    kraken23.at
    В пятницу официальный представитель кабинета министров Вольфганг Бюхнер подтвердил решение Берлина разрешить Киеву использовать немецкое оружие по позициям на российской территории близ Харьковской области. Он заверил журналистов, что Германия в качестве поставщика оружия Украине не станет стороной конфликта.
    kraken17.at
    https://vk35.at
  5. Sunday, 16 June 2024 06:53
    Visit Your URL https://online-television.net/pt/
  6. Sunday, 16 June 2024 09:11

    Valuable information. Fortunate me I found your website by accident, and I am shocked why this accident didn't took place earlier! I bookmarked it.
    купить свидетельство о рождении
    http://dety-tymovsk.ru
    http://family-spb.ru
    http://kosprof.ru

    купить диплом в губкине
  7. Sunday, 16 June 2024 11:28
  8. Sunday, 16 June 2024 12:44

    Howdy! This is kind of off topic but I need some help from an established blog. Is it tough to set up your own blog? I'm not very techincal but I can figure things out pretty fast. I'm thinking about making my own but I'm not sure where to begin. Do you have any points or suggestions? Thank you
    http://thepirog.ru/9_kategoria/9_kategoria-22.php

    купить свидетельство о заключении брака
    http://school-10-lik.ru

    купить диплом в чапаевске