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

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

  1. Sunday, 19 May 2024 04:40
    Нужны срочные деньги до 30 000 рублей с плохой кредитной историей? mikro-zaim-online.ru и решите свои финансовые проблемы легко и быстро!
  2. Sunday, 19 May 2024 05:48
    Доставка алкогольной продукции на дом в Сочи круглосуточно
    Нередко возникают ситуации, когда в самый разгар вечеринки у вас заканчиваются алкогольные напитки, и вы хотите продолжить веселье, но магазины уже закрыты. В таких случаях вы можете обратиться к нам, и мы быстро доставим вам качественные продукты прямо к дому. Наш сервис предоставляет легальную доставку, быструю доставку и удобные способы оплаты - вот наши преимущества.

    Основные причины выбрать нас
    доставка алкоголя сочи
    Законность. Мы соблюдаем законы, запрещающие дистанционную продажу алкоголя.
    Удобство. Вы можете произвести оплату путем перевода на банковскую карту по номеру телефона.
    Быстрота. Мы осуществляем доставку по Сочи уже через 15 минут.
    Мы не только предлагаем купить качественный алкоголь, но и осуществляем доставку даже ночью прямо к вашему дому. Мы доставим пиво, крепкие алкогольные напитки и безалкогольные напитки в любую часть города.

    Важно отметить, что приобретение алкоголя через интернет с доставкой является незаконным. Согласно закону 171 ФЗ, п. 14 ч. 2 ст. 16, продажа алкогольной продукции дистанционным способом запрещена. При оформлении заказа через наши онлайн-сервисы необходимо подтвердить, что вам исполнилось 18 лет, а также согласиться с приобретением сувениров алкогольной тематики. При заказе доставки в отдаленные районы города учтите возможные пробки на дорогах и погодные условия. Мы с удовольствием доставим вам продукцию в Адлер, Дагомыс, Мацесту, Кудепсту, Бытху, Мамайку, Хосту.

    Доставкой алкоголя на дом - быстро и надёжно!
    Наши услуги доставки алкоголя на дом предоставляются круглосуточно! Добро пожаловать на наш сайт, посвященный доставке алкоголя на дом в Сочи 24/7. Мы предлагаем широкий ассортимент алкогольных напитков, доступных для заказа в любое время суток. Наша команда опытных специалистов готова обеспечить вас отличным сервисом и удовлетворить ваши предпочтения вкуса.

    Наши преимущества:
    https://alco-sochi-25.store/
    доставка алкоголя круглосуточно
    Быстрая и надежная доставка: Мы понимаем важность получения заказа вовремя, поэтому предлагаем надежную и оперативную доставку. Наша служба доставки работает круглосуточно, чтобы вы могли наслаждаться алкоголем в любое время.
    Широкий ассортимент: Мы тщательно подбираем лучшие алкогольные напитки со всего мира. У нас вы найдете разнообразные сорта пива, вина, крепкие спиртные напитки, шампанское и многое другое. Мы также предлагаем различные аксессуары для алкоголя, чтобы обогатить ваш опыт употребления напитков.
    Премиальное качество: Мы сотрудничаем только с проверенными поставщиками, чтобы гарантировать вам высокое качество алкогольных напитков. Все наши продукты проходят строгий контроль качества, чтобы удовлетворить ваши ожидания.
    Ценовая доступность: У нас есть алкогольные напитки на любой вкус и бюджет. Мы предлагаем разнообразные ценовые категории, чтобы каждый клиент мог найти оптимальное соотношение цены и качества.
    Простой процесс заказа: Наш сайт предоставляет удобный интерфейс для размещения заказа. Вы можете легко выбрать нужные товары, указать адрес доставки и оформить оплату всего в несколько кликов. Мы также принимаем различные методы оплаты для вашего удобства.
    Профессиональная поддержка: Наша команда службы поддержки всегда готова помочь вам с любыми вопросами или проблемами, возникшими во время заказа или доставки. Мы стремимся обеспечить высокий уровень удовлетворенности клиентов.
    Безопасность и конфиденциальность: Мы обеспечиваем полную конфиденциальность ваших данных и гарантируем безопасность при совершении покупок. Ваши личные данные и платежные реквизиты защищены с помощью современных технологий шифрования.
    Без разницы, нужен ли вам алкоголь для вечеринки, романтического ужина или просто для расслабления после долгого дня - наша служба доставки алкоголя на дом в Сочи ночью готова стать вашим надежным партнером. Закажите прямо сейчас и наслаждайтесь вкусными напитками в уюте своего дома!