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

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

  1. Wednesday, 05 June 2024 11:38
    Больше интересной информации о строительстве и ремонте можно прочитать на сайте https://stroyka-gid.ru. Только самые популярные статьи и обзоры процесса ремонта помещений и строительства зданий.
  2. Wednesday, 05 June 2024 12:01
    Фестиваль весны в Спасо-хаусе

    Что входит в услуги "мужчина на час"? Благодаря узкой специализации наших мастеров они могут выполнить даже самые сложные работы и устранить за час сразу несколько задач, мешавших вам комфортно жить длительное время. Муж на час подбирается грамотным менеджером из числа мастеров проживающих рядом с вами - при необходимости ремонтник подъедет к вам в течение часа. Соломин, указывая на входившего с неждановскими вещами Павла, - рекомендую вам моего лучшего здешнего друга: на него вы можете положиться вполне… Обычно схема заработка складывается так: вы создаете публичный канал на тему, которая вам интересна и близка. Известительное письмо носило те же следы неумеренности: она писала, что ее сестра «довела себя до крайних положений и сама прекратила свою жизнь бестрепетною рукою». Она захотела видеть муж на час письмо, и я подал это письмо баронессе, а она Лине. Она удивлялась собственному голосу, до того он был гибок и свеж. Так и до подвала можно добраться. Низводилось это до самых столпов славянофильства.

    Если вы решите сделать работу «муж на час» своим основным источником прибыли, то восьмичасовой рабочий день может принести от 2400 до 4000 рублей, исходя из стоимости часа 300-500 рублей. Если вы заказываете мастера через фирму, то в обязательном порядке будет составляться договор, в котором будут оговорены предоставляемые услуги, их стоимость и гарантии. Стоимость услуги, как правило, зависит от обрабатываемой площади. Я никогда и во всю мою жизнь не жил так мирно и хорошо, как теперь. Выдача вида на отдельное жительство, соответствующая тому, что во французском кодексе называется separation des corps, есть, в сущности, акт развод de-facto, и таким образом сама предержащая власть, в лице суда и администрации, разрешая на практике эту форму разлучения супругов, явно высказывается против исключительности и устарелости действующего на этот предмет закона, не допускающего свободного развода. То есть, я говорю, знают только одну заурядность. Здесь понимали, что верить и не верить - это не во власти человека, и о вере не спорили, а прямую искренность умели уважать выше притворства. Первая мысль, которая приходит в голову практически каждого человека, который не разбирается в этой теме - оказание интимных услуг, но это далеко не так. Мы предлагаем нашим клиентам воспользоваться инновационным подходом в вопросах ценообразования бытовых услуг, когда расценки устанавливаете вы сами в момент подачи заявки.

    Мы все перед баронессой молчали. Пальцы нащупали золотую цепочку, и мысль, что это цепочка для креста, а не шнур, так успокоительно подействовала на нее, что она начала смеяться, но подняла глаза и увидала перед собою мужа. Я чувствовал, что у меня опять есть перья в крыльях, есть шанс на долю счастья в жизни, но мне было странно, что вместе с этим оживляющим меня сознанием я чувствовал мертвящую немощь перед тем, что мне надо объявить свою новость баронессе. Бизнес-идеи для реализации в домашних условиях привлекательны тем, что позволяют использовать уже имеющиеся у вас ресурсы: жилую площадь, доступ к электроэнергии и водоснабжению, компьютерное рабочее место с подключением к интернету, а также собственные навыки и умения. Как все неискренние люди, желающие казаться не тем, что они есть на самом деле, она пересаливала и была несносна в своем новом направлении точно так же, как была противна в прежнем. Как так спрятали? Почему спрятали? Как обычно и бывает, особенно в сфере обслуживания, чем больше сэкономишь, тем меньше у тебя проживет отремонтированная вещь. Как я мог говорить или слушать о них что-нибудь, кроме похвал и восторгов? «Благословение непраздной и имущей во чреве; да разверзет ее ложесна отрок» и проч. Но, как бы там ни было, - я свободен, во второй раз свободен, и теперь я уже умею ценить свободу и ее не процыганю.

    Или разве в самом крайнем случае прощается на один раз Марфа». Нет, друг мой, Лина, для меня - это так. Вот видишь, - говорила Авроре Лина, - не я, а ты будешь похожа на бабушку. Да, я думаю, - вы, а не я, и никто другой за вас. Затвор щёлкал, а я, уже чувствуя себя настоящей моделью, повернулась к ребятам лицом и дала им любоваться моими сиськами. Баронессы и Лины не было дома, служанка работала на кухне, Аврора качалась с книгою в руках в своем гамаке, а я составлял служебный отчет в своей комнате. Аврора проходила с книгою со своего гамака. Через неделю Аврора уехала к матери в Курляндию. Аврора приехала несколькими днями раньше, чем обещала, но нимало не поправилась, а даже как будто похудела и имела вид «грозный». Но я над этим напрасно ломал голову: мне вовсе и не пришлось говорить об этом баронессе; но у меня также и не оставалось места ни для подозрения, что она этого не знает, ни для недоумения, как она к этому относится. Но зачастую многие из них сталкиваются с делами выполнение, которых требует помощь мужчины. Но не забывая при этом о возможных сопутствующих негативных моментах. Следующей весной я был мужем Лины - счастливейшим и недостойным мужем самой святой и самой высокой женщины, какую Бог послал на землю, чтобы осчастливить лучшего человека.
  3. Wednesday, 05 June 2024 16:03
    Ищете быстрый способ решить финансовые трудности? Подписывайтесь на наш канал срочные займы! Здесь вы найдете лучшие предложения по займам на карту без отказа срочно. Получите деньги уже через несколько минут!