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

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

  1. Thursday, 20 June 2024 15:03

    Hey exceptional blog! Does running a blog similar to this take a lot of work? I've very little expertise in computer programming but I was hoping to start my own blog in the near future. Anyhow, if you have any ideas or techniques for new blog owners please share. I understand this is off topic but I simply had to ask. Cheers!

    www.geoenergi.co.id/2018/04/20/pln-danai-pembangunan-surau-al-quran-di-padang/ 
    kurovskoye.ru/index.html 
    vague.social/blogs/31670/Why-is-the-popularity-of-universities-rapidly-declining-today 
    wap-club.ru/guestbook.php?mode=quote&idmsg=210748 
    gracebelgravia.com/medical/grace-infusion-clinic/ 
  2. Thursday, 20 June 2024 17:09
    Преобразите ваше жилище с легкостью благодаря виниловой плитке для стен!

    Теперь в Днепре доступны современные решения для вашего дома или офиса. Наша самоклеющаяся плитка обеспечивает отличное качество, долговечность и простоту укладки. Забудьте о сложных и дорогостоящих ремонтах - просто отклейте и приклейте нашу виниловую плитку, чтобы создать элегантные и современные поверхности в любом помещении.

    У нас есть огромный выбор дизайнов и текстур, чтобы подчеркнуть ваш уникальный стиль. Перевоплотите ваш интерьер сегодня с нашей самоклеющейся виниловой плиткой - удобно, красиво, доступно!

    Самоклеющаяся плитка для ванной купить недорого - https://walls-decor.com.ua/samokleyushchayasya-vinilovaya-plitka
  3. Thursday, 20 June 2024 17:55
    https://kraken14attt.ru - kraken зеркало рабочее
  4. Thursday, 20 June 2024 19:10

    Hi there! I understand this is somewhat off-topic however I had to ask. Does operating a well-established blog like yours take a massive amount work? I am completely new to blogging but I do write in my journal daily. I'd like to start a blog so I can easily share my experience and views online. Please let me know if you have any kind of recommendations or tips for new aspiring bloggers. Thankyou!
    купить диплом лаборанта
    http://technoevents.ru/kupit-diplom-poshagovoe-rukovodstvo/
    https://my.desktopnexus.com/iygorefremmv/
    http://21st.mybb.ru/viewtopic.php?id=522#p2169
    https://carbonfacesocial.org/blogs/68290/пїЅпїЅпїЅпїЅпїЅпїЅ-пїЅпїЅпїЅпїЅпїЅпїЅ-пїЅпїЅпїЅпїЅ-пїЅпїЅпїЅпїЅпїЅ-пїЅ-пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ-пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
    http://w98804oc.beget.tech/2024/05/31/kupit-diplom-v-moskve-bez-problem.html

    купить диплом в братске
  5. Thursday, 20 June 2024 19:58
    Здравствуйте!
    Приобретите документы об образовании всех ВУЗов России по выгодным ценам с постоплатой и помощью 24/7!
    http://stars.flyboard.ru/topic692.html
    http://gamesfortop.ru/kupit-diplom-professionalnyie-uslugi
    http://forum.activeworlds.ru/member.php?535-worksale
    http://matripedia.de/doku.php?id=radiplomas
    http://vv.flybb.ru/topic1954.html
  6. Thursday, 20 June 2024 20:34
    купить диплом в чите diplomvash.ru .
  7. Thursday, 20 June 2024 20:41

    you are in reality a good webmaster. The web site loading pace is amazing. It sort of feels that you're doing any unique trick. Moreover, The contents are masterwork. you have done a great process on this subject!
    http://kvakva55.ru/atletiko-interesen-dzhaka.html

    купить диплом провизора
    http://r-diplom.ru

    купить диплом в туле
  8. Friday, 21 June 2024 01:35

    WOW just what I was looking for. Came here by searching for %meta_keyword%
    купить диплом в уфе
    https://szr-coll-isk.ru/forum/messages/forum1/topic302/message370/?result=new#message370
    http://tvoirostov.ru/blogi/poluchite_dokument_otkryvayushii_novye_perspektivy_prosto_i_byst/
    http://pspgn.bestbb.ru/viewtopic.php?id=319#p319
    http://chromerp.listbb.ru/viewtopic.php?f=13&t=426
    http://kolledj.bestbb.ru/viewtopic.php?id=338#p496

    купить диплом в благовещенске
  9. Friday, 21 June 2024 02:07

    What's up, I would like to subscribe for this web site to take most recent updates, thus where can i do it please help out.

    renebiemans.nl/users.php?m=details&id=31723 
    petrovsky-hotel.ru/booking/?arrival-date-offset=1&nights=1&room-type=10945 
    aed-defibrillator.be/defibrillator_promo.asp?prod=67&sort_products=1&itemsPerpage=10 
    rising.chew.jp/END/inside/dbbs/dicebbs.cgi?mode=resmsg&no=7866 
    reguitti.com.ua/services.html