
Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Trying to access array offset on value of type null in /volume1/web/wiki/lib/plugins/bureaucracy/syntax.php on line 381

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Trying to access array offset on value of type null in /volume1/web/wiki/lib/plugins/bureaucracy/syntax.php on line 381

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 235

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 274

Warning: Undefined array key "media" in /volume1/web/wiki/feed.php on line 385
<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://itclive.spdns.de/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>move IT Home Base</title>
        <description></description>
        <link>http://itclive.spdns.de/wiki/</link>
        <lastBuildDate>Sun, 05 Apr 2026 21:15:41 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://itclive.spdns.de/wiki/lib/tpl/peanutbutter2/images/favicon.ico</url>
            <title>move IT Home Base</title>
            <link>http://itclive.spdns.de/wiki/</link>
        </image>
        <item>
            <title>Hypergrid</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/hypergrid?do=revisions&amp;rev=1575021529</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;hypergrid&quot;&gt;Hypergrid&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hypergrid&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hypergrid&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-23&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;hypergrid_aktivieren&quot;&gt;Hypergrid aktivieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Um Hypergrid nutzen zu können um zwei oder mehrere Sims miteinander zu verbinden müssen alle Sims Hypergrid aktiviert haben. OpenSIM wird dazu mit einem bestimmten Kommando gestartet:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;opensim.exe -hypergrid=true&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hypergrid aktivieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hypergrid_aktivieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;24-286&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;ab_version_065&quot;&gt;Ab Version 0.6.5&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Bitte beachten Sie: im OpenSimulator ab Version 0.6.5 wird Hypergrid nicht mehr wie bisher über das obenstehende Kommando aktiviert, sondern über die OpenSIM Konfigurationsdatei opensim.ini mit folgendem Eintrag:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;hypergrid = true&lt;/pre&gt;

&lt;p&gt;
In der opensim.ini Konfigurationsdatei wird zusätzlich die Worldmap umgestellt, sodaß die Worldmap auch externe Sims anzeigen kann:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;WorldMapModule = &amp;quot;HGWorldMap&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ab Version 0.6.5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ab_version_065&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;287-748&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;per_hypergrid_externe_regionen_verlinken&quot;&gt;Per Hypergrid externe Regionen verlinken&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Externe Sims die Hypergrid-aktiv sind und sich maximal 4096 Regionen weit entfernt befinden können nun per Hypergrid verlinkt werden. Um nun eine externe Sim per Hypergrid zu verlinken wird im DOS-Fenster folgendes Kommando eingegeben:
&lt;/p&gt;

&lt;p&gt;
Beispiel:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;link-region 1001 1001 externer-opensimserver.com 9000 Sim-Name&lt;/pre&gt;

&lt;p&gt;
Wobei die Beispiel-Werte 1001 1001 an die eigenen Koordinaten angepasst werden müssen. Ausserdem muss die richtige &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; des externen OpenSIM-Servers und dessen Port-Nummer eingetragen werden. Der Name der externen Sim kann frei gewählt werden, sollte aber möglichst kurz sein da dieser in der Map noch lesbar sein muß.
&lt;/p&gt;

&lt;p&gt;
Wenn man das Ganze komfortabler und automatisiert haben möchte, dann editiert man die Datei „startup_commands.txt“, bzw. legt diese erst an indem man das „.example“ am Ende des Dateinamens entfernt. Dann schreibt man in diese Textdatei nur ein einziges Kommando hinein:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;link-region http://ihrwebspace.de/HG.xml&lt;/pre&gt;

&lt;p&gt;
Beim Starten von OpenSim wird dann der Inhalt der Datei HG.xml automatisch eingelesen. Nehmen Sie Ihren Text-Editor und schreiben eine Datei mit dem Namen HG.xml, oder jedem anderem beliebigen Namen (keine Sonderzeichen, keine Leerzeichen, &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;-kompatibel), aber mit dem Datei-Extender .xml . In dieser XML-Datei die Sie auf Ihrem Webspace speichern, können Sie dann die per Hypergrid zu verlinkenden Regionen in folgendem Format eintragen:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;Nini&amp;gt;
 &amp;lt;Section Name=&amp;quot;Region1&amp;quot;&amp;gt; 
   &amp;lt;Key Name=&amp;quot;xloc&amp;quot; Value=&amp;quot;1001&amp;quot;/&amp;gt;
   &amp;lt;Key Name=&amp;quot;yloc&amp;quot; Value=&amp;quot;1001&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalPort&amp;quot; Value=&amp;quot;9000&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalHostName&amp;quot; Value=&amp;quot;externeSIM1.de&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;localName&amp;quot; Value=&amp;quot;Name der externen Sim 1 auf Ihrer Sim&amp;quot; /&amp;gt;
 &amp;lt;/Section&amp;gt;
 &amp;lt;Section Name=&amp;quot;Region2&amp;quot;&amp;gt; 
   &amp;lt;Key Name=&amp;quot;xloc&amp;quot; Value=&amp;quot;1002&amp;quot;/&amp;gt;
   &amp;lt;Key Name=&amp;quot;yloc&amp;quot; Value=&amp;quot;1002&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalPort&amp;quot; Value=&amp;quot;9000&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalHostName&amp;quot; Value=&amp;quot;externeSIM2.de&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;localName&amp;quot; Value=&amp;quot;Name der externen Sim 2 auf Ihrer Sim&amp;quot; /&amp;gt;
 &amp;lt;/Section&amp;gt;
 &amp;lt;Section Name=&amp;quot;Region3&amp;quot;&amp;gt; 
   &amp;lt;Key Name=&amp;quot;xloc&amp;quot; Value=&amp;quot;1003&amp;quot;/&amp;gt;
   &amp;lt;Key Name=&amp;quot;yloc&amp;quot; Value=&amp;quot;1003&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalPort&amp;quot; Value=&amp;quot;9000&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;externalHostName&amp;quot; Value=&amp;quot;externeSIM3.de&amp;quot; /&amp;gt;
   &amp;lt;Key Name=&amp;quot;localName&amp;quot; Value=&amp;quot;Name der externen Sim 3 auf Ihrer Sim&amp;quot; /&amp;gt;
 &amp;lt;/Section&amp;gt;
 &amp;lt;/Nini&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Die oben eingetragenen Werte sind nur Demodaten und müssen natürlich erst auf echte Hypergrid-Regionen geändert werden. Die „xloc“ und „yloc“ Werte bestimmen wo genau die externen Hypergrid-Regionen auf Ihrer Worldmap erscheinen. Achten Sie darauf mindestens 1 Region Abstand zu Ihren eigenen Regionen einzuhalten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Per Hypergrid externe Regionen verlinken&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;per_hypergrid_externe_regionen_verlinken&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;749-3430&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;link-mapping&quot;&gt;link-mapping&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/fixme.svg&quot; class=&quot;icon smiley&quot; alt=&quot;FIXME&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;link-mapping&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;link-mapping&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3431-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:49 +0000</pubDate>
        </item>
        <item>
            <title>Installation FreeSwitch</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/freeswitch?do=revisions&amp;rev=1575021528</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;installation_freeswitch&quot;&gt;Installation FreeSwitch&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit FreeSwitch können Sie die Voice-Funktion in OpenSIM nutzen um sich nicht nur über die Tastatur im Chat mit anderen Avataren zu unterhalten, sondern auch über ein Mikrofon mit Ihrer Stimme.
&lt;/p&gt;

&lt;p&gt;
Erste Informationen zu FreeSwitch erhalten Sie auf der offiziellen Webseite: &lt;a href=&quot;http://www.freeswitch.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.freeswitch.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.freeswitch.org&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Installation FreeSwitch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_freeswitch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-338&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;linux_installationsuse_3264-bit&quot;&gt;Linux Installation: Suse 32/64-bit&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Installation und Konfiguration von Freeswitch für OpenSim unter Linux&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Wichtige Links:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://wiki.freeswitch.org/wiki/Main_Page&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://wiki.freeswitch.org/wiki/Main_Page&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://wiki.freeswitch.org/wiki/Main_Page&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.freeswitch.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.freeswitch.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.freeswitch.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/Freeswitch_Module&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Freeswitch_Module&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://opensimulator.org/wiki/Freeswitch_Module&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
FreeSwitch ist eine Kommunikationsplattform die unter MLP 1.1 lizensiert ist. Der Vorteil ist der modulare Aufbau und die SIP-Funktionalität die wir hier nutzen um Voice (Sprachkommunikation) in OpenSim zu integrieren. Die native Unterstützung der gängigen Viewer ist dabei das Schmankerl. Auf die Kompilierung von FreeSwitch werde ich hier nicht näher eingehen da sie ausreichend auf der FreeSwitch Website erläutert wird. Es gibt auch je nach Distribution fertig kompilierte Pakete die sich einfacher installieren lassen. Bitte vorher alle Abhängigkeiten überprüfen damit ein reibungsloses kompilieren möglich ist. Beim installieren von FreeSwitch ist dringend auf folgende Einstellungen zu achten damit es erfolgreich funktioniert:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Linux Installation: Suse 32\/64-bit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;linux_installationsuse_3264-bit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;339-1352&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;herunterladen_von_freeswitch&quot;&gt;Herunterladen von Freeswitch&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ich empfehle die svn in folgendes Verzeichnis zu laden:
&lt;/p&gt;

&lt;p&gt;
/opt/scr/
&lt;/p&gt;

&lt;p&gt;
der Ordner scr muss noch angelegt werden da er meistens nicht vorhanden ist.
&lt;/p&gt;

&lt;p&gt;
md scr 
&lt;/p&gt;

&lt;p&gt;
dann FreeSwitch herunterladen:
&lt;/p&gt;

&lt;p&gt;
svn checkout &lt;a href=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://svn.freeswitch.org/svn/freeswitch/trunk&lt;/a&gt; freeswitch
&lt;/p&gt;

&lt;p&gt;
Der Quellcode befindet sich dann in:
&lt;/p&gt;

&lt;p&gt;
/opt/scr/freeswitch
&lt;/p&gt;

&lt;p&gt;
nach der Installation (make install) in:
&lt;/p&gt;

&lt;p&gt;
/opt/freeswitch
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Herunterladen von Freeswitch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;herunterladen_von_freeswitch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1353-1769&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;wichtige_schritte&quot;&gt;Wichtige Schritte&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Da FreeSwitch modular aufgebaut ist sind in der Grundkonfiguration nicht alle Module aktiviert. Manche werden auch erst nach der Aktivierung kompiliert. Für den reibungslosen Ablauf brauchen wir zwei dieser Module die nicht automatisch kompiliert werden:
&lt;/p&gt;

&lt;p&gt;
codecs/mod_siren ←– siren 14 Codec (sozusagen die Sprachkomprimierung)
xml_int/mod_xml_curl ←– Ein Modul um automatische Konfiguration von FreeSwitch über XML zu ermöglichen.
&lt;/p&gt;

&lt;p&gt;
Nach dem Herunterladen von FreeSwitch und der Vorbereitung der Kompilierung:
&lt;/p&gt;

&lt;p&gt;
./bootstrap.sh
./configure –prefix=/usr/local/freeswitch ←– entspricht dem Pfad der späteren Installierung
&lt;/p&gt;

&lt;p&gt;
muss man diese Module in:
&lt;/p&gt;

&lt;p&gt;
../freeswitch/conf/autoload_configs/modules.conf.xml 
&lt;/p&gt;

&lt;p&gt;
aktivieren indem man die „#“ vor den entsprechenden Modulen entfernt.
&lt;/p&gt;

&lt;p&gt;
Danach kann man den Quellcode mit
&lt;/p&gt;

&lt;p&gt;
make
make install
make sounds-install
make moh-install
make samples
&lt;/p&gt;

&lt;p&gt;
kompilieren und installieren. Hat das alles soweit erfolgreich funktioniert müssen noch 3 Konfigurationsdateien angepasst werden:
&lt;/p&gt;

&lt;p&gt;
../freeswitch/conf/autoload_configs/modules.conf.xml
&lt;/p&gt;

&lt;p&gt;
Hier müssen die beiden Module die wir gerade kompiliert haben aktiviert werden. Dazu entfernt man einfach die Auskommentierung.
&lt;/p&gt;

&lt;p&gt;
Vorher:
&amp;lt;!– „&amp;lt;load module=„mod_xml_curl“/&amp;gt;–&amp;gt;
&amp;lt;!– &amp;lt;load module=„mod_siren“/&amp;gt;/&amp;gt;–&amp;gt;
&lt;/p&gt;

&lt;p&gt;
Nachher:
&lt;em&gt;&amp;lt;load module=„mod_xml_curl“/&amp;gt;
&amp;lt;load module=„mod_siren“/&amp;gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Dann müssen wir noch den Codec aktivieren. Dazu müssen wir folgende XML editieren:
&lt;/p&gt;

&lt;p&gt;
../ freeswitch/conf/vars.xml
&lt;/p&gt;

&lt;p&gt;
In dieser XML gibt es eine Zeile
&lt;/p&gt;

&lt;p&gt;
Vorher:
&amp;lt;X-PRE-PROCESS cmd=„set“ data=„global_codec_prefs= G722,PCMU,PCMA,GSM“/&amp;gt;
dieser fügt bitte folgendes hinzu
G7221@32000h,G722
&lt;/p&gt;

&lt;p&gt;
Nachher:
&lt;em&gt;&amp;lt;X-PRE-PROCESS cmd=„set“ data=„global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM“/&amp;gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Dann nur noch die Anbindung an OpenSim. Dazu editieren wir die XML:
&lt;/p&gt;

&lt;p&gt;
../ freeswitch/conf/autoload_configs/xml_curl.conf.xml
&lt;/p&gt;

&lt;p&gt;
Bitte ersetzt folgendes mit dem kompletten Inhalt und achtet darauf das Ihr die IP Eures OpenSim-Servers an den dafür vorgesehenen Platz einfügt.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;&amp;lt;configuration name=„xml_curl.conf“ description=„cURL XML Gateway“&amp;gt;
 &amp;lt;bindings&amp;gt;
       &amp;lt;binding name=„example“&amp;gt;
               &amp;lt;param name=„gateway-url“ value=„&lt;a href=&quot;http://EureOpenSimIP:9000/api/freeswitch-config&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://EureOpenSimIP:9000/api/freeswitch-config&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://EureOpenSimIP:9000/api/freeswitch-config&lt;/a&gt;“ bindings=„directory“/&amp;gt;
               &amp;lt;param name=„disable-100-continue“ value=„true“/&amp;gt;
       &amp;lt;/binding&amp;gt;
       &amp;lt;binding name=„local“&amp;gt;
               &amp;lt;param name=„gateway-url“ value=„&lt;a href=&quot;http://EureOpenSimIP:9000/api/freeswitch-config&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://EureOpenSimIP:9000/api/freeswitch-config&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://EureOpenSimIP:9000/api/freeswitch-config&lt;/a&gt;“ bindings=„dialplan“/&amp;gt;
               &amp;lt;param name=„disable-100-continue“ value=„true“/&amp;gt;
       &amp;lt;/binding&amp;gt;
 &amp;lt;/bindings&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Der Port 9000 ist natürlich auch an Eure Sim anzupassen falls dieser vom Standard abweicht. Danach könnt Ihr FreeSwitch starten.
&lt;/p&gt;

&lt;p&gt;
../freeswitch/bin/./freeswitch
&lt;/p&gt;

&lt;p&gt;
Der Freeswitch-Service sollte immer vor dem OpenSim-Service gestartet sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wichtige Schritte&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wichtige_schritte&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1770-4638&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_konfiguration&quot;&gt;OpenSim Konfiguration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Hier müssen wir nur in der OpenSim.ini folgendes ergänzen:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;[FreeSwitchVoice]
   enabled = true
   ;FreeSwitch server is going to contact us and ask us all
   ;sorts of things.
   freeswitch_server_user = freeswitch
   freeswitch_server_pass = password
   freeswitch_api_prefix = /api
   ;The  IP address of your opensim voice region
   freeswitch_service_server = IP_Adresse_des_OpenSimServers
   ;the port your region is running on
   freeswitch_service_port = 9000 
   ;your freewitch IP address
   freeswitch_realm = IP_Adresse_des_FreeSwitch_Services
   freeswitch_sip_proxy = IP_Adresse_des_FreeSwitch_Services:5060
   freeswitch_attempt_stun = false
   freeswitch_stun_server = IP_Adresse_des_FreeSwitch_Services
   freeswitch_echo_server = IP_Adresse_des_FreeSwitch_Services
   freeswitch_echo_port = 50505
   freeswitch_well_known_ip = IP_Adresse_des_FreeSwitch_Services
   freeswitch_default_timeout = 5000
   freeswitch_subscribe_retry = 120&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Achtet auch hier bitte auf den Port Eurer Sim ! Danach einfach den OpenSim-Server starten.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;WICHTIG&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Der Freeswitch-Service ist nur in den aktuellsten Versionen von OpenSim möglich. Achtet darauf das beim starten von OpenSim im CLI ein [FreeSwitchVoice] Eintrag zu sehen ist. Dann nur noch InWorld auf der Region bei den Landeinstellungen Voice aktivieren und dann solltet Ihr diesen putzigen Punkt über dem Kopf sehen und wenn Ihr alleine auf der Region seit eine Warteschleifenmusik hören. Zum testen empfand ich diese als sehr hilfreich. Diese kann man folgendermassen ausschalten:
&lt;/p&gt;

&lt;p&gt;
../ freeswitch/conf/autoload_configs/conference.conf.xml
&lt;/p&gt;

&lt;p&gt;
einfach die Sounds auskommentieren:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;    […]
      &amp;lt;!– File to play if you are alone in the conference –&amp;gt;
      &amp;lt;!– &amp;lt;param name=„alone-sound“ value=„conference/conf-alone.wav“/&amp;gt; –&amp;gt;
      […]
      &amp;lt;!– File to play when you&amp;#039;re alone (music on hold)–&amp;gt;
      &amp;lt;!– &amp;lt;param name=„moh-sound“ value=„$${hold_music}“/&amp;gt; –&amp;gt;
      &amp;lt;!– File to play when you join the conference –&amp;gt;
      &amp;lt;!– &amp;lt;param name=„enter-sound“ value=„tone_stream:&lt;em&gt;%(200,0,500,600,700)“/&amp;gt; [^] –&amp;gt;
      &amp;lt;!– File to play when you leave the conference –&amp;gt;
      &amp;lt;!– &amp;lt;param name=„exit-sound“ value=„tone_stream:&lt;/em&gt;%(500,0,300,200,100,50,25)“/&amp;gt; [^] –&amp;gt;
      &amp;lt;!– File to play when you ae ejected from the conference –&amp;gt;
      &amp;lt;!– &amp;lt;param name=„kicked-sound“ value=„conference/conf-kicked.wav“/&amp;gt; –&amp;gt;
      […]&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Natürlich auch an die Firewall denken um die von FreeSwitch benötigten Ports zu öffnen:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit6&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Port(s)     &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Protokoll &lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot;&gt; Bezeichnung                                                                         &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1719        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; H.323 Gatekeeper RAS-Port                                                           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1720        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; H.323 Call Signalling                                                               &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 3478        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; STUN Service, für NAT traversal                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 3479        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; STUN Service, für NAT traversal                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5002        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; MLP Protocol Server                                                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5003        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Neighborhood Service                                                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5060        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (Standard SIP-Port, für default intern Profil)      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5070        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (für default „NAT“ Profil)                          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5080        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (für default „External“ Profil)                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 16384-32768 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; RTP/RTCP Multimedia Streaming, für Audio/Video Daten in SIP und anderen Protokollen &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7163-8425&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSim Konfiguration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_konfiguration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4639-8426&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;linux_installationubuntu_32-bit&quot;&gt;Linux Installation: Ubuntu 32-bit&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Linux Installation: Ubuntu 32-bit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;linux_installationubuntu_32-bit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;8427-8473&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;vorbereitung&quot;&gt;1. Vorbereitung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
apt-get update
&lt;/p&gt;

&lt;p&gt;
apt-get install -y autoconf automake libtool build-essential subversion libxml2
apt-get install -y libxml2-dev libtiff4 libtiff4-dev php5 php5-cli
apt-get install -y php5-common php5-mcrypt php5-mysql php5-gd php5-pgsql php-pear php-db
apt-get install -y libmysqlclient15-dev curl sox libssl-dev libncurses5-dev bison
apt-get install -y libaudiofile-dev libnewt-dev libcurl4-gnutls-dev 
apt-get install -y libnet-ssleay-perl openssl ssl-cert libauthen-pam-perl
apt-get install -y libio-pty-perl libmd5-perl
apt-get install -y libpg-perl libdbd-pg-perl  sqlite3
apt-get install -y libsqlite3-dev openssl ssl-cert
apt-get install -y libapache2-mod-php5 libmcrypt-dev
&lt;/p&gt;

&lt;p&gt;
mkdir /home/opensim/freeswitch
cd  /home/opensim/freeswitch
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. Vorbereitung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorbereitung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;8474-9243&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;freeswitch_installation&quot;&gt;2. FreeSwitch Installation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
svn checkout &lt;a href=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://svn.freeswitch.org/svn/freeswitch/trunk&lt;/a&gt; freeswitch
&lt;/p&gt;

&lt;p&gt;
cd freeswitch
cd build
cp modules.conf.in modules.conf
&lt;/p&gt;

&lt;p&gt;
vi modules.conf
&lt;/p&gt;

&lt;p&gt;
Suchen Sie die Zeile:
&lt;/p&gt;

&lt;p&gt;
#codecs/mod_siren
&lt;/p&gt;

&lt;p&gt;
und entfernen Sie das # Zeichen.
&lt;/p&gt;

&lt;p&gt;
Suchen Sie die Zeile:
&lt;/p&gt;

&lt;p&gt;
#xml_int/mod_xml_curl
&lt;/p&gt;

&lt;p&gt;
und entfernen Sie das # Zeichen.
&lt;/p&gt;

&lt;p&gt;
Speichern Sie die Datei.
&lt;/p&gt;

&lt;p&gt;
cd ..
AUTOCONF=/usr/bin/autoconf ./bootstrap.sh
&lt;/p&gt;

&lt;p&gt;
Warten Sie bis die Operationen abgeschlossen sind, dann weiter mit:
&lt;/p&gt;

&lt;p&gt;
./configure –prefix=/usr/local/freeswitch
&lt;/p&gt;

&lt;p&gt;
Warten Sie wieder bis alles abgeschlossen ist, dann weiter mit:
&lt;/p&gt;

&lt;p&gt;
make
&lt;/p&gt;

&lt;p&gt;
Warten Sie wiederrum bis alles abgeschlossen ist, dann weiter mit:
&lt;/p&gt;

&lt;p&gt;
make install
make mod_siren-install
&lt;/p&gt;

&lt;p&gt;
make mod_xml_curl-install
make sounds-install
&lt;/p&gt;

&lt;p&gt;
make sounds-install
&lt;/p&gt;

&lt;p&gt;
make moh-install
make moh-install
&lt;/p&gt;

&lt;p&gt;
Bitte beachten Sie das die obige Wiederholung des Kommandos kein Fehler ist ! Dann weiter mit:
&lt;/p&gt;

&lt;p&gt;
make samples
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. FreeSwitch Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freeswitch_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;9244-10160&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;freeswitch_konfiguration_fuer_opensim&quot;&gt;3. FreeSwitch Konfiguration für OpenSIM&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir nehmen bei der folgenden Konfiguration folgendes an. Bei Abweichungen auf Ihrem Computer und Netzwerk müssen Sie entsprechend anders konfigurieren. Dies ist quasi nur ein Beispiel von vielen möglichen Konfigurationen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; der Server ist direkt an das Internet angeschlossen und verfügt über die öffentliche IP-Adresse 192.111.222.33&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; es gibt keine Firewall die den ein- und ausgehenden Datenfluss irgendwie einschränkt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; OpenSIM läuft auf dem TCP-Port 9000 und ist auf demselben Computer installiert wie FreeSwitch&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Geben Sie nun folgendes ein:
&lt;/p&gt;

&lt;p&gt;
cd /usr/local/freeswitch/conf/autoload_configs/
&lt;/p&gt;

&lt;p&gt;
vi modules.conf.xml
&lt;/p&gt;

&lt;p&gt;
Suchen Sie die Zeile:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;!– &amp;lt;load module=„mod_xml_curl“/&amp;gt; –&amp;gt;
&lt;/p&gt;

&lt;p&gt;
und ändern Sie diese in:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;load module=„mod_xml_curl“/&amp;gt;
&lt;/p&gt;

&lt;p&gt;
Suchen Sie die Zeile:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;!–&amp;lt;load module=„mod_siren“/&amp;gt;–&amp;gt;
&lt;/p&gt;

&lt;p&gt;
und ändern Sie diese in:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;load module=„mod_siren“/&amp;gt;
&lt;/p&gt;

&lt;p&gt;
Speichern Sie die Datei. Weiter mit:
&lt;/p&gt;

&lt;p&gt;
cd /usr/local/freeswitch/conf/autoload_configs
&lt;/p&gt;

&lt;p&gt;
vi xml_curl.conf.xml
&lt;/p&gt;

&lt;p&gt;
Gehen Sie eine Zeile unter diese:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;binding name=„example“&amp;gt;
&lt;/p&gt;

&lt;p&gt;
und tauschen die dort noch vorhandene Beispiel-Konfiguration mit Ihrer Konfiguration:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;configuration name=„xml_curl.conf“ description=„cURL XML Gateway“&amp;gt;
&amp;lt;bindings&amp;gt;
&amp;lt;binding name=„example“&amp;gt;
&amp;lt;param name=„gateway-url“ value=„&lt;a href=&quot;http://192.111.222.33:9000/api/freeswitch-config&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://192.111.222.33:9000/api/freeswitch-config&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://192.111.222.33:9000/api/freeswitch-config&lt;/a&gt;“ bindings=„directory“/&amp;gt;
&amp;lt;param name=„disable-100-continue“ value=„true“/&amp;gt;
&amp;lt;/binding&amp;gt;
&amp;lt;binding name=„local“&amp;gt;
&amp;lt;param name=„gateway-url“ value=„&lt;a href=&quot;http://192.111.222.33:9000/api/freeswitch-config&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://192.111.222.33:9000/api/freeswitch-config&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://192.111.222.33:9000/api/freeswitch-config&lt;/a&gt;“ bindings=„dialplan“/&amp;gt;
&amp;lt;param name=„disable-100-continue“ value=„true“/&amp;gt;
&amp;lt;/binding&amp;gt;
&amp;lt;/bindings&amp;gt;
&amp;lt;/configuration&amp;gt;
&lt;/p&gt;

&lt;p&gt;
Tauschen Sie die oben verwendete Beispiel IP-Adresse 192.111.222.33 mit Ihrer eigenen öffentlichen IP-Adresse aus. Falls Sie einen anderen Port als den Standard-Port 9000 verwenden, passen Sie auch diesen an den bei Ihnen verwendeten Port an.
&lt;/p&gt;

&lt;p&gt;
Speichern Sie die Datei. Weiter geht es mit:
&lt;/p&gt;

&lt;p&gt;
cd /usr/local/freeswitch/conf/
&lt;/p&gt;

&lt;p&gt;
vi vars.xml
&lt;/p&gt;

&lt;p&gt;
Suchen Sie die Zeile:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;X-PRE-PROCESS cmd=„set“ data=„global_codec_prefs=G722,PCMU,PCMA,GSM“/&amp;gt;
&lt;/p&gt;

&lt;p&gt;
und ändern Sie diese in:
&lt;/p&gt;

&lt;p&gt;
&amp;lt;X-PRE-PROCESS cmd=„set“ data=„global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM“/&amp;gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. FreeSwitch Konfiguration f\u00fcr OpenSIM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freeswitch_konfiguration_fuer_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;10161-12376&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;starten_von_freeswitch&quot;&gt;4. Starten von FreeSwitch&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
screen -S voice
&lt;/p&gt;

&lt;p&gt;
cd /usr/local/freeswitch/bin/
./freeswitch
&lt;/p&gt;

&lt;p&gt;
Ignorieren Sie die rot markierten Fehlermeldungen und Warnungen. Weiter mit:
&lt;/p&gt;

&lt;p&gt;
[CTRL][A][D]
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4. Starten von FreeSwitch&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;starten_von_freeswitch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;12377-12566&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;opensim-konfiguration&quot;&gt;5. OpenSIM-Konfiguration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Editieren Sie die OpenSIM-Konfigurationsdatei und fügen Sie am Ende der Datei folgende Zeilen ein:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[FreeSwitchVoice]
   enabled = true
   ;FreeSwitch server is going to contact us and ask us all
   ;sorts of things.
   freeswitch_server_user = freeswitch
   freeswitch_server_pass = password
   freeswitch_api_prefix = /api
   ;The  IP address of your opensim voice region
   freeswitch_service_server = IP_Adresse_des_OpenSimServers
   ;the port your region is running on
   freeswitch_service_port = 9000 
   ;your freewitch IP address
   freeswitch_realm = IP_Adresse_des_FreeSwitch_Services
   freeswitch_sip_proxy = IP_Adresse_des_FreeSwitch_Services:5060
   freeswitch_attempt_stun = false
   freeswitch_stun_server = IP_Adresse_des_FreeSwitch_Services
   freeswitch_echo_server = IP_Adresse_des_FreeSwitch_Services
   freeswitch_echo_port = 50505
   freeswitch_well_known_ip = IP_Adresse_des_FreeSwitch_Services
   freeswitch_default_timeout = 5000
   freeswitch_subscribe_retry = 120&lt;/pre&gt;

&lt;p&gt;
Starten Sie jetzt den OpenSIM-Server. Ab diesem Moment ist Voice in OpenSIM grundsätzlich möglich. Um aber Voice nutzen zu können muß in den Estate-Einstellungen und den Region-Einstellungen auch Voice aktiviert werden. Ausserdem müssen die Avatare einen 3D-Viewer ab Version 1.22 oder später benutzen.
&lt;/p&gt;

&lt;p&gt;
Sollte es dennoch nicht funktionieren haben Sie möglicherweise eine zu alte OpenSIM-Server Version. Voice wird derzeit nur in sehr aktuellen Trunk-Versionen unterstützt.
&lt;/p&gt;

&lt;p&gt;
Natürlich auch an die Firewall denken um die von FreeSwitch benötigten Ports zu öffnen:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit13&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; Port(s)     &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Protokoll &lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot;&gt; Bezeichnung                                                                         &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1719        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; H.323 Gatekeeper RAS-Port                                                           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1720        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; H.323 Call Signalling                                                               &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 3478        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; STUN Service, für NAT traversal                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 3479        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; STUN Service, für NAT traversal                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5002        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; TCP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; MLP Protocol Server                                                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5003        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; Neighborhood Service                                                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5060        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (Standard SIP-Port, für default intern Profil)      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5070        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (für default „NAT“ Profil)                          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5080        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP &amp;amp; TCP &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; SIP UAS, für SIP Signalisierung (für default „External“ Profil)                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 16384-32768 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; UDP       &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; RTP/RTCP Multimedia Streaming, für Audio/Video Daten in SIP und anderen Protokollen &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;14188-15450&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;5. OpenSIM-Konfiguration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-konfiguration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;12567-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:48 +0000</pubDate>
        </item>
        <item>
            <title>opensim.ini</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/opensim.ini?do=revisions&amp;rev=1575021529</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensimini&quot;&gt;opensim.ini&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Datei opensim.ini ist die zentrale Konfigurationsdatei von OpenSIM. In dieser Datei können mit einem normalen &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt;-Texteditor alle wichtigen Einstellungen vorgenommen werden. Zum editieren dieser Datei darf aber keinesfalls ein Programm wie „Wordpad“ oder „MS-Word“ verwendet werden, da diese Programme Steuerzeichen und Formatierungen einfügen, die aber in einer Konfigurationsdatei nichts verloren haben. Unter dem Betriebssytem Windows können Sie den Text-Editor „Notepad“ oder einen besseren verwenden. Linux-User verwenden zum Beispiel „gedit“ oder besseres.
&lt;/p&gt;

&lt;p&gt;
Nach Änderungen in der Konfigurationsdatei muss der OpenSIM-Server neu gestartet werden, da die Konfigurationsdatei nur 1x beim starten des Servers eingelesen wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;opensim.ini&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensimini&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-765&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;konfigurations-eintraege&quot;&gt;Konfigurations-Einträge&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine detaillierte Liste aller möglichen Konfigurationseinträge in der opensim.ini gibt es auf der &lt;a href=&quot;http://opensimulator.org/wiki/OpenSim.ini&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/OpenSim.ini&quot; rel=&quot;ugc nofollow noopener&quot;&gt;englischen Webseite&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Konfigurations-Eintr\u00e4ge&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;konfigurations-eintraege&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;766-969&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;empfohlene_konfigurations-werte_fuer_standalone-modus_mit_mysql_datenbank&quot;&gt;Empfohlene Konfigurations-Werte (für Standalone-Modus mit mySQL Datenbank)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;    ; ## OPENSIM SETUP FOR STANDALONE MODE
    ; ## used for Sim 1 at OpenSIM
    ; ## created by Mike, S-NetworkX

[Startup]
    ; Set this to true if you want to log crashes to disk
    ; this can be useful when submitting bug reports.
    save_crashes = false

    ; Directory to save crashes to if above is enabled
    ; (eg default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
    crash_dir = &amp;quot;crashes&amp;quot;

    ; Http proxy support for llHTTPRequest and dynamic texture loading
    ; Set HttpProxy to the URL for your proxy server if you would like
    ; to proxy llHTTPRequests through a firewall
    ; HttpProxy = &amp;quot;&amp;quot;
    ; Set HttpProxyExceptions to a list of regular expressions for 
    ; URLs that you don&amp;#039;t want going through the proxy such as servers
    ; inside your firewall, separate patterns with a &amp;#039;;&amp;#039;
    ; HttpProxyExceptions = &amp;quot;.mydomain.com;localhost&amp;quot;

    ; Set this to true if you are connecting your OpenSimulator regions to a grid
    ; Set this to false if you are running OpenSimulator in standalone mode
    gridmode = false

    startup_console_commands_file = &amp;quot;startup_commands.txt&amp;quot;
    shutdown_console_commands_file = &amp;quot;shutdown_commands.txt&amp;quot;

    ; To run a script every few minutes, set the script filename here
    ; timer_Script = &amp;quot;filename&amp;quot;

    ; ##
    ; ## CLIENTS
    ; ##

    ; Enables EventQueueGet Service.
    EventQueue = true

    ; Set this to the DLL containig the client stack to use.
    clientstack_plugin=&amp;quot;OpenSim.Region.ClientStack.LindenUDP.dll&amp;quot;

    ; ##
    ; ## REGIONS
    ; ##

    ; Determine where OpenSimulator looks for the files which tell it which regions to server
    ; Defaults to &amp;quot;filesystem&amp;quot; if this setting isn&amp;#039;t present
    region_info_source = &amp;quot;filesystem&amp;quot;
    ; region_info_source = &amp;quot;web&amp;quot;

    ; Determines where the region XML files are stored if you are loading these from the filesystem.
    ; Defaults to bin/Regions in your OpenSimulator installation directory
    ; regionload_regionsdir=&amp;quot;C:\somewhere\xmlfiles\&amp;quot;

    ; Determines the page from which regions xml is retrieved if you are loading these from the web
    ; The XML here has the same format as it does on the filesystem (including the &amp;lt;Root&amp;gt; tag),
    ; except that everything is also enclosed in a &amp;lt;Regions&amp;gt; tag.
    ; regionload_webserver_url = &amp;quot;http://example.com/regions.xml&amp;quot;;

    ; Draw objects on maptile.   This step might take a long time if you&amp;#039;ve got a huge amount of
    ; objects, so you can turn it off here if you&amp;#039;d like.
    DrawPrimOnMapTile = true
    ; Use terrain texture for maptiles if true, use shaded green if false
    TextureOnMapTile = true

    ; Maximum total size, and maximum size where a prim can be physical
    NonPhysicalPrimMax = 256
    PhysicalPrimMax = 10
    ClampPrimSize = false

    ; Region crossing
    AllowScriptCrossing = false
    ; If you set this to &amp;quot;true&amp;quot;, any region that can teleport to you can
    ; inject ARBITRARY BINARY CODE into your system. Use at your own risk.
    ; YOU HAVE BEEN WARNED!!!
    TrustBinaries = false

    ; ##
    ; ## STORAGE
    ; ##

    ; *** Prim Storage - only leave one storage_plugin uncommented ***
    ; --- Null stores nothing - effectively disabling persistence:
    ; storage_plugin = &amp;quot;OpenSim.Data.Null.dll&amp;quot;

    ; --- To use sqlite as region storage:
    ; storage_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    ; storage_connection_string=&amp;quot;URI=file:OpenSim.db,version=3&amp;quot;;

    ; --- To use MySQL storage, supply your own connectionstring (this is only an example):
    ;     note that the supplied account needs create privilegies if you want it to auto-create needed tables.
    storage_plugin=&amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    storage_connection_string=&amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;;
    ; If you want to use a different database/server for estate data, then
    ; uncomment and change this connect string. Defaults to the above if not set
    ; estate_connection_string=&amp;quot;Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;&amp;quot;;

    ; Select whether you want to use local or grid asset storage.
    ;
    ; If you&amp;#039;re running in standalone, you definitely want local, since there is no grid (hence this is redundant, and should
    ; really be eliminated).  The database itself is defined in asset_plugin below
    ;
    ; If you&amp;#039;re running a region server connecting to a grid, you probably want grid mode, since this will use the
    ; grid asset server.  If you select local in grid mode, then you will use a database as specified in asset_plugin to store assets
    ; locally.  This will mean you won&amp;#039;t be able to take items using your assets to other people&amp;#039;s regions.
    
    ; asset_database can be default, local or grid.  This controls where assets (textures, scripts, etc.) are stored for your region
    ; 
    ; If set to default, then
    ;   In standalone mode the local database based asset service will be used
    ;   In grid mode the grid asset service will be used for asset storage
    ;   This is probably the setting that you want.
    ;
    ; If set to local then the local database based asset service will be used in standalone and grid modes
    ; If set to grid then the grid based asset service will be used in standalone and grid modes
    ; All other values will cause a search for a matching assembly that contains an asset server client.
    ; See also: AssetCache
    asset_database = &amp;quot;default&amp;quot;   

    ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
    ; prevent frequently changing objects from heavily loading the region data store.
    ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
    ; 
    ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
    MinimumTimeBeforePersistenceConsidered = 60
    ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
    MaximumTimeBeforePersistenceConsidered = 600

    ; Should avatars in neighbor sims see objects in this sim?
    see_into_this_sim_from_neighbor = True

    ; ##
    ; ## PHYSICS
    ; ##

    ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true.
    physical_prim = true

    ; Select a mesher here. ZeroMesher is save and fast.
    ; ZeroMesher also means that the physics engine models the physics of prims
    ; sticking to the basic shapes the engine does support. Usually this is only a box.
    ; Meshmerizer gives a better handling of complex prims by using triangle meshes.
    ; Note, that only ODE physics currently deals with meshed prims in a satisfactoring way
    ;
    ;meshing = ZeroMesher
    meshing = Meshmerizer

    ; Choose one of the physics engines below
    ; physics = basicphysics
    ; physics = POS
    physics = OpenDynamicsEngine
    ; physics = modified_BulletX

    ; ##
    ; ## PERMISSIONS
    ; ##

    ;permissionmodules = &amp;quot;DefaultPermissionsModule&amp;quot;

    ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy
    ; any item, etc.  This may not yet be implemented uniformally.
    ; If set to true, then all permissions checks are carried out
    ; Default is false
    serverside_object_permissions = true

    allow_grid_gods = false

    ; This allows somne control over permissions
    ; please note that this still doesn&amp;#039;t duplicate SL, and is not intended to
    ;region_owner_is_god = true
    ;parcel_owner_is_god = true

    ; Control user types that are allowed to create new scripts
    ; Only enforced if serviceside_object_permissions is true
    ;   
    ; Current possible values are 
    ;     all - anyone can create scripts (subject to normal permissions)
    ;     gods - only administrators can create scripts (as long as allow_grid_gods is true)
    ; Default value is all 
    ; allowed_script_creators = all

    ; Control user types that are allowed to edit (save) scripts
    ; Only enforced if serviceside_object_permissions is true
    ;   
    ; Current possible values are 
    ;     all - anyone can edit scripts (subject to normal permissions)
    ;     gods - only administrators can edit scripts (as long as allow_grid_gods is true)
    ; Default value is all 
    ; allowed_script_editors = all

    ; ##
    ; ## SCRIPT ENGINE
    ; ##

    ;DefaultScriptEngine = &amp;quot;ScriptEngine.DotNetEngine&amp;quot;
    DefaultScriptEngine = &amp;quot;XEngine&amp;quot;

    ; ##
    ; ## WORLD MAP
    ; ##

    WorldMapModule = &amp;quot;HGWorldMap&amp;quot;
    MapImageModule = &amp;quot;MapImageModule&amp;quot;

    ; ##
    ; ## Customized Cache Implementation
    ; ##
    ;
    ; The AssetCache value allows the name of an alternative caching
    ; implementation to be specified. This can normally be omitted.
    ; This value corresponds to the provider value associated with the
    ; intended cache implementation plugin.
    ; See also: asset_database

    AssetCache = &amp;quot;OpenSim.Framework.Communications.Cache.AssetCache&amp;quot;

    ; ##
    ; ## EMAIL MODULE
    ; ##

    ;emailmodule = DefaultEmailModule

[SMTP]
    enabled=false

    ;internal_object_host=lsl.opensim.local
    host_domain_header_from=
    SMTP_SERVER_HOSTNAME=
    SMTP_SERVER_PORT=25
    SMTP_SERVER_LOGIN=
    SMTP_SERVER_PASSWORD=

[Communications]

;InterregionComms = &amp;quot;LocalComms&amp;quot;
InterregionComms = &amp;quot;RESTComms&amp;quot;

[StandAlone]
    accounts_authenticate = true
    welcome_message = &amp;quot;Willkommen bei OpenSIM !&amp;quot;

    ; Asset database provider
    ; asset_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    asset_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot; ; for mysql
    ; asset_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; the Asset DB source.  This only works for sqlite, mysql, and nhibernate for now
    ; Asset Source SQLite example
    ; asset_source = &amp;quot;URI=file:Asset.db,version=3&amp;quot;
    ; Asset Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; asset_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:Asset.db,version=3&amp;quot;
    ; Asset Source MySQL example
    asset_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; Inventory database provider
    ; inventory_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    inventory_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    ; inventory_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; Inventory Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; inventory_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3&amp;quot;
    ; Inventory Source MySQL example
    inventory_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; User Data Database provider
    ;
    ; Multiple providers can be specified by separating them with commas (whitespace is unimportant)
    ; If multiple providers are specified then if a profile is requested, each is queried until one
    ; provides a valid profile, or until all providers have been queried.
    ; Unfortunately the order of querying is currently undefined (it may not be the order in which
    ; providers are specified here).  This needs to be fixed
    ;
    ; userDatabase_plugin = &amp;quot;OpenSim.Data.SQLite.dll&amp;quot;
    userDatabase_plugin = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;
    ; userDatabase_plugin = &amp;quot;OpenSim.Data.NHibernate.dll&amp;quot; ; for nhibernate

    ; User Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
    ; user_source = &amp;quot;SQLiteDialect;SqliteClientDriver;URI=file:User.db,version=3&amp;quot;
    ; User Source MySQL example
    user_source = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;&amp;quot;

    ; Specifies the location and filename of the default inventory library control file.  The path can be relative or absolute
    ; Default is ./inventory/Libraries.xml
    ;LibrariesXMLFile=&amp;quot;./inventory/Libraries.xml&amp;quot;
    
    ; Specifies the location and filename of the inventory library assets control file.  The path can be relative or absolute
    ; Setting is optional. Default is ./assets/AssetSets.xml
    ;AssetSetsXMLFile=&amp;quot;./assets/AssetSets.xml&amp;quot;

    dump_assets_to_file = false

[Network]
    http_listener_port = 9000
    remoting_listener_port = 8895
    default_location_x = 1000
    default_location_y = 1000

    ; ssl config: Experimental!  The auto https config only really works definately on windows XP now
    ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below
    ; you can use https on other platforms, but you&amp;#039;ll need to configure the httpapi yourself for now
    http_listener_ssl = false ; Also create a SSL server
    http_listener_cn = &amp;quot;localhost&amp;quot; ; Use the cert with the common name
    http_listener_sslport = 9001 ; Use this port for SSL connections
    http_listener_ssl_cert = &amp;quot;&amp;quot; ; Currently unused, but will be used for OSHttpServer

    ; Uncomment below to enable llRemoteData/remote channels
    ; remoteDataPort = 20800

    grid_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;
    grid_send_key = &amp;quot;null&amp;quot;
    grid_recv_key = &amp;quot;null&amp;quot;

    user_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;
    user_send_key = &amp;quot;null&amp;quot;
    user_recv_key = &amp;quot;null&amp;quot;

    asset_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

    inventory_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

    ; The MessagingServer is a companion of the UserServer. It uses
    ; user_send_key and user_recv_key, too
    messaging_server_url = &amp;quot;http://opensim.yourdomain.com:9000&amp;quot;

[ClientStack.LindenUDP]
    ; This is the multiplier applied to all client throttles for outgoing UDP network data
    ; If it is set to 1, then we obey the throttle settings as given to us by the client.  If it is set to 3, for example, then we 
    ; multiply that setting by 3 (e.g. if the client gives us a setting of 250 kilobits per second then we
    ; will actually push down data at a maximum rate of 750 kilobits per second).
    ; 
    ; In principle, setting a multiplier greater than 1 will allow data to be pushed down to a client much faster
    ; than its UI allows the setting to go.  This may be okay in some situations, such as standalone OpenSim
    ; applications on a LAN.  However, the greater the multipler, the higher the risk of packet drop, resulting
    ; in symptoms such as missing terrain or objects.  A much better solution is to change the client UI to allow
    ; higher network bandwidth settings directly, though this isn&amp;#039;t always possible.
    ;
    ; Currently this setting is 2 by default because we currently send much more texture data than is strictly
    ; necessary.  A setting of 1 could result in slow texture transfer.  This will be fixed when the transfer
    ; of textures at different levels of quality is improved.
    ; 
    ; Pre r7113, this setting was not exposed but was effectively 8.  You may want to try this if you encounter
    ; unexpected difficulties
    client_throttle_multiplier = 2;

[Chat]
    ; Controls whether the chat module is enabled.  Default is true.
    enabled = true;

    ; Distance in meters that whispers should travel.  Default is 10m
    whisper_distance = 10

    ; Distance in meters that ordinary chat should travel.  Default is 30m
    say_distance = 30

    ; Distance in meters that shouts should travel.  Default is 100m
    shout_distance = 100

[Messaging]
    ; Control which region module is used for instant messaging.
    ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting)
    InstantMessageModule = InstantMessageModule

[ODEPhysicsSettings]
    ;##
    ;## World Settings
    ;##

    ;Gravity.  Feel like falling up?  change world_gravityz to 9.8 instead of -9.8.  m/s
    world_gravityx = 0
    world_gravityy = 0
    world_gravityz = -9.8

    ; World Step size. (warning these are dangerous.  Changing these will probably cause your scene to explode dramatically)
    ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000;
    world_stepsize = 0.020
    world_internal_steps_without_collisions = 10

    ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
    world_hashspace_size_low = -4
    world_hashSpace_size_high = 128

    ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim
    meters_in_small_space = 29.9
    small_hashspace_size_low = -4
    small_hashspace_size_high = 66

    ; ##
    ; ## Contact properties. (the stuff that happens when things come in contact with each other)
    ; ##

    ; surface layer around geometries other geometries can sink into before generating a contact
    world_contact_surface_layer = 0.001

    ; Filtering Collisions helps keep things stable physics wise, but sometimes 
    ; it can be over zealous.  If you notice bouncing, chances are it&amp;#039;s being just
    ; that
    filter_collisions = false

    ; Non Moving Terrain Contact (avatar isn&amp;#039;t moving)
    nm_terraincontact_friction = 255.0
    nm_terraincontact_bounce = 0.1
    nm_terraincontact_erp = 0.1025

    ; Moving Terrain Contact (avatar is moving)
    m_terraincontact_friction = 75.0
    m_terraincontact_bounce = 0.05
    m_terrainContact_erp = 0.05025

    ; Moving Avatar to object Contact
    m_avatarobjectcontact_friction = 75.0
    m_avatarobjectcontact_bounce = 0.1

    ; Object to Object Contact and Non-Moving Avatar to object
    objectcontact_friction = 250.0
    objectcontact_bounce = 0.2

    ; ##
    ; ## Avatar Control
    ; ##

    ; PID Controller Settings. These affect the math that causes the avatar to reach the
    ; desired velocity
    ; See http://en.wikipedia.org/wiki/PID_controller

    av_pid_derivative_linux = 2200.0
    av_pid_proportional_linux = 900.0;

    av_pid_derivative_win = 2200.0
    av_pid_proportional_win = 900.0;

    ;girth of the avatar.  Adds radius to the height also
    av_capsule_radius = 0.37

    ; Max force permissible to use to keep the avatar standing up straight
    av_capsule_standup_tensor_win = 550000
    av_capsule_standup_tensor_linux = 550000

    ; used to calculate mass of avatar.
    ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH);
    ; av_density * AVvolume;

    av_density = 80

    ; use this value to cut 52% of the height the sim gives us
    av_height_fudge_factor = 0.52

    ; Movement.  Smaller is faster.

    ; speed of movement with Always Run off
    av_movement_divisor_walk = 1.3

    ; speed of movement with Always Run on
    av_movement_divisor_run = 0.8

    ; ##
    ; ## Object options
    ; ##

    ; used in the mass calculation.
    geometry_default_density = 10.000006836

    ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
    body_frames_auto_disable = 20

    ; used to control llMove2Target
    body_pid_derivative = 35
    body_pid_gain = 25

    ; amount of time a geom/body will try to cross a region border before it gets disabled
    geom_crossing_faiures_before_outofbounds = 5

    ; start throttling the object updates if object comes in contact with 3 or more other objects
    geom_contactpoints_start_throttling = 3

    ; send 1 update for every x updates below when throttled
    geom_updates_before_throttled_update = 15

    ; Used for llSetStatus.  How rigid the object rotation is held on the axis specified
    body_motor_joint_maxforce_tensor_linux = 5
    body_motor_joint_maxforce_tensor_win = 5

    ; ##
    ; ## Sculpted Prim settings
    ; ##

    ; Do we want to mesh sculpted prim to collide like they look?
    mesh_sculpted_prim = true

    ; number^2 non-physical level of detail of the sculpt texture.  32x32 - 1024 verticies
    mesh_lod = 32

    ; number^2 physical level of detail of the sculpt texture.  16x16 - 256 verticies
    mesh_physical_lod = 16

    ; ##
    ; ## Physics logging settings - logfiles are saved to *.DIF files
    ; ##

    ;physics_logging = true
    ;; every n simulation iterations, the physics snapshot file is updated
    ;physics_logging_interval = 50
    ;; append to existing physics logfile, or overwrite existing logfiles?
    ;physics_logging_append_existing_logfile = true

    ; ##
    ; ## Joint support
    ; ##

    ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics)
    use_NINJA_physics_joints = true

[RemoteAdmin]
    enabled = false
    access_password = unknown

    ; the create_region XmlRpc call uses region_file_template to generate
    ; the file name of newly create regions (if they are created
    ; persistent). the parameter available are:
    ;     {0} - X location
    ;     {1} - Y location
    ;     {2} - region UUID
    ;     {3} - region port
    ;     {4} - region name with &amp;quot; &amp;quot;, &amp;quot;:&amp;quot;, &amp;quot;/&amp;quot; mapped to  &amp;quot;_&amp;quot;

    region_file_template = &amp;quot;{0}x{1}-{2}.xml&amp;quot;

    ; we can limit the number of regions that XmlRpcCreateRegion will
    ;allow by setting this to a positive, non-0 number: as long as the
    ;number of regions is below region_limits, XmlRpcCreateRegion will
    ;succeed. setting region_limit to 0 disables the check.
    ;region_limit = 0

    enabled_methods = all
    ; enable only those methods you deem to be appropriate using a | delimited whitelist
    ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml    
    ; if this parameter is not specified but enabled = true, all methods will be available
   
[RestPlugins]
    ; Change this to true to enable REST Plugins. This must be true if you wish to use
    ; REST Region or REST Asset and Inventory Plugins
    enabled = false
    god_key = password
    prefix = /admin

[RestRegionPlugin]
    ; Change this to true to enable the REST Region Plugin
    enabled = false

[RestHandler]
  ; Change this to true to enable the REST Asset and Inventory Plugin
  enabled = false
  authenticate=true
  secured=true
  extended-escape=true
  realm=OpenSim REST
  dump-asset=false
  path-fill=true
  dump-line-size=32
  flush-on-error=true

; Uncomment the following for IRC bridge
; experimental, so if it breaks... keep both parts... yada yada
; also, not good error detection when it fails
;[IRC]
    ;enabled = true ; you need to set this otherwise it won&amp;#039;t connect
    ;server  = name.of.irc.server.on.the.net
    ;; user password - only use this if the server requires one
    ;password = mypass
    ;nick    = OpenSimBotNameProbablyMakeThisShorter
    ;channel = #the_irc_channel_you_want_to_connect_to
    ;port = 6667
    ;; channel to listen for configuration commands
    ;commands_enabled = false
    ;command_channel = 2777
    ;report_clients = true
    ;; relay private chat connections
    ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels
    ;; relay_private_channel_out -- channel to send messages out to the IRC bridge
    ;; relay_private_channel_in -- channel to receive message from the IRC bridge
    ;; relay_chat = false: IRC bridge will not relay normal chat
    ;; access_password -- simple security device
    ;;
    ;; so, to just relay chat from an IRC channel to in-world region and vice versa:
    ;;
    ;;     relay_private_channels = false
    ;;     relay_chat = true
    ;;
    ;; to relay chat only to/from private in-world channels:
    ;;
    ;;     relay_chat = false
    ;;     relay_private_channels = true
    ;;     relay_private_channel_in = 2226
    ;;     relay_private_channel_out = 2225
    ;;
    ;; in this example, all chat coming in from IRC will be send out via
    ;; in-world channel 2226, and all chat from in-world channel 2225 will
    ;; be relayed to the IRC channel.
    ;;
    ;relay_private_channels = false
    ;relay_private_channel_in = 2226
    ;relay_private_channel_out = 2225
    ;relay_chat = true
    ;access_password = foobar

    ;fallback_region = name of &amp;quot;default&amp;quot; region
    ;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message
    ; must start with &amp;quot;PRIVMSG {0} : &amp;quot; or irc server will get upset
    ;for &amp;lt;bot&amp;gt;:&amp;lt;user in region&amp;gt; :&amp;lt;message&amp;gt;
    ;msgformat = &amp;quot;PRIVMSG {0} :&amp;lt;{1} in {2}&amp;gt;: {3}&amp;quot;
    ;for &amp;lt;bot&amp;gt;:&amp;lt;message&amp;gt; - &amp;lt;user of region&amp;gt; :
    msgformat = &amp;quot;PRIVMSG {0} : {3} - {1} of {2}&amp;quot;
    ;for &amp;lt;bot&amp;gt;:&amp;lt;message&amp;gt; - from &amp;lt;user&amp;gt; :
    ;msgformat = &amp;quot;PRIVMSG {0} : {3} - from {1}&amp;quot;

;[CMS]
    ;enabled = true
    ;channel = 345

[Voice]
    ; PLEASE NOTE that we don&amp;#039;t have voice support in OpenSim quite yet - these configuration options are stubs
    enabled = false
    ; This is not supported by the SLViewer right now and
    ; hardcoded within the SL Viewer. Maybe it will be
    ; changed in future. :-)
    account_management_server = https://www.bhr.vivox.com/api2
    ; Global SIP Server for conference calls
    sip_domain = testserver.com

[AsteriskVoice]
    ; PLEASE NOTE that we don&amp;#039;t have voice support in OpenSim quite yet - these configuration options are stubs
    enabled = false
    ; SIP account server domain
    sip_domain = testserver.com
    ; SIP conf server domain
    conf_domain = testserver.com
    ; URL of the asterisk opensim frontend
    asterisk_frontend = http://testserver.com:49153/
    ; password for the asterisk frontend XmlRpc calls
    asterisk_password = bah-humbug
    ; timeout for XmlRpc calls to asterisk front end (in ms)
    asterisk_timeout = 3000
    ; salt for asterisk nonces
    asterisk_salt = paluempalum

; Uncomment the following to control the progression of daytime
; in the Sim.  The defaults are what is shown below
[Sun]
    ; number of wall clock hours for an opensim day.  24.0 would mean realtime
    ;day_length = 24
    ; Year length in days
    ;year_length = 365
    ; Day to Night Ratio
    ;day_night_offset = 1
    ; send a Sun update every update_interval # of frames.  A lower number will
    ; make for smoother sun transition at the cost of network
    ;update_interval = 100

[ScriptEngine.DotNetEngine]
    Enabled = false

    ScriptDelayFactor = 1.0
    ScriptDistanceLimitFactor = 1.0

    ; These settings are specific to DotNetEngine script engine
    ; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file.
    ;

    ; When a script receives an event the event is queued.
    ; Any free thread will start executing this event. One script can only have one event executed simultaneously.
    ; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time.
    ; Same if you have 10 threads, then only 10 scripts can be run simultaneously.
    ; But because most scripts exit after their task, the threads are free to go on to the next script.

    ; Refresh ScriptEngine config options (these settings) every xx seconds
    ; 0 = Do not refresh
    ; Set it to number of seconds between refresh, for example 30.
    ; Will allow you to change ScriptEngine settings while server is running just by using &amp;quot;CONFIG SET&amp;quot; on console
    ; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10
    ; NOTE! Disabled for now. Feature does not work.
    RefreshConfig=0

    ; Number of threads to use for script event execution
    ; Threads are shared across all regions
    NumberOfScriptThreads=2

    ; Script event execution thread priority inside application.
    ; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest
    ScriptThreadPriority=BelowNormal

    ; How long MAX should a script event be allowed to run (per event execution)?
    ; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function
    ; There is also a small speed penalty for every kill that is made
    MaxEventExecutionTimeMs=5000

    ; Should we enable the max script event execution thread to look for scripts that exceed their timeslice?
    EnforceMaxEventExecutionTime=true

    ; Should we stop the script completely when time exceeds?
    ; This is useful if you have a high &amp;lt;MaxEventExecutionTimeMs&amp;gt; and want to deactivate scripts that go wrong
    ; Note that for example physics engine can slow down the system and make scripts spend more time
    DeactivateScriptOnTimeout=false

    ; If no scripts have executed in this pass how long should we sleep before checking again
    ; Impact:
    ; Too low and you will waste lots of CPU
    ; Too high and people touching object or similar will have to wait up to this amount of time before script responding
    SleepTimeIfNoScriptExecutionMs=50

    ; AppDomains are used for two things:
    ; * Security: Scripts inside AppDomains are limited in permissions.
    ; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded.
    ; AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims).
    ; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead.
    ScriptsPerAppDomain=1

    ; MaintenanceLoop
    ; How often to run maintenance loop
    ; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time
    MaintenanceLoopms=50

    ; How many maintenanceloops between each of these.
    ; (if 2 then function will be executed every MaintenanceLoopms*2 ms)
    ; Script loading/unloading

    ; How long load/unload thread should sleep if there is nothing to do
    ; Higher value makes it respond slower when scripts are added/removed from prims
    ; But once active it will process all in queue before sleeping again
    MaintenanceLoopTicks_ScriptLoadUnload=1

    ; Other tasks
    ; check if we need to reload config, adjust running config and enforce max execution time
    MaintenanceLoopTicks_Other=10

    ; Allow the use of os* functions (some are dangerous)
    ; Default is false
    AllowOSFunctions = true

    ; Threat level to allow if os functions are enabled
    ; One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    ; Default is VeryLow
    OSFunctionThreatLevel = VeryLow

    ; Maximum number of items in load/unload queue before we start rejecting loads
    ; Note that we will only be rejecting load. Unloads will still be able to queue.
    LoadUnloadMaxQueueSize=100

    ; Maximum number of (LSL) events that can be queued before new events are ignored.
    EventExecutionMaxQueueSize=300

    ; Async LL command sleep
    ; If no async LL commands are waiting, how long should thread sleep before checking again
    ; Async LL commands are LSL-commands that causes an event to be fired back with result
    AsyncLLCommandLoopms=50

    ; When script is converted from LSL to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder
    WriteScriptSourceToDebugFile=true

    ; Specify default script compiler
    ; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen
    ; Valid languages are: lsl, cs, js and vb
    DefaultCompileLanguage=lsl

    ; Specify what compilers are allowed to be used
    ; Note vb only works on Windows for now (Mono lacks VB compile support)
    ; Valid languages are: lsl, cs, js and vb
    ; AllowedCompilers=lsl,cs,js,vb.  *warning*, non lsl languages have access to static methods such as System.IO.File.  Enable at your own risk.
    AllowedCompilers=lsl

    ; Compile scripts with debugging
    ; Probably a thousand times slower, but gives you a line number when something goes wrong.
    CompileWithDebugInformation=true

    ; Remove old scripts on next startup
    CleanUpOldScriptsOnStartup=true

[LL-Functions]
    ; Set the following to true to allow administrator owned scripts to execute console commands
    AllowosConsoleCommand=false

    AllowGodFunctions = false

    ; Maximum number of llListen events we allow per script
    ; Set this to 0 to have no limit imposed.
    max_listens_per_script = 64

[DataSnapshot]
    ; The following set of configs pertains to search.
    ; Set index_sims to true to enable search engines to index your searchable data
    ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs
    index_sims = true
    ; The variable data_exposure controls what the regions expose:
    ;    minimum: exposes only things explicitly marked for search
    ;    all: exposes everything
    data_exposure = minimum
    ; If search is on, change this to your grid name; will be ignored for standalones
    gridname = &amp;quot;M34-Sim1&amp;quot;
    ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
    ; Later, you may want to increase this to 3600 (1 hour) or more
    default_snapshot_period = 1200
    ; This will be created in bin, if it doesn&amp;#039;t exist already. It will hold the data snapshots.
    snapshot_cache_directory = &amp;quot;DataSnapshot&amp;quot;
    ; This semicolon-separated string serves to notify specific data services about the existence 
    ; of this sim. Uncomment if you want to index your data with this and/or other search providers.
    ;data_services=&amp;quot;http://metaverseink.com/cgi-bin/register.py&amp;quot;

[Economy]
    ; These economy values get used in the BetaGridLikeMoneyModule.  - This module is for demonstration only -
    ; In grid mode, use this currency XMLRPC server.  Leave blank for normal functionality
    CurrencyServer = &amp;quot;&amp;quot;
    ; &amp;quot;http://192.168.1.127/currency.php&amp;quot;

    ; In grid mode, this is the land XMLRPC server. Leave blank for normal functionality
    LandServer = &amp;quot;&amp;quot;
    ;&amp;quot;http://192.168.1.127/landtool.php&amp;quot;

    ; 45000 is the highest value that the sim could possibly report because of protocol constraints
    ObjectCapacity = 45000

    ; Money Unit fee to upload textures, animations etc
    PriceUpload = 0

    ; Money Unit fee to create groups
    PriceGroupCreate = 0

    ; This is the account Money goes to for fees.  Remember, economy requires that money circulates somewhere... even if it&amp;#039;s an upload fee
    EconomyBaseAccount = 00000000-0000-0000-0000-000000000000

    ; This is the type of user that will pay fees.
    ; Set this to 2 for users, estate managers and Estate Owners
    ; Set this to 1 for Users and Estate Managers
    ; Set this to 0 for Users only.
    ; -1 disables
    UserLevelPaysFees = -1

    ; Amount to give to user as a stipend
    UserStipend = 1000

    ; When a user gets low on money units and logs off, then logs back on, issue a new stipend if they have less money units then this
    ; amount. Be aware that the account money isn&amp;#039;t stored anywhere so users will get a stipend if you restart the simulator
    IssueStipendWhenClientIsBelowAmount = 10

    ; If this is true, the simulator will remember account balances until the simulator is shutdown or restarted.
    KeepMoneyAcrossLogins = true

    ; We don&amp;#039;t really know what the rest of these values do.  These get sent to the client
    ; These taken from Agni at a Public Telehub.  Change at your own risk.
    ObjectCount = 0
    PriceEnergyUnit = 100
    PriceObjectClaim = 10
    PricePublicObjectDecay = 4
    PricePublicObjectDelete = 4
    PriceParcelClaim = 1
    PriceParcelClaimFactor = 1

    PriceRentLight = 5
    TeleportMinPrice = 2
    TeleportPriceExponent = 2
    EnergyEfficiency = 1
    PriceObjectRent = 1
    PriceObjectScaleFactor = 10
    PriceParcelRent = 1

[SVN]
    Enabled = false
    Directory = SVNmodule\repo
    URL = &amp;quot;svn://your.repo.here/&amp;quot;
    Username = &amp;quot;user&amp;quot;
    Password = &amp;quot;password&amp;quot;
    ImportOnStartup = false
    Autosave = false
    AutoSavePeriod = 15 ; Number of minutes between autosave backups

[XEngine]
    ; Enable this engine in this OpenSim instance
    Enabled = true
    ; How many threads to keep alive even if nothing is happening
    MinThreads = 2
    ; How many threads to start at maximum load
    MaxThreads = 1000
    ; Time a thread must be idle (in seconds) before it dies
    IdleTimeout = 60
    ; Thread priority (&amp;quot;Lowest&amp;quot;, &amp;quot;BelowNormal&amp;quot;, &amp;quot;Normal&amp;quot;, &amp;quot;AboveNormal&amp;quot;, &amp;quot;Highest&amp;quot;)
    Priority = &amp;quot;Normal&amp;quot;
    ; Maximum number of events to queue for a script (excluding timers)
    MaxScriptEventQueue = 300
    ; Stack size per thread created
    ThreadStackSize = 262144
    ; Rate to poll for asynchronous command replies (ms)
    AsyncLLCommandLoopms = 50
    ; Save the source of all compiled scripts
    WriteScriptSourceToDebugFile = true
    ; Default language for scripts
    DefaultCompileLanguage = lsl
    ; List of allowed languages (lsl,vb,js,cs)
    ; AllowedCompilers=lsl,cs,js,vb.  
    ; *warning*, non lsl languages have access to static methods such as System.IO.File.  Enable at your own risk.
    AllowedCompilers=lsl
    ; Compile debug info (line numbers) into the script assemblies
    CompileWithDebugInformation = true
    ; Allow the use of os* functions (some are dangerous)
    AllowOSFunctions = true
    ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
    OSFunctionThreatLevel = Moderate
    ; Interval (s) between background save of script states
    SaveInterval = 120
    ; Interval (s) between maintenance runs (0 = disable)
    MaintenanceInterval = 10
    ; Time a script can spend in an event handler before it is interrupted
    EventLimit = 30
    ; If a script overruns it&amp;#039;s event limit, kill the script?
    KillTimedOutScripts = false
    ; Sets the multiplier for the scripting delays
    ScriptDelayFactor = 1.0
    ; The factor the 10 m distances llimits are multiplied by
    ScriptDistanceLimitFactor = 1.0

    ; OS Functions enable/disable
    ; For each function, you can add one line, as shown
    ; The default for all functions allows them if below threat level

    ; true allows the use of the function unconditionally
    ; Allow_osSetRegionWaterHeight = true

    ; false disables the function completely
    ; Allow_osSetRegionWaterHeight = false

    ; Comma separated list of UUIDS allows the function for that list of UUIDS
    ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb

    ; Allow for llCreateLink and llBreakLink to work without asking for permission 
    ; only enable this in a trusted environment otherwise you may be subject to hijacking
    ; AutomaticLinkPermission = false

[GridInfo]
    ; These settings are used to return information on a get_grid_info call.
    ; Client launcher scripts and third-party clients make use of this to
    ; autoconfigure the client and to provide a nice user experience. If you
    ; want to facilitate that, you should configure the settings here according
    ; to your grid or standalone setup.
    ;
    ; See http://opensimulator.org/wiki/GridInfo

    ; login uri: for grid this is the user server URI
    login = http://127.0.0.1:9000/

    ; long grid name: the long name of your grid
    gridname = &amp;quot;Free and open world of OpenSIM&amp;quot;

    ; short grid name: the short name of your grid
    gridnick = &amp;quot;OpenSIM-Grid&amp;quot;

    ; login page: optional: if it exists it will be used to tell the client to use
    ; this as splash page
    welcome = http://127.0.0.1/welcome

    ; helper uri: optional: if it exists if will be used to tell the client to use
    ; this for all economy related things
    economy = http://127.0.0.1:9000/

    ; web page of grid: optional: page providing further information about your grid
    about = http://127.0.0.1/about/

    ; account creation: optional: page providing further information about obtaining
    ; a user account on your grid
    register = http://127.0.0.1/register

    ; help: optional: page providing further assistance for users of your grid
    help = http://127.0.0.1/help

    ; password help: optional: page providing password assistance for users of your grid
    password = http://127.0.0.1/password

    ;These are the settings for the Open Grid Protocol..  the Agent Domain, Region Domain,   you know..

[OpenGridProtocol]
    ;On/true or Off/false
    ogp_enabled=false

    ;Name Prefix/suffix when using OGP
    ogp_firstname_prefix=&amp;quot;&amp;quot;
    ogp_lastname_suffix=&amp;quot;_EXTERNAL&amp;quot;

[Concierge]
    ; Enable concierge module
    ; Default is false
    enabled = false

    ; name of the concierge
    whoami = &amp;quot;Concierge&amp;quot;

    ; password for updating the welcome message templates via XmlRpc
    password = password

    ; regex specifying for which regions concierge service is desired; if
    ; empty, then for all
    regions = &amp;quot;^MeetingSpace-&amp;quot;

    ; for each region that matches the regions regexp you can provide
    ; (optionally) a welcome template using format substitution:
    ; {0} is replaced with the name of the avatar entering the region
    ; {1} is replaced with the name of the region
    ; {2} is replaced with the name of the concierge (whoami variable above)

    welcomes = /path/to/welcome/template/directory

    ; Concierge can send attendee lists to an event broker whenever an
    ; avatar enters or leaves a concierged region. the URL is subject
    ; to format substitution:
    ; {0} is replaced with the region&amp;#039;s name
    ; {1} is replaced with the region&amp;#039;s UUID
    broker = &amp;quot;http://broker.place.com/{1}&amp;quot;

[Trees]

    ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying
    active_trees = false

    ; Density of tree population
    tree_density = 1000.0

[RegionReady]
    ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled
    enabled = false

    ; Channel on which to signal region readiness through a message
    ; formatted as follows: &amp;quot;{0|1},n,[oar error]&amp;quot;
    ; - the first number indicating whether the OAR file loaded ok (1 == ok, 0 == error)
    ; - the second number indicates how many scrips failed to compile
    ; - &amp;quot;oar error&amp;quot; if supplied, provides the error message from the OAR load
    channel_notify = -800

[WebStats]
	enabled = false

[MRM]
	Enabled = false ; Enables the Mini Region Modules Script Engine. WARNING: SECURITY RISK.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Empfohlene Konfigurations-Werte (f\u00fcr Standalone-Modus mit mySQL Datenbank)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;empfohlene_konfigurations-werte_fuer_standalone-modus_mit_mysql_datenbank&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;970-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:49 +0000</pubDate>
        </item>
        <item>
            <title>Besucherzähler mit E-Mail Benachrichtigung</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/besucherzaehler_email?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;besucherzaehler_mit_e-mail_benachrichtigung&quot;&gt;Besucherzähler mit E-Mail Benachrichtigung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Damit dieses Script funktionieren kann muss zuerst in der OpenSIM-Konfigurationsdatei opensim.ini die E-Mail Funktion im Abschnitt SMTP eingeschaltet und konfiguriert werden. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Besucherzähler mit E-Mail Benachrichtung
// von Blub Blinker, www.swiss-sl.ch

float range = 100; // sucht im Radius von 100 Metern nach Besuchern
float rate = 10.0; // Zeitabstand in der erneut gesucht wird, 1,0 = 1 Sekunde

// E-Mail Adresse auf die eigene anpassen
string email_address = &amp;quot;adresse@domain.xyz&amp;quot;;

// Name der zu kontrollierenden Region
// Die versandte E-Mail beinhaltet die Koordinaten
string location_name = &amp;quot;OpenSIM-Region&amp;quot;;

list single_name_list;
list visitor_list;

integer isNameOnList( string name )
{
list single_name_list;
single_name_list += name;

return (-1 != llListFindList( visitor_list, single_name_list ) );
}

sendEmail()
{
string csv = llList2CSV( visitor_list );
llEmail( email_address, &amp;quot;Visitor List: &amp;quot; + location_name, csv );
}

resetList()
{
single_name_list = llDeleteSubList(single_name_list, 0, llGetListLength(single_name_list));
llSay( 0, &amp;quot;Reset abgeschlossen&amp;quot;);
}

// Hilfe Befehle
sayHelp( integer is_owner )
{
if( is_owner )
{
llSay( 0, &amp;quot;Dieses Objekt speichert die Namen von jedem Avatars der&amp;quot; );
llSay( 0, &amp;quot;in den Bereich von &amp;quot;+ (string)((integer)range) + &amp;quot; Metern kommt.&amp;quot; );
llSay( 0, &amp;quot;Kommandos die der Besitzer sagen kann:&amp;quot; );
llSay( 0, &amp;quot;&amp;#039;help&amp;#039; - Zeigt diese Anleitung&amp;quot; );
llSay( 0, &amp;quot;&amp;#039;say list&amp;#039; - Zeigt die Namen aller Avatare auf der Liste&amp;quot;);
llSay( 0, &amp;quot;&amp;#039;reset list&amp;#039; - Loescht die Namen auf der Liste&amp;quot; );
llSay( 0, &amp;quot;&amp;#039; email list&amp;#039; - Sendet die Namen auf der Liste als E-Mail&amp;quot; );
}
else
{
llSay( 0, &amp;quot;Sorry, nur der Besitzer kann editieren.&amp;quot; );
}
}

// Script-Start
default
{
state_entry()
{
llSay(0, &amp;quot;Besucherzaehler wurde gestartet.&amp;quot;);
llSay(0, &amp;quot;Der Besitzer kann mit &amp;#039;help&amp;#039; eine Kurzanleitung anfordern.&amp;quot;);
llSensorRepeat( &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, AGENT, range, TWO_PI, rate );
llListen(0, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;);

// Wechsle hier das Zeitintervall in der die E-Mail Benachrichtigung zugesandt werden soll (Standard ist 60x60 Sekunden)
// = 3600 Sekunden = 1x pro Stunde
llSetTimerEvent( 60 * 60 );
}

// Sendet die E-Mail im oben angegebenem Zeitintervall
timer()
{
sendEmail();
resetList();

}

// Gibt den Hilfe-Befehl aus beim anklicken
touch_start( integer num_detected )
{
integer i;
for( i = 0; i &amp;lt; num_detected; i++ )
{
sayHelp( llDetectedKey(i) == llGetOwner() );
}
}

// Erfasst die Avatare mit Zeitstempel
sensor( integer number_detected )
{
integer i;
for( i = 0; i &amp;lt; number_detected; i++ )
{

// Den Eigentümer nicht mitzählen
if( llDetectedKey( i ) != llGetOwner() )
{
string detected_name = llDetectedName( i );
if( isNameOnList( detected_name ) == FALSE ) // Ja oder Nein, TRUE oder FALSE
{
float seconds = llGetWallclock();
float minutes = seconds / 60.0;
float hours = minutes / 60.0;
integer hours_int = (integer) hours;
integer minutes_int = ((integer)minutes) % 60;
if( minutes_int &amp;lt; 10 )
{
visitor_list += (string) hours_int + &amp;quot;:0&amp;quot; + (string) minutes_int;
}
else
{
visitor_list += (string) hours_int + &amp;quot;:&amp;quot; + (string) minutes_int;
}

visitor_list += detected_name;
}
}
}
}

// Besitzer-Befehle
listen( integer channel, string name, key id, string message )
{
if( id != llGetOwner() )
{
return;
}

if( message == &amp;quot;help&amp;quot; ) // Tippe im Chat /0 help und Du erhälst Hilfe zu den Befehlen
{
sayHelp( TRUE );
}
else
if( message == &amp;quot;say list&amp;quot; ) // Tippe im Chat /0 say list und Du erhälst eine Liste aller Avatare
{
llSay( 0, &amp;quot;Avatar-Liste:&amp;quot; );
integer len = llGetListLength( visitor_list );
integer i;
for( i = 0; i &amp;lt; len; i++ )
{
llSay( 0, llList2String(visitor_list, i) );
}
llSay( 0, &amp;quot;Gesamt = &amp;quot; + (string)len );
}
else
if( message == &amp;quot;email list&amp;quot; )
{
sendEmail();
llSay(0, &amp;quot;E-Mail wird versendet.&amp;quot;);

}

else
if( message == &amp;quot;reset list&amp;quot; ) // Tippe im Chat /0 reset list um die Liste zurückzusetzen
{
visitor_list = llDeleteSubList(visitor_list, 0, llGetListLength(visitor_list));
llSay( 0, &amp;quot;Reset erfolgreich.&amp;quot;);
}
}
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:38 +0000</pubDate>
        </item>
        <item>
            <title>Freeview Media Screen</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/freeview_media_screen?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;freeview_media_screen&quot;&gt;Freeview Media Screen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//XEngine:
//FreeView 1.2 WebGuide (revision 3) - By CrystalShard Foo
//Multifunctional Picture viewer and Video control script with webguide support
//This script is distributed for free and must stay that way. 

//              *** DO NOT SELL THIS SCRIPT UNDER ANY CIRCUMSTANCE. ***

//Help for using this script can be obtained at: http://www.slguide.com/help

//Feel free to modify this script and post your improvement. Leave the credits intact but feel free to add your name at its bottom.
 
//Whats new:
//- Now using FULL_BRIGHT instead of PRIM_MATERIAL_LIGHT for the screen display
//- Added an ownership-change code to handle cases where FreeView gets deeded to group post Video Init.
//- Renamed WebGuide to TV-Guide to reflect what this thing does better.
//- Added a &amp;#039;Fix Scale&amp;#039; button to Picture mode to help against user texture-scale changes.
//- Additional minor help-tips and code improvements

//Enjoy!


//Constants
integer PICTURE_ROTATION_TIMER = 60;   //In whole seconds

integer DISPLAY_ON_SIDE = ALL_SIDES; //Change this to change where the image will be displayed

key VIDEO_DEFAULT = &amp;quot;71b8ff26-087d-5f44-285b-d38df2e11a81&amp;quot;;  //Test pattern - Used as default video texture when one is missing in parcel media
key BLANK = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;; //Blank texture - Used when there are no textures to display in Picture mode
string NOTECARD = &amp;quot;bookmarks&amp;quot;;  //Used to host URL bookmarks for video streams

integer VIDEO_BRIGHT = TRUE;    //FULL_BRIGHT status for Video
integer PICTURE_BRIGHT = TRUE;  //FULL_BRIGHT status for Picture

integer REMOTE_CHANNEL = 9238742;

integer mode = 0;           //Freeview mode.
                            //Mode 0 - Power off
                            //Mode 1 - Picture viewer
                            //Mode 2 - Video

integer listenHandle = -1;      //Dialog menu listen handler
integer listenUrl = -1;         //listen handler for channel 1 for when a URL is being added
integer listenTimer = -1;       //Timer variable for removing all listeners after 2 minutes of listener inactivity
integer listenRemote = -1;      //listen handler for the remote during initial setup
integer encryption = 0;
integer numberofnotecardlines = 0;  //Stores the current number of detected notecard lines.
integer notecardline = 0;       //Current notecard line

integer loop_image = FALSE;     //Are we looping pictures with a timer? (picture mode)
integer current_texture = 0;    //Current texture number in inventory being displayed (picture mode)
integer chan;                   //llDialog listen channel
integer notecardcheck = 0;
key video_texture;              //Currently used video display texture for parcel media stream

string moviename;
string tempmoviename;
key notecardkey = NULL_KEY;
key tempuser;                   //Temp key storge variable
string tempurl;                 //Temp string storge variable

integer isGroup = TRUE;
key groupcheck = NULL_KEY;
key last_owner;
key XML_channel;

pictures()      //Change mode to Picture Viewer
{
    //Initilize variables
    
    //Change prim to Light material while coloring face 0 black to prevent light-lag generation.
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_NONE, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;1,1,1&amp;gt;, 1.0, PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, PICTURE_BRIGHT]);

    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
     
    if(check == 0)
    {
        report(&amp;quot;No pictures found.&amp;quot;);
        llSetTexture(BLANK,DISPLAY_ON_SIDE);
        return;
    }
    else    
        if(current_texture &amp;gt; check)
            //Set to first texture if available
            current_texture = 0;
            
    display_texture(current_texture);
}

video()         //Change mode to Video
{
    //Change prim to Light material while coloring face 0 black to prevent light-lag generation.
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_NONE, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;1,1,1&amp;gt;, 1.0, PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, VIDEO_BRIGHT, PRIM_TEXTURE, DISPLAY_ON_SIDE, &amp;quot;62dc73ca-265f-7ca0-0453-e2a6aa60bb6f&amp;quot;, llGetTextureScale(DISPLAY_ON_SIDE), llGetTextureOffset(DISPLAY_ON_SIDE), llGetTextureRot(DISPLAY_ON_SIDE)]);
    
    report(&amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: Stopped&amp;quot;);
    if(finditem(NOTECARD) != -1)
        tempuser = llGetNumberOfNotecardLines(NOTECARD);
    video_texture = llList2Key(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_TEXTURE]),0);
    if(video_texture == NULL_KEY)
    {
        video_texture = VIDEO_DEFAULT;
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_TEXTURE,VIDEO_DEFAULT]);
        llSay(0,&amp;quot;No parcel media texture found. Setting texture to default: &amp;quot;+(string)VIDEO_DEFAULT);
        if(llGetLandOwnerAt(llGetPos()) != llGetOwner())
            llSay(0,&amp;quot;Error: Cannot modify parcel media settings. &amp;quot;+llGetObjectName()+&amp;quot; is not owned by parcel owner.&amp;quot;);
    }
    
    llSetTexture(video_texture,DISPLAY_ON_SIDE);
}

off()
{
    report(&amp;quot;Click to power on.&amp;quot;);
    llSetPrimitiveParams([PRIM_BUMP_SHINY, DISPLAY_ON_SIDE, PRIM_SHINY_LOW, PRIM_BUMP_NONE, PRIM_COLOR, DISPLAY_ON_SIDE, &amp;lt;0.1,0.1,0.1&amp;gt;, 1.0,PRIM_MATERIAL, PRIM_MATERIAL_PLASTIC, PRIM_FULLBRIGHT, DISPLAY_ON_SIDE, FALSE, PRIM_TEXTURE, DISPLAY_ON_SIDE, BLANK, llGetTextureScale(DISPLAY_ON_SIDE), llGetTextureOffset(DISPLAY_ON_SIDE), llGetTextureRot(DISPLAY_ON_SIDE)]);
}

integer finditem(string name)   //Finds and returns an item&amp;#039;s inventory number
{
    integer i;
    for(i=0;i&amp;lt;llGetInventoryNumber(INVENTORY_NOTECARD);i++)
        if(llGetInventoryName(INVENTORY_NOTECARD,i) == NOTECARD)
            return i;
    return -1;
}

seturl(string url, key id)  //Set parcel media URL
{
    if(mode != 2)
    {
        video();
        mode = 2;
    }
    moviename = tempmoviename;
    if(moviename)
        moviename = &amp;quot; [&amp;quot;+moviename+&amp;quot;]&amp;quot;;
    tempmoviename = &amp;quot;&amp;quot;;
    string oldurl = llList2String(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL]),0);
    if(oldurl != &amp;quot;&amp;quot;)
        llOwnerSay(&amp;quot;Setting new media URL. The old URL was: &amp;quot;+oldurl);

    llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,url]);
    if(id!=NULL_KEY)
        menu(id);
    else
    {
        report(&amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: Playing&amp;quot;);
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
    }
       
    if(isGroup)
        llSay(0,&amp;quot;New media URL set.&amp;quot;);
    else
        llOwnerSay(&amp;quot;New media URL set: &amp;quot;+url);
}

string mediatype(string ext)    //Returns a string stating the filetype of a file based on file extension
{
    ext = llToLower(ext);
    if(ext == &amp;quot;swf&amp;quot;)
        return &amp;quot;Flash&amp;quot;;
    if(ext == &amp;quot;mov&amp;quot; || ext == &amp;quot;avi&amp;quot; || ext == &amp;quot;mpg&amp;quot; || ext == &amp;quot;mpeg&amp;quot; || ext == &amp;quot;smil&amp;quot;)
        return &amp;quot;Video&amp;quot;;
    if(ext == &amp;quot;jpg&amp;quot; || ext == &amp;quot;mpeg&amp;quot; || ext == &amp;quot;gif&amp;quot; || ext == &amp;quot;png&amp;quot; || ext == &amp;quot;pict&amp;quot; || ext == &amp;quot;tga&amp;quot; || ext == &amp;quot;tiff&amp;quot; || ext == &amp;quot;sgi&amp;quot; || ext == &amp;quot;bmp&amp;quot;)
        return &amp;quot;Image&amp;quot;;
    if(ext == &amp;quot;txt&amp;quot;)
        return &amp;quot;Text&amp;quot;;
    if(ext == &amp;quot;mp3&amp;quot; || ext == &amp;quot;wav&amp;quot;)
        return &amp;quot;Audio&amp;quot;;
    return &amp;quot;Unknown&amp;quot;;
}

browse(key id)      //Image browser function for picture viewer mode
{
    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
    string header;
    if(check &amp;gt; 0)
        header = &amp;quot;(&amp;quot;+(string)(current_texture+1)+&amp;quot;/&amp;quot;+(string)check+&amp;quot;) &amp;quot;+llGetInventoryName(INVENTORY_TEXTURE,current_texture);
    else
        header = &amp;quot;No pictures found.&amp;quot;;
    llDialog(id,&amp;quot;** Monitor Control **\n Picture Viewer mode\n- Image browser\n- &amp;quot;+header,[&amp;quot;Back&amp;quot;,&amp;quot;Next&amp;quot;,&amp;quot;Menu&amp;quot;],chan);
    extendtimer();
}

report(string str)
{
    llSetObjectDesc(str);
}

extendtimer()       //Add another 2 minute to the Listen Removal timer (use when a Listen event is triggered)
{
    if(listenHandle == -1)
        listenHandle = llListen(chan,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
    listenTimer = (integer)llGetTime() + 120;
    if(loop_image == FALSE)
        llSetTimerEvent(45);
}

config(key id)      //Configuration menu
{
    extendtimer();
    llDialog(id,&amp;quot;Current media URL:\n&amp;quot;+llList2String(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL]),0)+&amp;quot;\nTip: If the picture is abit off, try &amp;#039;Align ON&amp;#039;&amp;quot;,[&amp;quot;Set URL&amp;quot;,&amp;quot;Align ON&amp;quot;,&amp;quot;Align OFF&amp;quot;,&amp;quot;Menu&amp;quot;,&amp;quot;Set Remote&amp;quot;],chan);
}

tell_remote(string str)
{
    llShout(REMOTE_CHANNEL,llXorBase64Strings(llStringToBase64((string)encryption + str), llStringToBase64((string)encryption)));
}

menu(key id)        //Dialog menus for all 3 modes
{
    list buttons = [];
    string title = &amp;quot;** Monitor control **&amp;quot;;
    
    extendtimer();

    if(mode != 0)
    {
        if(mode == 1)       //Pictures menu
        {
            title+=&amp;quot;\n  Picture Viewer mode&amp;quot;;
            buttons+=[&amp;quot;Browse&amp;quot;];
            if(loop_image == FALSE)
                buttons+=[&amp;quot;Loop&amp;quot;];
            else
                buttons+=[&amp;quot;Unloop&amp;quot;];
            buttons+=[&amp;quot;Video&amp;quot;,&amp;quot;Power off&amp;quot;,&amp;quot;Help&amp;quot;,&amp;quot;Fix scale&amp;quot;];
        }
        else                //Video menu
        {
            title+=&amp;quot;\n Video display mode\n&amp;quot;+moviename+&amp;quot;\nTip:\nClick &amp;#039;TV Guide&amp;#039; to view the Online bookmarks.&amp;quot;;
            buttons+=[&amp;quot;Pictures&amp;quot;,&amp;quot;Configure&amp;quot;,&amp;quot;Power off&amp;quot;,&amp;quot;Loop&amp;quot;,&amp;quot;Unload&amp;quot;,&amp;quot;Help&amp;quot;,&amp;quot;Play&amp;quot;,&amp;quot;Stop&amp;quot;,&amp;quot;Pause&amp;quot;,&amp;quot;TV Guide&amp;quot;,&amp;quot;Bookmarks&amp;quot;,&amp;quot;Set URL&amp;quot;];
        }
    }
    else
        buttons += [&amp;quot;Pictures&amp;quot;,&amp;quot;Video&amp;quot;,&amp;quot;Help&amp;quot;];
    
    llDialog(id,title,buttons,chan);
}

display_texture(integer check)  //Display texture and set name in description (picture mode)
{                               //&amp;quot;Check&amp;quot; holds the number of textures in contents. The function uses &amp;quot;current_texture&amp;quot; to display.
    string name = llGetInventoryName(INVENTORY_TEXTURE,current_texture);
    llSetTexture(name,DISPLAY_ON_SIDE);
    report(&amp;quot;Showing picture: &amp;quot;+name+&amp;quot; (&amp;quot;+(string)(current_texture+1)+&amp;quot;/&amp;quot;+(string)check+&amp;quot;)&amp;quot;);
}
    

next()  //Change to next texture (picture mode)
{       //This function is used twice - by the menu and timer. Therefor, it is a dedicated function.
    current_texture++;
    integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
    if(check == 0)
    {
        llSetTexture(BLANK,DISPLAY_ON_SIDE);
        current_texture = 0;
        report(&amp;quot;No pictures found.&amp;quot;);
        return;
    }
    if(check == current_texture)
        current_texture = 0;
    
    display_texture(check);
    return;
}

default
{
    state_entry()
    {
        chan = (integer)llFrand(1000) + 1000;   //Pick a random listen channel for the listener
        if(PICTURE_ROTATION_TIMER &amp;lt;= 0)         //Ensure the value is no less or equal 0
            PICTURE_ROTATION_TIMER = 1;
        llListenRemove(listenHandle);
        listenHandle = -1;
        last_owner = llGetOwner();
        groupcheck = llRequestAgentData(llGetOwner(),DATA_NAME);
        off();
        llOpenRemoteDataChannel();
    }
    
    on_rez(integer i)
    {
        llResetScript();
    }

    touch_start(integer total_number)
    {
        //-------------------------------------------------------------------------------
        //Listen only to owner or group member. Edit this code to change access controls.
        if(llDetectedKey(0) != llGetOwner() &amp;amp;&amp;amp; llDetectedGroup(0) == FALSE)
            return;
        //-------------------------------------------------------------------------------

        if(llGetOwnerKey(llGetKey()) != last_owner)  //Sense if object has been deeded to group for Web Guide function
        {
            isGroup = TRUE;
            last_owner = llGetOwner();
            groupcheck = llRequestAgentData(llGetOwner(),DATA_NAME);
            
            if(mode == 2)
            {
                llSay(0,&amp;quot;Detected change in ownership. Attempting to obtain current parcel media texture...&amp;quot;);
                video();
            }
        }

        menu(llDetectedKey(0));
    }
    
    changed(integer change)
    {
        if(change == CHANGED_INVENTORY) //If inventory change
            if(mode == 1)   //If picture mode
            {
                integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
                if(check != 0)
                {
                    current_texture = 0;
                    display_texture(check);
                }
                else
                {
                    llSetTexture(BLANK,DISPLAY_ON_SIDE);
                    report(&amp;quot;No pictures found.&amp;quot;);
                }
            }
            else
                if(mode == 2)   //If video mode
                    if(finditem(NOTECARD) != -1)    //And bookmarks notecard present
                        if(notecardkey != llGetInventoryKey(NOTECARD))
                            tempuser = llGetNumberOfNotecardLines(NOTECARD);    //Reload number of lines
    }
    
    listen(integer channel, string name, key id, string message)
    {
        if(message == &amp;quot;Pictures&amp;quot;)
        {
            if(mode == 2)
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
            pictures();
            mode = 1;
            menu(id);
            return;
        }
        if(message == &amp;quot;Video&amp;quot;)
        {
            video();
            mode = 2;
            menu(id);
            return;
        }
        if(message == &amp;quot;Power off&amp;quot;)
        {
            if(mode == 2)
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_UNLOAD]);
            off();
            mode = 0;
            return;
        }
        if(message == &amp;quot;Help&amp;quot;)
        {
            llSay(0,&amp;quot;Help documentation is available at: http://www.slguide.com/help&amp;quot;);
            if(isGroup)
            {
                if(id == NULL_KEY)
                {
                    llSay(0,&amp;quot;FreeView cannot load help pages while set to group without the remote.&amp;quot;);
                    llSay(0,&amp;quot;For further assistance, please consult: http://slguide.com/help&amp;quot;);
                }
                else
                    tell_remote(&amp;quot;HELP&amp;quot;+(string)id+(string)XML_channel);
            }
            else
                llLoadURL(id,&amp;quot;Help pages for FreeView&amp;quot;,&amp;quot;http://www.slguide.com?c=&amp;quot;+(string)XML_channel+&amp;quot;&amp;amp;help=1&amp;quot;);
        }
        if(mode == 1)
        {
            if(message == &amp;quot;Browse&amp;quot;)
            {
                loop_image = FALSE;
                browse(id);
                return;
            }
            if(message == &amp;quot;Next&amp;quot;)
            {
                extendtimer();
                next();
                browse(id);
            }
            if(message == &amp;quot;Back&amp;quot;)
            {
                extendtimer();
                current_texture--;
                integer check = llGetInventoryNumber(INVENTORY_TEXTURE);
                if(check == 0)
                {
                    llSetTexture(BLANK,DISPLAY_ON_SIDE);
                    current_texture = 0;
                    report(&amp;quot;No pictures found.&amp;quot;);
                    return;
                }
                if(current_texture &amp;lt; 0)
                    current_texture = check - 1;
                
                display_texture(check);
                
                browse(id);
                return;
            }
            if(message == &amp;quot;Menu&amp;quot;)
            {
                menu(id);
                return;
            }
            if(message == &amp;quot;Loop&amp;quot;)
            {
                llSetTimerEvent(PICTURE_ROTATION_TIMER);
                loop_image = TRUE;
                llOwnerSay(&amp;quot;Picture will change every &amp;quot;+(string)PICTURE_ROTATION_TIMER+&amp;quot; seconds.&amp;quot;);
                return;
            }
            if(message == &amp;quot;Unloop&amp;quot;)
            {
                loop_image = FALSE;
                llOwnerSay(&amp;quot;Picture loop disabled.&amp;quot;);
                return;
            }
            if(message == &amp;quot;Fix scale&amp;quot;)
            {
                llSay(0,&amp;quot;Setting display texture to 1,1 repeats and 0,0 offset.&amp;quot;);
                llScaleTexture(1, 1, DISPLAY_ON_SIDE);
                llOffsetTexture(0, 0, DISPLAY_ON_SIDE);
                return;
            }
        }
        if(mode == 2)
        {
            if(channel == REMOTE_CHANNEL)
            {
                if(encryption == 0)
                    encryption = (integer)message;
                llListenRemove(listenRemote);
                listenRemote = -1;
                llSay(0,&amp;quot;Remote configured (&amp;quot;+(string)id+&amp;quot;)&amp;quot;);
            }
                
            if(message == &amp;quot;TV Guide&amp;quot;)
            {
                if(isGroup)
                {
                    if(!encryption)
                    {
                        llSay(0,&amp;quot;** Error - This FreeView object has been deeded to group. You must use a Remote control to open the TV Guide.&amp;quot;);
                        llSay(0,&amp;quot;You can set up the remote control from the Video -&amp;gt; Configuration menu. Please refer to the notecard for further assistance.&amp;quot;);
                        return;
                    }
                    tell_remote((string)id+(string)XML_channel+(string)llGetOwner());
                }
                else
                    llLoadURL(id, &amp;quot;Come to the Guide to Start Your Viewer Playing!&amp;quot;, &amp;quot;http://slguide.com/index.php?v=&amp;quot; + (string)llGetKey() + &amp;quot;&amp;amp;c=&amp;quot; + (string)XML_channel + &amp;quot;&amp;amp;o=&amp;quot; + (string)llGetOwner() + &amp;quot;&amp;amp;&amp;quot;);
                return;
            }

            string header = &amp;quot;Video mode&amp;quot;+moviename+&amp;quot;: &amp;quot;;
            
            if(message == &amp;quot;&amp;lt;&amp;lt; Prev&amp;quot;)
            {
                notecardline--;
                if(notecardline &amp;lt; 0)
                    notecardline = numberofnotecardlines - 1;
                tempuser = id;
                llGetNotecardLine(NOTECARD,notecardline);
                return;
            }
            if(message == &amp;quot;Next &amp;gt;&amp;gt;&amp;quot;)
            {
                notecardline++;
                if(notecardline &amp;gt;= numberofnotecardlines)
                    notecardline = 0;
                tempuser = id;
                llGetNotecardLine(NOTECARD,notecardline);
                return;
            }
            if(message == &amp;quot;Use&amp;quot;)
            {
                if(tempurl == &amp;quot;** No URL specified! **&amp;quot;)
                    tempurl = &amp;quot;&amp;quot;;
                seturl(tempurl,id);
                return;
            }
                    
            if(message == &amp;quot;Menu&amp;quot;)
            {
                menu(id);
                return;
            }
            if(message == &amp;quot;Configure&amp;quot;)
            {
                config(id);
                return;
            }
            if(message == &amp;quot;Bookmarks&amp;quot;)
            {
                if(notecardcheck != -1)
                {
                    llDialog(id,&amp;quot;Error: No valid bookmark data found in notecard &amp;#039;&amp;quot;+NOTECARD+&amp;quot;&amp;#039;.&amp;quot;,[&amp;quot;Menu&amp;quot;],chan);
                    return;
                }
                if(finditem(NOTECARD) != -1)                
                {
                    tempuser = id;
                    if(numberofnotecardlines &amp;lt; notecardline)
                        notecardline = 0;
                    llGetNotecardLine(NOTECARD,notecardline);
                }
                else
                    llDialog(id,&amp;quot;Error: No notecard named &amp;quot;+NOTECARD+&amp;quot; found in contents.&amp;quot;,[&amp;quot;Menu&amp;quot;],chan);
                return;
            }
            
            if(llGetLandOwnerAt(llGetPos()) != llGetOwner())    //If we do not have permissions to actually do the following functions
            {
                llSay(0,&amp;quot;Error: Cannot modify parcel media settings. &amp;quot;+llGetObjectName()+&amp;quot; is not owned by parcel owner.&amp;quot;);
                menu(id);
                return; //Abort
            }
            
            if(listenUrl != -1 &amp;amp;&amp;amp; channel == 1) //Incoming data from &amp;quot;Set URL&amp;quot; command (user spoke on channel 1)
            {
                llListenRemove(listenUrl);
                listenUrl = -1;
                tempmoviename = &amp;quot;&amp;quot;;
                seturl(message,id);
            }
            if(message == &amp;quot;Play&amp;quot;)
            {
                report(header+&amp;quot;Playing&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
                return;
            }
            if(message == &amp;quot;Stop&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
                return;
            }
            if(message == &amp;quot;Pause&amp;quot;)
            {
                report(header+&amp;quot;Paused&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PAUSE]);
                return;
            }
            if(message == &amp;quot;Unload&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_UNLOAD]);
                return;
            }
            if(message == &amp;quot;Loop&amp;quot;)
            {
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_LOOP]);
                return;
            }
            //URL , Auto-Scale, 
            if(message == &amp;quot;Set URL&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                listenUrl = llListen(1,&amp;quot;&amp;quot;,id,&amp;quot;&amp;quot;);
                llDialog(id,&amp;quot;Please type the URL of your choice with /1 in thebegining. For example, /1 www.google.com&amp;quot;,[&amp;quot;Ok&amp;quot;],938);
                return;
            }
            if(message == &amp;quot;Align ON&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN,TRUE]);
                menu(id);
                return;
            }
            if(message == &amp;quot;Align OFF&amp;quot;)
            {
                report(header+&amp;quot;Stopped&amp;quot;);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN,FALSE]);
                menu(id);
                return;
            }
            if(message == &amp;quot;Set Remote&amp;quot;)
            {
                llSay(0,&amp;quot;Configuring remote...&amp;quot;);
                encryption = 0;
                llListenRemove(listenRemote);
                listenRemote = llListen(REMOTE_CHANNEL,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
                llSay(REMOTE_CHANNEL,&amp;quot;SETUP&amp;quot;);
            }
        }
    }
    
    dataserver(key queryid, string data)
    {
        if(queryid == groupcheck)       //Test if object is deeded to group
        {
            groupcheck = NULL_KEY;
            isGroup = FALSE;
            return;
        }
        
        if(queryid == tempuser) //If just checking number of notecard lines
        {
            numberofnotecardlines = (integer)data;
            notecardkey = llGetInventoryKey(NOTECARD);
            notecardcheck = 0;
            llGetNotecardLine(NOTECARD,notecardcheck);
            return;
        }
        if(notecardcheck != -1)
        {
            if(data != EOF)
            {
                if(data == &amp;quot;&amp;quot;)
                {
                    notecardcheck++;
                    llGetNotecardLine(NOTECARD,notecardcheck);
                }
                else
                {
                    notecardcheck = -1;
                    return;
                }
            }
            else
                return;
        }

        if(data == &amp;quot;&amp;quot; &amp;amp;&amp;amp; notecardline &amp;lt; numberofnotecardlines)    //If user just pressed &amp;quot;enter&amp;quot; in bookmarks, skip
        {
            notecardline++;
            llGetNotecardLine(NOTECARD,notecardline);
            return;
        }
        
        if(data == EOF)
        {
            notecardline = 0;
            llGetNotecardLine(NOTECARD,notecardline);
            return;
        }
        list parsed = llParseString2List(data,[&amp;quot;|&amp;quot;,&amp;quot;| &amp;quot;,&amp;quot; |&amp;quot;,&amp;quot; | &amp;quot;],[]);    //Ensure no blank spaces before &amp;quot;http://&amp;quot;.
        string name = llList2String(parsed,0);
        tempurl = llList2String(parsed,1);
        if(tempurl == &amp;quot;&amp;quot;)
            tempurl = &amp;quot;** No URL specified! **&amp;quot;;
            
        tempmoviename = name;
                
        llDialog(tempuser,&amp;quot;Bookmarks notecard (&amp;quot;+(string)(notecardline+1)+&amp;quot;/&amp;quot;+(string)numberofnotecardlines+&amp;quot;)\n&amp;quot;+name+&amp;quot; (&amp;quot;+mediatype(llList2String(llParseString2List(tempurl,[&amp;quot;.&amp;quot;],[]),-1))+&amp;quot;)\n&amp;quot;+tempurl,[&amp;quot;&amp;lt;&amp;lt; Prev&amp;quot;,&amp;quot;Use&amp;quot;,&amp;quot;Next &amp;gt;&amp;gt;&amp;quot;,&amp;quot;Menu&amp;quot;],chan);
    }
    
    remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval)
    {
        if (type == REMOTE_DATA_CHANNEL)
        {
            XML_channel = channel;
        } 
        else if(type == REMOTE_DATA_REQUEST)
        {
            list media_info = llParseString2List(sval, [&amp;quot;|&amp;quot;], []);
            tempmoviename = llList2String(media_info,0);
            seturl(llList2String(media_info,1),NULL_KEY);
            llRemoteDataReply(channel, message_id, sval, 1);
        }
    }
    
    timer()
    {
        if(llGetTime() &amp;gt; listenTimer)       //If listener time expired...
        {
            llListenRemove(listenHandle);   //Remove listeneres.
            llListenRemove(listenUrl);
            llListenRemove(listenRemote);
            listenHandle = -1;
            listenUrl = -1;
            listenRemote = -1;
            listenTimer = -1;
            if(loop_image == FALSE || mode != 1) //If we&amp;#039;re not looping pictures or are in picture mode at all
                llSetTimerEvent(0.0);   //Remove timer
        }
        
        if(loop_image == TRUE &amp;amp;&amp;amp; mode == 1) //If we&amp;#039;re looping pictures and and we&amp;#039;re in picture mode...
            next(); //Next picture
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:40 +0000</pubDate>
        </item>
        <item>
            <title>Simple Radar</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/simple_radar?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;simple_radar&quot;&gt;Simple Radar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Sable Till - Radar/scannar script.
//You can get a copy of the license this script is under at http://www.gnu.org/copyleft/gpl.html
//Copyright (C) 2006 Sable Till

//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

string status=&amp;quot;none&amp;quot;;
list people;
integer maxScanDistance;
vector color = &amp;lt;0,1,1&amp;gt;;
integer maxPeople = 8;
integer scanType = AGENT;
integer scanFreq=1;

integer count(string name) {
integer i = llListFindList(people, [name]);
if(i ==-1){
people+=[name, 0];
return 0;
} else {
integer count = llList2Integer(people, i+1);
people=llListReplaceList(people, [count+scanFreq], i+1, i+1);
return count;
}
}

//calculate time strings with proper units that are sensibly rounded
string time(integer cnt) {
if(cnt&amp;gt;3600) {
return (string)(cnt/3600)+&amp;quot;hr &amp;quot; + (string)((cnt%3600)/60) +&amp;quot;min&amp;quot;;
}else {
if(cnt&amp;gt;60) {
return (string)(cnt/60)+&amp;quot;min&amp;quot;;
} else {
return (string)cnt+&amp;quot;s&amp;quot;;
}
}
}

//I&amp;#039;m pretty sure there&amp;#039;s a better way to do this but I&amp;#039;m trying to calculate the angle between
//North and the target so I can work out which direction it is in.
float getAngle(vector me, vector target) {
float hyp = llVecDist(me, target);
float yDiff = target.y-me.y;
float xDiff = target.x-me.x;
float angle = llSin(yDiff/hyp);
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG;
}
if(xDiff&amp;gt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return 90-angle*RAD_TO_DEG;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;gt;0) {
return angle*RAD_TO_DEG+270;
}
if(xDiff&amp;lt;0 &amp;amp;&amp;amp; yDiff&amp;lt;0) {
return angle*RAD_TO_DEG + 270;
}
return angle*RAD_TO_DEG;
}

default
{
state_entry()
{
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;,scanType, 96, PI, scanFreq);
llSetTimerEvent(6);
}

sensor(integer num_detected) {
people=[];
string result;
integer n=-1;
integer distance=0;
integer detDist;
string name;

vector pos = llGetPos();
//get the dist, name and direction of everyone we just scanned.
for(n=0;n&amp;lt;num_detected &amp;amp;&amp;amp; n&amp;lt;maxPeople;++n) {
vector detPos = llDetectedPos(n);
detDist = (integer)llVecDist(pos, detPos);
float angle = getAngle(llGetPos(), detPos);
name = llKey2Name(llDetectedKey(n));
if(detDist&amp;lt;96) {
people+=detDist;
people+=name;
people+=angle;
}
}
//sort the strided list
people = llListSort(people, 3, TRUE);
//construct settext
num_detected = llGetListLength(people)/3;
for(n=0;n&amp;lt;num_detected;++n) {
detDist=llList2Integer(people, n*3);
name = llList2String(people, n*3+1);
float dir = llList2Float(people, n*3+2);
if(detDist&amp;gt;20 &amp;amp;&amp;amp; distance&amp;lt;=20) {
result+=&amp;quot;&amp;lt;- Chat Range Limit -&amp;gt;\n&amp;quot;;
}
result+=name;
if(detDist&amp;lt;20) {
integer cnt = count(name);
result+=&amp;quot; [&amp;quot;+time(cnt)+&amp;quot;]&amp;quot;;
}
result+=&amp;quot; [&amp;quot;+(string)detDist+&amp;quot;m]&amp;quot;;

if(dir &amp;lt; 0 || dir &amp;gt; 360) {
llOwnerSay(&amp;quot;Error:&amp;quot;+(string)dir+&amp;quot;:&amp;quot;+name);
}
//determine which compass direction they are in.
if(dir &amp;lt;= 22.5) {
result+=&amp;quot; N\n&amp;quot;;
} else {
if(dir &amp;gt; 22.5 &amp;amp;&amp;amp; dir &amp;lt;= 67.5) {
result+=&amp;quot; NE\n&amp;quot;;
} else {
if(dir &amp;gt; 67.5 &amp;amp;&amp;amp; dir &amp;lt;= 112.5) {
result+=&amp;quot; E\n&amp;quot;;
} else {
if(dir &amp;gt; 112.5 &amp;amp;&amp;amp; dir &amp;lt;= 157.5) {
result+=&amp;quot; SE\n&amp;quot;;
} else {
if(dir &amp;gt; 157.5 &amp;amp;&amp;amp; dir &amp;lt;= 202.5) {
result+=&amp;quot; S\n&amp;quot;;
} else {
if(dir &amp;gt; 202.5 &amp;amp;&amp;amp; dir &amp;lt;= 247.5) {
result+=&amp;quot; SW\n&amp;quot;;
} else {
if(dir &amp;gt; 247.5 &amp;amp;&amp;amp; dir &amp;lt;= 292.5) {
result+=&amp;quot; W\n&amp;quot;;
} else {
if(dir &amp;gt; 292.5 &amp;amp;&amp;amp; dir &amp;lt;= 337.5) {
result+=&amp;quot; NW\n&amp;quot;;
} else {
if(dir &amp;gt; 337.5 &amp;amp;&amp;amp; dir &amp;lt; 360) {
result+=&amp;quot; N\n&amp;quot;;
}
}
}

}}}}}}

distance=detDist;
}


//If we detected more (or the same number of) people as maxPeople then shrink down the scan distance to just
//the distance to the furthest one. Otherwise increment it a bit in case there are people further out.
if(num_detected&amp;gt;=maxPeople) {
maxScanDistance=distance+10;
} else {
maxScanDistance+=10;
}

result+=&amp;quot;\nStatus:&amp;quot;+status;
//adjust max people based on the length of result
if(llStringLength(result)&amp;gt;254) {
maxPeople--;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Decrementing maxPeople to &amp;quot;+(string)maxPeople);
} else {
if(llStringLength(result)&amp;lt;200 &amp;amp;&amp;amp; num_detected&amp;gt;maxPeople) {
maxPeople++;
llOwnerSay(&amp;quot;Length is &amp;quot;+(string)llStringLength(result) +
&amp;quot; Incrementing maxPeople to &amp;quot;+(string)maxPeople);
}
}
llSetText(result, color, 1);
}

no_sensor() {
llSetText(&amp;quot;Status:&amp;quot;+status, color, 1);
maxScanDistance+=10;
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, maxScanDistance, PI, scanFreq);
}

//all we do here is check the sims fps and dilation and tone down our scanning if necessary.
timer() {
float fps = llGetRegionFPS();
float timeDilation = llGetRegionTimeDilation();

integer scanDistance;
if(fps&amp;lt;35 || timeDilation &amp;lt;0.9) {
if(maxScanDistance&amp;gt;30) {
scanDistance=30;
}
scanFreq=240;
status = &amp;quot;poor&amp;quot;;
llSetTimerEvent(240);
color=&amp;lt;1,0,0&amp;gt;;
} else
{
if(fps&amp;lt;40 || timeDilation&amp;lt;0.95) {
if(maxScanDistance&amp;gt;64) {
scanDistance=64;
} else {
scanDistance=maxScanDistance;
}
scanFreq=30;
status = &amp;quot;ok&amp;quot;;
llSetTimerEvent(120);
color=&amp;lt;1,1,0&amp;gt;;
} else
{
if(maxScanDistance&amp;gt;96) {
scanDistance=96;
} else {
scanDistance=maxScanDistance;
}
scanFreq=1;
llSetTimerEvent(60);
status = &amp;quot;good&amp;quot;;
color=&amp;lt;0,1,1&amp;gt;;
}}
llSensorRepeat(&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, scanType, scanDistance, PI, scanFreq);
}

}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Online Indicator</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/online_indicator?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;online_indicator&quot;&gt;Online Indicator&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;////////////////////////////////////////////////////////////////////////////////////////////////
//    Copyright (c) 2008 by Kristy Fanshaw                                                    //
////////////////////////////////////////////////////////////////////////////////////////////////
//   This program is free software: you can redistribute it and/or modify                     //
//    it under the terms of the GNU General Public License as published by                    //
//    the Free Software Foundation, either version 3 of the License, or                       //
//    (at your option) any later version.                                                     //
//                                                                                            //
//    Vendor System is distributed in the hope that it will be useful,                        //
//    but WITHOUT ANY WARRANTY; without even the implied warranty of                          //
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                           //
//    GNU General Public License for more details.                                            //
//                                                                                            //
//    To get a copy of the GNU General Public License, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.    //
////////////////////////////////////////////////////////////////////////////////////////////////
 
key user_key = &amp;quot;00000000-0000-0000-0000-000000000000&amp;quot;;       // must be agent UUID whose status it will indicate
integer time = 30;                                           // time within the message should be written.
string url = &amp;quot;http://world.secondlife.com/resident/&amp;quot;;
key blank = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;;
string name;
key toucher;
string status;
 
default
{
    state_entry()
    {
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1,0,0&amp;gt;, 1.0);
        llSetTexture(blank, ALL_SIDES);
        llRequestAgentData( user_key, DATA_NAME);   
    }
    dataserver(key queryid, string data)
    {
        name = data;
        llSetObjectName(name + &amp;quot;&amp;#039;s Online Detector&amp;quot;);
        state show;
    }
}
state show
{   
    state_entry()
    {
        llSetTimerEvent(10);
    } 
    timer()
    {
        llHTTPRequest( url + (string)user_key,[HTTP_METHOD,&amp;quot;GET&amp;quot;],&amp;quot;&amp;quot;);
        llRequestAgentData( user_key, DATA_ONLINE);   
    } 
    on_rez(integer start_param)
    {
        llSetText(&amp;quot;&amp;quot;, &amp;lt;1,0,0&amp;gt;, 1.0);
        llSetTexture(blank, ALL_SIDES);
    } 
    http_response(key request_id,integer status, list metadata, string body)
    { 
        if (llSubStringIndex(body, &amp;quot;blank.jpg&amp;quot;) == -1)
                {
                        integer start_UUID = llSubStringIndex(body,&amp;quot;&amp;lt;img alt=\&amp;quot;profile image\&amp;quot; src=\&amp;quot;http://secondlife.com/app/image/&amp;quot;) + llStringLength(&amp;quot;&amp;lt;img alt=\&amp;quot;profile image\&amp;quot; src=\&amp;quot;http://secondlife.com/app/image/&amp;quot;);
                        integer end_UUID = llSubStringIndex(body,&amp;quot;\&amp;quot; class=\&amp;quot;parcelimg\&amp;quot; /&amp;gt;&amp;quot;) - 3;
                        string profile_pic = llGetSubString(body, start_UUID, end_UUID);
                        llSetTexture((key)profile_pic, ALL_SIDES);
                }
        else
        {
            llSetTexture(blank, ALL_SIDES);
        }
    }
    dataserver(key queryid, string data)
    {
        if ( data == &amp;quot;1&amp;quot; ) 
        {
            status = &amp;quot; is online&amp;quot;;
 
            llSetText(name + status, &amp;lt;0,1,0&amp;gt;, 1.0);
        }
        else if (data == &amp;quot;0&amp;quot;)
        {
            status = &amp;quot; is offline&amp;quot;;
 
            llSetText(name + status, &amp;lt;1,0,0&amp;gt;, 1.0);
        }
 
    }
    touch_start(integer num_detected)
    {
        toucher = llDetectedKey(0);
        state msg;
    }
}
state msg
{
     state_entry()
    {
        llListen(0,&amp;quot;&amp;quot;,toucher,&amp;quot;&amp;quot;);
        llInstantMessage(toucher, &amp;quot;write your message to &amp;quot; + name +&amp;quot; - you have &amp;quot; +(string)time + &amp;quot; seconds&amp;quot;);
        llInstantMessage(toucher, &amp;quot;to see &amp;quot; + name +&amp;quot;&amp;#039;s profile, click this link here: secondlife:///app/agent/&amp;quot; + (string)user_key + &amp;quot;/about&amp;quot;);
        llSetTimerEvent(time);   
    }
    listen(integer ch, string name, key id, string msg)
    {
        llInstantMessage(user_key, llKey2Name(toucher) + &amp;quot; sent you a message from &amp;quot; + llGetRegionName() + &amp;quot;: &amp;quot; + msg);
        llInstantMessage(toucher, &amp;quot;message is sent.&amp;quot;);
        llListenRemove(0);
        state show;
    }
    timer()
    {
        llInstantMessage(toucher, &amp;quot;time is up - touch again to write a message&amp;quot;);
        llListenRemove(0); 
        state show;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>OpenSIM-Installation unter Linux</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/installation/linux?do=revisions&amp;rev=1575021527</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensim-installation_unter_linux&quot;&gt;OpenSIM-Installation unter Linux&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/poweredbylinux.jpg?id=archiv%3Aopensim%3Ainstallation%3Alinux&quot; class=&quot;media&quot; title=&quot;poweredbylinux.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/poweredbylinux.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;poweredbylinux.jpg&quot; alt=&quot;poweredbylinux.jpg&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/poweredbyubuntu.jpg?id=archiv%3Aopensim%3Ainstallation%3Alinux&quot; class=&quot;media&quot; title=&quot;poweredbyubuntu.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/poweredbyubuntu.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;poweredbyubuntu.jpg&quot; alt=&quot;poweredbyubuntu.jpg&quot; /&gt;&lt;/a&gt; Diese Anleitung beschreibt wie man einen OpenSIM-Server im Standalone-Modus auf einem eigenen PC unter dem Betriebssystem Linux installiert und sich dann auf dem eigenen OpenSIM-Server lokal mit dem normalen Second Life Viewer anmeldet. Um OpenSIM auf einem Linux-Betriebssystem zu installieren, müssen Sie sich zunächst (falls noch nicht geschehen) das aktuellste &lt;a href=&quot;http://www.go-mono.com/mono-downloads/download.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.go-mono.com/mono-downloads/download.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mono-Paket&lt;/a&gt; &lt;a href=&quot;http://opensimulator.org/wiki/Dependencies&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Dependencies&quot; rel=&quot;ugc nofollow noopener&quot;&gt;downloaden und installieren&lt;/a&gt;, denn der OpenSIM Server läuft unter Linux nur mit dem installierten Mono. Verlassen Sie sich dabei bitte keinesfalls auf das zu Ihrer Linux-Distribution angebotene Mono von der Standard-Quelle, denn dies könnte unter Umständen veraltet sein. Installieren Sie das aktuellste Mono stets direkt vom Anbieter über den oben angegebenen Link. Die beschriebene Anleitung wurde bei uns unter der Debian-basierten Linux-Distribution &lt;a href=&quot;http://www.ubuntu.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ubuntu.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ubuntu&lt;/a&gt; 8.04 installiert, sollte aber auch auf jeder anderen Linux-Distribution laufen.
&lt;/p&gt;

&lt;p&gt;
Um OpenSIM zu installieren benötigen Sie erweiterte Netzwerkkenntnisse, denn dies ist eine Server-Installation und bedarf daher ganz bestimmter Vorkenntnisse, die wir Ihnen aber nicht alle hier im einzelnen darstellen können, denn erstens sind nicht alle Computer und alle Netzwerke gleich konfiguriert, sondern es gibt auch verschiedene Internetzugangsarten, verschiedene Router, verschiedene Ports die eventuell schon vergeben worden sind und natürlich auch verschiedene Betriebssysteme. Wir gehen bei dieser OpenSIM-Installationsanleitung davon aus daß Sie diese Informationen und Kenntnisse bereits haben und entsprechend dieser Anleitung passend für Ihre persönliche OpenSIM-Installation umsetzen können.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM-Installation unter Linux&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-installation_unter_linux&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1867&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;hardware-vorraussetzungen&quot;&gt;Hardware-Vorraussetzungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Linux-PC auf dem OpenSIM später laufen soll muß mindestens eine CPU mit 1 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Taktfrequenz, Arbeitsspeicher von mindestens 512 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; RAM und eine schnelle Grafikkarte (z.B. NVidia GeForce 8800GTS) und eine schnelle Festplatte mit mindestens 20 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; freiem Speicher haben. Wird der PC nur als Server für andere PC eingesetzt und nicht gleichzeitig auch als Client so ist die eingesetzte Grafikkarte beim OpenSIM-Server egal. In der Regel gilt: je schneller der eingesetzte PC für OpenSIM ist, desto schneller, ruckelfreier und performanter läuft auch die Sim. Dies merkt man insbesondere wenn mehrere Avatare auf einer Sim gleichzeitig eingeloggt sind.
&lt;/p&gt;

&lt;p&gt;
Wenn der OpenSIM-Server nur in einem lokalen Netzwerk (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) eingesetzt wird sollte es von der Netzwerkgeschwindigkeit keine Probleme geben, vorrausgesetzt es ist ein 100 MBit Netzwerk installiert. Wesentlich problematischer ist die Internetgeschwindigkeit wenn man seinen OpenSIM-Server für andere Nutzer im Internet freigeben möchte, denn dann ist die maximale Anzahl der gleichzeitig eingeloggten Nutzer abhängig von der Upstream-Geschwindigkeit der Internetverbindung (die bei ADSL-Anschlüssen nur ein Bruchteil der Downstream-Geschwindigkeit ist.). Hier gilt natürlich auch: je schneller desto besser. Ein Upstream von 1 MBit ist für 5 gleichzeitig eingeloggte OpenSIM-Nutzer absolute Mindestgeschwindigkeit.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;installationsbeispiel_unter_linux_ubuntu_810&quot;&gt;Installationsbeispiel unter Linux Ubuntu 8.10&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get install subversion nant mono-gmcs libmono-microsoft8.0-cil libmono-system-runtime2.0-cil libgdiplus libmono-i18n2.0-cil libmono-oracle2.0-cil ruby
svn co http://opensimulator.org/svn/opensim/trunk opensim
cd opensim
./runprebuild.sh
nant&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardware-Vorraussetzungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardware-vorraussetzungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1868-3603&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;opensim_server_downloaden_und_installieren&quot;&gt;1. OpenSIM Server downloaden und installieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zunächst muß das aktuelle Binary-Paket von OpenSIM heruntergeladen werden. Bei Linux entpackt man das OpenSIM-Verzeichnis am besten in einen neuen Unterordner mit dem Namen „opensim“ auf der ersten Partition des ersten Laufwerks. Zusätzlich installiert man sich noch eine Version von SQLite3 aus den Standard-Paketquellen die zur Speicherung der Daten benötigt wird. Später besteht auch die Möglichkeit das ganze nach MySQL zu portieren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. OpenSIM Server downloaden und installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_downloaden_und_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3604-4105&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;opensim_server_lokalisieren&quot;&gt;2. OpenSIM Server lokalisieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Beim Erststart von OpenSIM muß man den Server zuerst konfigurieren. Gestartet wird OpenSIM mit dem folgendem Befehl im /bin Verzeichnis:
&lt;/p&gt;

&lt;p&gt;
mono OpenSim.exe
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. OpenSIM Server lokalisieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_lokalisieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4106-4304&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_server_konfigurieren&quot;&gt;3. OpenSIM Server konfigurieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nachdem der OpenSIM-Server das erste Mal gestartet wurde öffnet sich eine Konsole und es läuft sehr viel Text durchs Fenster. Man muß eine Zeitlang warten bis man aufgefordert wird die Erstkonfiguration durchzuführen. Bei der ersten Konfiguration werden einem bei jedem Schritt Werte die in eckigen Klammern stehen vorgeschlagen, die man für den ersten Test auch so übernehmen kann. Die Konfiguration kann man später jederzeit noch in der Konfigurationsdatei „opensim.ini“ mit einem normalen Texteditor ändern.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region&quot;&gt;3.1 Default Region&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT Region CONFIG: Region Name [OpenSim Test]:&lt;/strong&gt;
Die Default-Region ist der Name der eigenen Sim. Hier kann man einen gewünschten Sim-Namen eintragen. Der Name darf allerdings nur aus einem Wort bestehen, darf nicht zu lang sein und darf weder Umlaute noch Sonderzeichen enthalten.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region_config&quot;&gt;3.2 Default Region Config&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Grid Location &amp;lt;X Axis&amp;gt; [1000]:
DEFAULT REGION CONFIG: Grid Location &amp;lt;Y Axis&amp;gt; [1000]:&lt;/strong&gt;
Bei diesen beiden Werten handelt es sich um die geografische Startposition auf der Default Region. Dies ist die exakte Position an der sich jeder neu einloggende User mit seinem Avatar befindet. Die Standard-Startposition ist 1000 : 1000, also genau die Mitte der Default Region. Diesen Wert sollte man für das erste so übernehmen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_internal_ip_address&quot;&gt;3.3 Default Internal IP Address&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Internal IP Address for incoming UDP Client connections [0.0.0.0]:&lt;/strong&gt;
Diesen Wert nicht ändern und den Wert auf 0.0.0.0 lassen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_internal_ip_port&quot;&gt;3.4 Default Internal IP Port&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Internal IP Port for incoming UDP client connections [9000]:&lt;/strong&gt;
Jede Region hat einen eigenen Port, den man, wenn man OpenSIM nach aussen für andere erreichbar machen möchte, im DSL-Router für eingehenden Traffic (TCP und UDP) freigeben muß. Der OpenSIM-Server läuft standardmäßig auf dem Port 9000 (zum Vergleich: normale HTTP-Server laufen auf Port 80). Diesen Port sollte man normalerweise nicht verstellen und auf dem Wert 9000 lassen. Ausnahmen sind nur dann gegeben wenn man z.B. auf Port 9000 schon einen anderen Serverdienst laufen hat (z.B. Buffalo Netzwerkspeicher (NAS) verwenden auch Port 9000).
&lt;/p&gt;

&lt;p&gt;
Wenn man später zu der Default Region noch weitere Regionen anlegen möchte, muß man jeder hinzugekommenen Region einen weiteren, neuen Port-Wert geben, z.B. 9001, 9002 usw. und diese Werte auch wieder im DSL-Router freigeben.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region_config1&quot;&gt;3.5 Default Region Config&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: External Host Name [127.0.0.1]:&lt;/strong&gt;
Diesen Wert kann man für&amp;#039;s erste auf dem Standard-Wert 127.0.0.1 belassen. Damit kann man sich nur lokal vom eigenen OpenSIM-Server aus einloggen wenn auf diesem gleichzeitig auch der Viewer installiert ist. Möchte man von einem anderen PC aus im eigenen lokalen Netzwerk auf den OpenSIM-Server zugreifen gibt man hier die lokale IP-Adresse ein. Dies sollte eine feste IP-Adresse sein und keine dynamisch per DHCP vergebene IP-Adresse. Möchte man den OpenSIM-Server nach aussen für Benutzer im Internet freigeben muß hier entweder die feste WAN-IP-Adresse oder der feste Domainname eingegeben werden. Kostenlose Domainnamen bekommen Sie z.B. bei DYNDNS.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_avatar&quot;&gt;3.6 Default Avatar&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: First Name of Master Avatar [Test]:
DEFAULT REGION CONFIG: Last Name of Master Avatar [User]:
DEFAULT REGION CONFIG: Password for Master Avatar account [password]:&lt;/strong&gt;
Der erste Avatar (der „Master Avatar“) den man anlegt erhält grundsätzlich Administrationsrechte. Dieser Avatar kann in OpenSIM im Gegensatz zu den danach angelegten Avataren immer alles ändern, kopieren, löschen usw. Der Standard Master Avatar heisst „Test User“ und hat das Passwort „password“. Diese Werte sollte man nach seinen eigenen Vorstellungen ändern. Man sollte tunlichst vermeiden den Avatar-Namen aus Second Life zu übernehmen, denn der Second Life Viewer schreibt alle Einstellungen und Konfigurationen in einen Unterordner der den Second Life Namen entspricht. Wenn man sowohl in Second Life als auch in OpenSIM denselben Namen verwendet gibt es unerwünschte Effekte wie z.B. das nach einem Neustart des Viewers plötzlich das falsche Startbild zu sehen ist, oder die Konfiguration ständig manuell umgestellt werden muß, oder das Inventar nicht alle Objekte anzeigt oder der Cache durcheinanderkommt. Wenn man OpenSIM nicht nach aussen für andere freigeben möchte kann man die Standard-Werte aber auch übernehmen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. OpenSIM Server konfigurieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_konfigurieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4305-8785&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;opensim_server_starten_und_beenden&quot;&gt;4. OpenSIM Server starten und beenden&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nach der Erstkonfiguration läuft nochmals eine Menge Text durch die Konsole, bis abschliessend die Meldung „[OPENSIM MAIN]: Startup complete, serving 1 region(s)“ auftaucht. Falls unter Linux eine aktivierte Firewall zum Einsatz kommt muß man den OpenSIM-Server auf Port 9000 für ein- und ausgehenden Traffic auf TCP und UDP freigeben. Damit der OpenSIM-Server laufen kann muß die Konsole geöffnet bleiben, kann aber in die Taskleiste minimiert werden. Wenn man den OpenSIM-Server wieder beendet möchte gibt man in das Konsole das Kommando „Quit“ ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4. OpenSIM Server starten und beenden&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_starten_und_beenden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;8786-9393&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;in_opensim_einloggen&quot;&gt;5. In OpenSIM einloggen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nun kann man sich in seinen eigenen OpenSIM-Server einloggen, entweder mit dem normalen Second Life Viewer, oder einem der anderen Open Source Viewer. Da es meines Wissens keinen Linux-Viewer gibt, ist der nachfolgende OpenSIM-Login Vorgang für Windows beschrieben. Wenn man sich mit dem normalen Second Life Viewer einloggen möchte muß man den Startpfad des Viewers etwas anpassen. Dazu legt man sich am besten eine neue Verknüpfung bzw. eine Kopie der Verknüpfung des SL-Viewers auf den Windows Desktop. Dann klickt man mit der rechten Maustaste auf das Symbol und ändert bzw. ergänzt in der Zeile „Ziel“ den dort eingetragenen Wert. Normalerweise wird der Second Life Viewer unter dem Pfad „C:\Programme\SecondLife“ gespeichert. Falls dieser Pfad bei der Installation des Second Life Viewers genutzt wurde, muß man den Wert folgendermassen anpassen:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;C:\Programme\SecondLife\SecondLife.exe -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login&lt;/pre&gt;

&lt;p&gt;
Der Wert „127.0.0.1“ gilt nur dann wenn man nur sich selbst auf dem eigenen PC einloggen möchte auf dem sowohl der OpenSIM-Server als auch der Second Life Viewer installiert ist. Wenn man seinen OpenSIM-Server für andere im eigenen lokalen Netzwerk (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) freigeben möchte muß an dieser Stelle jeder OpenSIM-Nutzer die lokale IP-Adresse des OpenSIM-Servers eintragen. Möchte man seinen OpenSIM-Server für Nutzer aus dem Internet freigeben muß an dieser Stelle entweder eine feste WAN-IP-Adresse vom Internet Provider (ISP) eingetragen werden (falls vorhanden), oder die DYNDNS-Adresse. Wenn alles klappt sieht man beim einloggen statt dem Second Life Startbild eine weisse Loginseite von OpenSIM. Nun muß man die Zugangsdaten des Master Avatars in die Login-Felder eintragen. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;5. In OpenSIM einloggen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;in_opensim_einloggen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;9394-11208&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;opensim_login-tipps&quot;&gt;6. OpenSIM Login-Tipps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Login die Zugangsdaten nicht oben in den weissen Feldern eintragen, sondern unten wie auch bei einem Second Life Login.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Viewer in den Einstellungen unter dem Menüpunkt „Netzwerk“ die Netzwerkbandbreite auf den Wert 200 einstellen, sonst kann es passieren daß man den Avatar plötzlich nicht mehr bewegen kann, oder die gleichzeitige Nutzung des OpenSIM-Servers mit mehreren Avataren nicht möglich ist.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Damit man sich vom Internet aus auf Ihren OpenSIM-Server einloggen kann müssen Sie auf Ihrem Router den Port 9000 für ein- und ausgehenden Traffic auf TCP und UDP freigeben und auf die feste, lokale IP-Adresse des Computers auf dem OpenSIM installiert ist weiterleiten. Auf dem Computer auf dem OpenSIM installiert ist kein DHCP verwenden, sondern eine fest vergebene, statische, lokale IP-Adresse.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6. OpenSIM Login-Tipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_login-tipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;11209-12071&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;weitere_anleitungen&quot;&gt;Weitere Anleitungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;installationsbeispiele_auf_anderen_webseiten&quot;&gt;Installationsbeispiele auf anderen Webseiten&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.rainer-grundel.de/wissensdb/second_life_opensim/opensim_installation_konfiguration/artikel/article/opensim_installation_und_konfiguration.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.rainer-grundel.de/wissensdb/second_life_opensim/opensim_installation_konfiguration/artikel/article/opensim_installation_und_konfiguration.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;rainer-grundel.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.slinfo.de/phpbb/viewtopic.php?p=148987#148987&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.slinfo.de/phpbb/viewtopic.php?p=148987#148987&quot; rel=&quot;ugc nofollow noopener&quot;&gt;slinfo.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/Linux_Gridserver&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Linux_Gridserver&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Installation eines OpenSIM Grid-Servers unter Linux&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/Build_Instructions&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Build_Instructions&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Installation eines OpenSIM Standalone-Servers unter Linux&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Anleitungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_anleitungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;12072-12634&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;weitere_konfigurationstipps&quot;&gt;Weitere Konfigurationstipps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/OpenSim_Configuration&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/OpenSim_Configuration&quot; rel=&quot;ugc nofollow noopener&quot;&gt;opensimulator.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Konfigurationstipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_konfigurationstipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;12635-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:installation</category>
            <pubDate>Fri, 29 Nov 2019 10:58:47 +0000</pubDate>
        </item>
        <item>
            <title>OpenSIM-Installation unter Windows</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/installation/windows?do=revisions&amp;rev=1575021528</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensim-installation_unter_windows&quot;&gt;OpenSIM-Installation unter Windows&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/poweredbywindows.jpg?id=archiv%3Aopensim%3Ainstallation%3Awindows&quot; class=&quot;media&quot; title=&quot;poweredbywindows.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/poweredbywindows.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;poweredbywindows.jpg&quot; alt=&quot;poweredbywindows.jpg&quot; /&gt;&lt;/a&gt; Diese Anleitung beschreibt wie man einen OpenSIM-Server im Standalone-Modus auf einem eigenen PC unter dem Betriebssystem Microsoft Windows 2000/XP/Vista/Win7 installiert und sich dann auf dem eigenen OpenSIM-Server lokal mit dem normalen Second Life Viewer anmeldet. Um OpenSIM auf einem Windows-Betriebssystem zu installieren, müssen Sie sich zunächst (falls noch nicht geschehen) das &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Microsoft .NET Framework 2.0&lt;/a&gt; (oder aktueller) installieren, denn der OpenSIM Server läuft unter Windows nur mit dem installierten .NET Framework.
&lt;/p&gt;

&lt;p&gt;
Um OpenSIM zu installieren benötigen Sie erweiterte Netzwerkkenntnisse, denn dies ist eine Server-Installation und bedarf daher ganz bestimmter Vorkenntnisse, die wir Ihnen aber nicht alle hier im einzelnen darstellen können, denn erstens sind nicht alle Computer und alle Netzwerke gleich konfiguriert, sondern es gibt auch verschiedene Internetzugangsarten, verschiedene Router, verschiedene Ports die eventuell schon vergeben worden sind und natürlich auch verschiedene Betriebssysteme. Wir gehen bei dieser OpenSIM-Installationsanleitung davon aus daß Sie diese Informationen und Kenntnisse bereits haben und entsprechend dieser Anleitung passend für Ihre persönliche OpenSIM-Installation umsetzen können.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM-Installation unter Windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-installation_unter_windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1443&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;hardware-vorraussetzungen&quot;&gt;Hardware-Vorraussetzungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Windows-PC auf dem OpenSIM später laufen soll muß mindestens eine CPU mit 1 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Taktfrequenz, Arbeitsspeicher von mindestens 512 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; RAM und eine schnelle Grafikkarte (z.B. NVidia GeForce 8800GTS) und eine möglichst schnelle Festplatte mit mindestens 20 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; freiem Speicher haben. Wird der PC nur als Server für andere PC eingesetzt und nicht gleichzeitig auch als Client so ist die eingesetzte Grafikkarte beim OpenSIM-Server egal. In der Regel gilt: je schneller der eingesetzte PC für OpenSIM ist, desto schneller, ruckelfreier und performanter läuft auch die Sim. Dies merkt man insbesondere wenn mehrere Avatare auf einer Sim gleichzeitig eingeloggt sind.
&lt;/p&gt;

&lt;p&gt;
Wenn der OpenSIM-Server nur in einem lokalen Netzwerk (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) eingesetzt wird sollte es von der Netzwerkgeschwindigkeit keine Probleme geben, vorrausgesetzt es ist ein 100 MBit Netzwerk installiert. Wesentlich problematischer ist die Internetgeschwindigkeit wenn man seinen OpenSIM-Server für andere Nutzer im Internet freigeben möchte, denn dann ist die maximale Anzahl der gleichzeitig eingeloggten Nutzer abhängig von der Upstream-Geschwindigkeit der Internetverbindung (die bei ADSL-Anschlüssen nur ein Bruchteil der Downstream-Geschwindigkeit ist.). Hier gilt natürlich auch: je schneller desto besser. Ein Upstream von 1 MBit ist für 5 gleichzeitig eingeloggte OpenSIM-Nutzer absolute Mindestgeschwindigkeit.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardware-Vorraussetzungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardware-vorraussetzungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1444-2870&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;opensim_server_downloaden_und_installieren&quot;&gt;1. OpenSIM Server downloaden und installieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zunächst muß das aktuelle Binary-Paket von OpenSIM heruntergeladen werden. Bei Windows 2000 und XP entpackt man das OpenSIM-Verzeichnis am besten in einen neuen Unterordner mit dem Namen „opensim“ auf der ersten Partition des ersten Laufwerks, das meistens mit dem Laufwerksbuchstaben C gekennzeichnet ist, also z.B. in „C:\opensim“. Alternativ kann natürlich auch ein anderer Pfad gewählt werden. Unter Windows Vista und Windows 7 kann der Pfad allerdings nicht frei gewählt werden, dort muß OpenSIM im Root-Verzeichnis (oberste Ebene) installiert werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. OpenSIM Server downloaden und installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_downloaden_und_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2871-3491&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;opensim_server_lokalisieren&quot;&gt;2. OpenSIM Server lokalisieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit dem Windows Explorer (nicht Internet Explorer) geht man nun in das OpenSIM Verzeichnis und sucht die Datei „OpenSim.exe“ und startet den OpenSIM Server mit einem Doppelklick auf die Datei. Wer möchte kann nun mit einem Rechtklick auf diese Datei und dem Kontextmenü „Verknüpfung“ eine Verknüpfung auf dem Desktop anlegen, denn OpenSIM legt keine Startmenü-Einträge an. Wer dies nicht braucht kann diesen Schritt auch übergehen.
&lt;/p&gt;

&lt;p&gt;
Windows Vista Benutzer müssen aber noch etwas beachten. Damit OpenSIM ausgeführt werden kann müssen die Sicherheitsrechte angepasst werden. Diese Rechte werden mit Rechtsklick auf die Datei „OpenSim.exe“, dann Auswahl von „Eigenschaften wählen“ → „Kompatibilität“ → „Programm im Kompatibilitätsmodus ausführen“ aktivieren und weiter mit „Programm als Administrator ausführen“ eingestellt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. OpenSIM Server lokalisieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_lokalisieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3492-4373&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_server_konfigurieren&quot;&gt;3. OpenSIM Server konfigurieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nun wird der OpenSIM-Server das erste Mal gestartet mit Doppelklick auf die Datei „OpenSim.exe“. Es wird eine DOS-Konsole geöffnet und es läuft sehr viel Text durchs Fenster. Man muß eine Zeitlang warten bis man aufgefordert wird die Erstkonfiguration durchzuführen. Bei der ersten Konfiguration werden einem bei jedem Schritt Werte die in eckigen Klammern stehen vorgeschlagen, die man für den ersten Test auch so übernehmen kann. Die Konfiguration kann man später jederzeit noch in der Konfigurationsdatei „opensim.ini“ mit einem normalen Texteditor ändern.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region&quot;&gt;3.1 Default Region&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT Region CONFIG: Region Name [OpenSim Test]:&lt;/strong&gt;
Die Default-Region ist der Name der eigenen Sim. Hier kann man einen gewünschten Sim-Namen eintragen. Der Name darf allerdings nur aus einem Wort bestehen, darf nicht zu lang sein und darf weder Umlaute noch Sonderzeichen enthalten.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region_config&quot;&gt;3.2 Default Region Config&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Grid Location &amp;lt;X Axis&amp;gt; [1000]:
DEFAULT REGION CONFIG: Grid Location &amp;lt;Y Axis&amp;gt; [1000]:&lt;/strong&gt;
Bei diesen beiden Werten handelt es sich um die geografische Startposition auf der Default Region. Dies ist die exakte Position an der sich jeder neu einloggende User mit seinem Avatar befindet. Die Standard-Startposition ist 1000 : 1000, also genau die Mitte der Default Region. Diesen Wert sollte man für das erste so übernehmen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_internal_ip_address&quot;&gt;3.3 Default Internal IP Address&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Internal IP Address for incoming UDP Client connections [0.0.0.0]:&lt;/strong&gt;
Diesen Wert nicht ändern und den Wert auf 0.0.0.0 lassen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_internal_ip_port&quot;&gt;3.4 Default Internal IP Port&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: Internal IP Port for incoming UDP client connections [9000]:&lt;/strong&gt;
Jede Region hat einen eigenen Port, den man, wenn man OpenSIM nach aussen für andere erreichbar machen möchte, im DSL-Router für eingehenden Traffic (TCP und UDP) freigeben muß. Der OpenSIM-Server läuft standardmäßig auf dem Port 9000 (zum Vergleich: normale HTTP-Server laufen auf Port 80). Diesen Port sollte man normalerweise nicht verstellen und auf dem Wert 9000 lassen. Ausnahmen sind nur dann gegeben wenn man z.B. auf Port 9000 schon einen anderen Serverdienst laufen hat (z.B. Buffalo Netzwerkspeicher (NAS) verwenden auch Port 9000).
&lt;/p&gt;

&lt;p&gt;
Wenn man später zu der Default Region noch weitere Regionen anlegen möchte, muß man jeder hinzugekommenen Region einen weiteren, neuen Port-Wert geben, z.B. 9001, 9002 usw. und diese Werte auch wieder im DSL-Router freigeben.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_region_config1&quot;&gt;3.5 Default Region Config&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: External Host Name [127.0.0.1]:&lt;/strong&gt;
Diesen Wert kann man für&amp;#039;s erste auf dem Standard-Wert 127.0.0.1 belassen. Damit kann man sich nur lokal vom eigenen OpenSIM-Server aus einloggen wenn auf diesem gleichzeitig auch der Viewer installiert ist. Möchte man von einem anderen PC aus im eigenen lokalen Netzwerk auf den OpenSIM-Server zugreifen gibt man hier die lokale IP-Adresse ein. Dies sollte eine feste IP-Adresse sein und keine dynamisch per DHCP vergebene IP-Adresse. Möchte man den OpenSIM-Server nach aussen für Benutzer im Internet freigeben muß hier entweder die feste WAN-IP-Adresse oder der feste Domainname eingegeben werden. Kostenlose Domainnamen bekommen Sie z.B. bei DYNDNS.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;default_avatar&quot;&gt;3.6 Default Avatar&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;DEFAULT REGION CONFIG: First Name of Master Avatar [Test]:
DEFAULT REGION CONFIG: Last Name of Master Avatar [User]:
DEFAULT REGION CONFIG: Password for Master Avatar account [password]:&lt;/strong&gt;
Der erste Avatar (der „Master Avatar“) den man anlegt erhält grundsätzlich Administrationsrechte. Dieser Avatar kann in OpenSIM im Gegensatz zu den danach angelegten Avataren immer alles ändern, kopieren, löschen usw. Der Standard Master Avatar heisst „Test User“ und hat das Passwort „password“. Diese Werte sollte man nach seinen eigenen Vorstellungen ändern. Man sollte tunlichst vermeiden den Avatar-Namen aus Second Life zu übernehmen, denn der Second Life Viewer schreibt alle Einstellungen und Konfigurationen in einen Unterordner der den Second Life Namen entspricht. Wenn man sowohl in Second Life als auch in OpenSIM denselben Namen verwendet gibt es unerwünschte Effekte wie z.B. das nach einem Neustart des Viewers plötzlich das falsche Startbild zu sehen ist, oder die Konfiguration ständig manuell umgestellt werden muß, oder das Inventar nicht alle Objekte anzeigt oder der Cache durcheinanderkommt. Wenn man OpenSIM nicht nach aussen für andere freigeben möchte kann man die Standard-Werte aber auch übernehmen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. OpenSIM Server konfigurieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_konfigurieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4374-8903&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;opensim_server_starten_und_beenden&quot;&gt;4. OpenSIM Server starten und beenden&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nach der Erstkonfiguration läuft nochmals eine Menge Text durch das DOS-Fenster, bis abschliessend die Meldung „[OPENSIM MAIN]: Startup complete, serving 1 region(s)“ auftaucht. Windows wird nun bei aktivierter Windows-Firewall fragen ob das neue Programm geblockt od hindurchgelassen werden soll. Hier stellt man die Windows-Firewall auf „Nicht mehr blocken“ ein. Damit der OpenSIM-Server laufen kann muß das DOS-Fenster geöffnet bleiben. Es kann aber in die Taskleiste minimiert werden. Wenn man den OpenSIM-Server wieder beendet möchte gibt man in das DOS-Fenster das Kommando „Quit“ ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4. OpenSIM Server starten und beenden&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_starten_und_beenden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;8904-9549&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;in_opensim_einloggen&quot;&gt;5. In OpenSIM einloggen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nun kann man sich in seinen eigenen OpenSIM-Server einloggen, entweder mit dem normalen Second Life Viewer, oder einem der anderen Open Source Viewer. Wenn man sich mit dem normalen Second Life Viewer einloggen möchte muß man den Startpfad des Viewers etwas anpassen. Dazu legt man sich am besten eine neue Verknüpfung bzw. eine Kopie der Verknüpfung des SL-Viewers auf den Windows Desktop. Dann klickt man mit der rechten Maustaste auf das Symbol und ändert bzw. ergänzt in der Zeile „Ziel“ den dort eingetragenen Wert. Normalerweise wird der Second Life Viewer unter dem Pfad „C:\Programme\SecondLife“ gespeichert. Falls dieser Pfad bei der Installation des Second Life Viewers genutzt wurde, muß man den Wert folgendermassen anpassen:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;C:\Programme\SecondLife\SecondLife.exe -loginuri http://127.0.0.1:9000/ -loginpage http://127.0.0.1:9000/?method=login&lt;/pre&gt;

&lt;p&gt;
Der Wert „127.0.0.1“ gilt nur dann wenn man nur sich selbst auf dem eigenen PC einloggen möchte auf dem sowohl der OpenSIM-Server als auch der Second Life Viewer installiert ist. Wenn man seinen OpenSIM-Server für andere im eigenen lokalen Netzwerk (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) freigeben möchte muß an dieser Stelle jeder OpenSIM-Nutzer die lokale IP-Adresse des PC eintragen auf dem der OpenSIM-Server läuft. Möchte man seinen OpenSIM-Server für Nutzer aus dem Internet freigeben muß an dieser Stelle entweder eine feste WAN-IP-Adresse vom Internet Provider (ISP) eingetragen werden (falls vorhanden), oder die &lt;a href=&quot;http://www.easy-network.de/dyndns-einrichten.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.easy-network.de/dyndns-einrichten.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DYNDNS&lt;/a&gt;-Adresse. Wenn alles klappt sieht man beim einloggen statt dem Second Life Startbild eine weisse Loginseite von OpenSIM. Nun muß man die Zugangsdaten des Master Avatars in die Login-Felder eintragen. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;5. In OpenSIM einloggen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;in_opensim_einloggen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;9550-11323&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;opensim_login-tipps&quot;&gt;6. OpenSIM Login-Tipps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Login die Zugangsdaten nicht oben in den weissen Feldern eintragen, sondern unten wie auch bei einem Second Life Login.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Viewer in den Einstellungen unter dem Menüpunkt „Netzwerk“ die Netzwerkbandbreite auf den Wert 200 einstellen, sonst kann es passieren daß man den Avatar plötzlich nicht mehr bewegen kann, oder die gleichzeitige Nutzung des OpenSIM-Servers mit mehreren Avataren nicht möglich ist.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Damit man sich vom Internet aus auf Ihren OpenSIM-Server einloggen kann müssen Sie auf Ihrem Router den Port 9000 für ein- und ausgehenden Traffic auf TCP und UDP freigeben und auf die feste, lokale IP-Adresse des Computers auf dem OpenSIM installiert ist weiterleiten. Auf dem Computer auf dem OpenSIM installiert ist kein DHCP verwenden, sondern eine fest vergebene, statische, lokale IP-Adresse.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6. OpenSIM Login-Tipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_login-tipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;11324-12186&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;weitere_anleitungen&quot;&gt;Weitere Anleitungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/OpenSimGerman/Installation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/OpenSimGerman/Installation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;opensimulator.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=view&amp;amp;catid=848&amp;amp;id=128555&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=view&amp;amp;catid=848&amp;amp;id=128555&quot; rel=&quot;ugc nofollow noopener&quot;&gt;slinside.com&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Anleitungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_anleitungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;12187-12414&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;weitere_konfigurationstipps&quot;&gt;Weitere Konfigurationstipps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.org/wiki/OpenSim_Configuration&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/OpenSim_Configuration&quot; rel=&quot;ugc nofollow noopener&quot;&gt;opensimulator.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Konfigurationstipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_konfigurationstipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;12415-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:installation</category>
            <pubDate>Fri, 29 Nov 2019 10:58:48 +0000</pubDate>
        </item>
        <item>
            <title>Visitor List Recorder</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/visitor_list_recorder?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;visitor_list_recorder&quot;&gt;Visitor List Recorder&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Global variables
list visitor_list;
float range = 10.0; // in meters
float rate = 1.0; // in seconds


// Functions
integer isNameOnList( string name )
{
    integer len = llGetListLength( visitor_list );
    integer i;
    for( i = 0; i &amp;lt; len; i++ )
    {
        if( llList2String(visitor_list, i) == name )
        {
            return TRUE;
        }
    }
    return FALSE;
}

// States
default
{
    state_entry()
    {
        llSay(0, &amp;quot;Visitor List Maker started...&amp;quot;);
        llSay(0, &amp;quot;The owner can say &amp;#039;help&amp;#039; for instructions.&amp;quot;);
        llSensorRepeat( &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, AGENT, range, TWO_PI, rate );
        llListen(0, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;);
    }
     
               
    sensor( integer number_detected )
    {
        integer i;
        for( i = 0; i &amp;lt; number_detected; i++ )
        {
            if( llDetectedKey( i ) != llGetOwner() )
            {
                string detected_name = llDetectedName( i );
                if( isNameOnList( detected_name ) == FALSE )
                {
                    visitor_list += detected_name;
                }
            }
        }   
    }
   
    listen( integer channel, string name, key id, string message )
    {
        if( id != llGetOwner() )
        {
            return;
        }
       
        if( message == &amp;quot;help&amp;quot; )
        {
            llSay( 0, &amp;quot;This object records the names of everyone who&amp;quot; );
            llSay( 0, &amp;quot;comes within &amp;quot;+ (string)range + &amp;quot; meters.&amp;quot; );
            llSay( 0, &amp;quot;Commands the owner can say:&amp;quot; );
            llSay( 0, &amp;quot;&amp;#039;help&amp;#039;  - Shows these instructions.&amp;quot; );
            llSay( 0, &amp;quot;&amp;#039;say list&amp;#039;   - Says the names of all visitors on the list.&amp;quot;);
            llSay( 0, &amp;quot;&amp;#039;reset list&amp;#039; - Removes all the names from the list.&amp;quot; );
        }
        else
        if( message == &amp;quot;say list&amp;quot; )
        {
            llSay( 0, &amp;quot;Visitor List:&amp;quot; );
            integer len = llGetListLength( visitor_list );
            integer i;
            for( i = 0; i &amp;lt; len; i++ )
            {
                llSay( 0, llList2String(visitor_list, i) );
            }
            llSay( 0, &amp;quot;Total = &amp;quot; + (string)len );
        }
        else
        if( message == &amp;quot;reset list&amp;quot; )
        {
            visitor_list = llDeleteSubList(visitor_list, 0, llGetListLength(visitor_list));
            llSay( 0, &amp;quot;Done resetting.&amp;quot;);
        }
    }       
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>E-Mail</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/e-mail?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;e-mail&quot;&gt;E-Mail&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Damit dieses Script funktionieren kann muss zuvor die E-Mail Funktion in der Konfigurationsdatei opensim.ini eingeschaltet und konfiguriert werden.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;string email_address = &amp;quot;adresse@domain.xyz&amp;quot;; // who will receive the messages
string hname = &amp;quot;User Name&amp;quot;; // name that will be displayed in hover text as receiver of mail
string date;
string name;
string sim;
default
{
    state_entry() {

        //Send an email to a normal email account
        llSetText(&amp;quot;click to send &amp;quot; + hname + &amp;quot; an email&amp;quot;,&amp;lt;1,1,1&amp;gt;,1);
        llEmail( email_address, &amp;quot;Initializing Email Module&amp;quot;, &amp;quot;[STARTUP COMPLETE]&amp;quot;);
    }

    touch_start( integer num_detected ) {
        integer i = 0;
        date = llGetDate();
        name = llDetectedName(i);
        sim = llGetRegionName();

        // Send another email, telling who touched the prim.
        do
            llEmail( email_address, &amp;quot;Prim Touched&amp;quot;, &amp;quot;I was touched by: &amp;quot; + llDetectedName(i) + &amp;quot;\nKey: &amp;quot; + (string) llDetectedKey(i) + &amp;quot;\n On the Following Date: &amp;quot; + date);
        while(++i &amp;lt; num_detected);
        llSay(0,&amp;quot;------------------------&amp;gt;&amp;quot;);
        llSay(0,&amp;quot;E-Mail sent from &amp;quot; + name + &amp;quot;@&amp;quot; + sim + &amp;quot;.DOMAIN&amp;quot;);
        llSay(0,&amp;quot;------------------------&amp;gt;&amp;quot;);
        llPlaySound(&amp;quot;Boing&amp;quot;, 1.0);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Simple Vendor</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/simple_vendor?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;simple_vendor&quot;&gt;Simple Vendor&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Simple Vendor 
//Version: 1.0.0 
// 
string name = &amp;quot;name of person&amp;quot;; 
integer price = 10; // adjust accordingly 
string item = &amp;quot;nameofitem&amp;quot;; 
 
default 
{ 
   state_entry() 
   { 
      llRequestPermissions( llGetOwner(), PERMISSION_DEBIT ); 
   } 
   run_time_permissions(integer perms) 
   { 
      if (perms &amp;amp; PERMISSION_DEBIT) 
         state run; 
   } 
} 
 
state run 
{ 
   money(key id, integer amount) 
   { 
      if (llKey2Name(id) == name) 
      { 
         if (amount != price) 
         { 
            llWhisper(0,&amp;quot;Sorry!  The price is $&amp;quot; + (string)price); 
            llGiveMoney(id,amount); 
         } 
         else 
         { 
            llGiveInventory(id,item); 
            llInstantMessage(llGetOwner(),name + &amp;quot; bought their item.&amp;quot;); 
            state sold; 
         } 
      } 
      else 
      { 
         llWhisper(0,&amp;quot;Sorry I&amp;#039;m only selling this to &amp;quot; + name); 
         llGiveMoney(id,amount); 
      } 
   } 
} 
 
state sold 
{ 
   state_entry() { } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>FAQ</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/faq?do=revisions&amp;rev=1575021543</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;faq&quot;&gt;FAQ&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Auf dieser Seite finden Sie die zu OpenSIM meistgestellten Fragen und die Antworten dazu. Wenn Sie hier nicht fündig werden können Sie alternativ dazu unseren &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/support&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:support&quot; data-wiki-id=&quot;archiv:opensim:support&quot;&gt;support&lt;/a&gt; nutzen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FAQ&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;faq&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-199&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;was_ist_opensim&quot;&gt;Was ist OpenSIM ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lesen Sie dazu hier weiter: &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/opensim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:opensim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:opensim&quot;&gt;opensim&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was ist OpenSIM ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;200-292&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;wie_kann_ich_einen_opensim_server_im_internet_erreichen&quot;&gt;Wie kann ich einen OpenSIM Server im Internet erreichen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Unter Windows: Dazu müssen Sie zunächst die Startparameter Ihres Second Life Programms (der Client, nicht der Server) anpassen. Kopieren Sie sich am besten aus dem Startmenü die Verknüpfung zum Second Life Client auf Ihren Desktop. Dann klicken Sie mit der rechten Maustaste auf das kopierte Second Life Symbol auf dem Desktop und wählen im Kontextmenü „Eigenschaften“. Ändern Sie dann in der Eingabezeile „Ziel“ den Text folgendermassen ab:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;&amp;#039;&amp;#039;C:\Programme\SecondLife\SecondLife.exe -set SystemLanguage de -loginuri http://DOMAIN:8002/ -loginpage http://DOMAIN:8002/?method=login -helperuri http://DOMAIN/&amp;#039;&amp;#039;&lt;/pre&gt;

&lt;p&gt;
Passen Sie die Internetadresse (&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;) an, indem Sie den Text „DOMAIN“ gegen die aktuelle jeweilige Internetadresse des OpenSIM Server Betreibers austauschen. Diese Informationen finden Sie üblicherweise auf den Informationsseiten des OpenSIM Server Betreibers.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie kann ich einen OpenSIM Server im Internet erreichen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_kann_ich_einen_opensim_server_im_internet_erreichen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;293-1252&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;wie_muss_ich_den_opensim_server_konfigurieren_wenn_ich_ihn_fuer_andere_aus_dem_internet_erreichbar_machen_moechte&quot;&gt;Wie muss ich den OpenSIM Server konfigurieren wenn ich ihn für andere aus dem Internet erreichbar machen möchte ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Am besten legen Sie sich, wenn dies noch nicht passiert ist, eine kostenlose &lt;a href=&quot;http://www.dyndns.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dyndns.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DYNDNS-Internetadresse&lt;/a&gt; zu, damit Ihr OpenSIM Server immer unter einem gleichbleibenden Namen erreichbar ist und Sie diesen festen Domainnamen in die Konfiguration eintragen können statt eine unter Umständen ständig wechselnde IP-Adresse, häufig der Fall ist bei typischen ADSL-Internetzugängen mit Zwangstrennung nach 24 Stunden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Editieren Sie dann die Datei „opensim/bin/Regions/default.xml“ und ändern Sie den Wert von „external_host_name“ auf Ihre DYNDNS-Internetadresse. Beispiel: external_host_name=„yourcomputer.ath.cx“. Lassen Sie den Wert von „internal_ip_address“ auf „0.0.0.0“ und „port“ auf „9000“.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nun müssen Sie die Firewall Ihres Routers konfigurieren, damit eingehende Anfragen von aussen auf Ihren OpenSIM Server erfolgen können. In den NAT-Einstellungen muss bei Port-Forwarding der Port 9000 (TCP und UDP) für ein- und ausgehenden Datenverkehr (Traffic) freigegeben werden. Der Port 9000 muss dabei als weiterleitendes Ziel die interne IP-Adresse Ihres OpenSIM Servers bekommen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vergessen Sie nicht auch eine entsprechende Desktop-Firewall wie z.B. die in Windows integrierte Windows Firewall zu konfigurieren. Sobald Sie den Server starten wird die Windows Firewall sich melden und fragen ob diese Verbindung freigegeben werden darf. Beantworten Sie mit Ja.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn Ihr NAT-Router nicht korrekt mit NAT-Loopback umgehen kann und sich Clients von aussen nicht anmelden können, probieren Sie auf dem OpenSIM Server zusätzlich noch folgende Einstellung: editieren Sie unter Windows die Datei C:\Windows\System32\Drivers\etc\hosts und fügen Sie eine neue Zeile hinzu: &lt;code&gt;192.168.1.10 yourcomputer.ath.cx&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Ersetzen Sie „192.168.1.10“ durch die interne IP-Adresse Ihres OpenSIM Servers und „yourcomputer.ath.cx“ durch Ihre eigene DYNDNS-Adresse. Machen Sie zwischen der IP-Adresse und der DYNDNS-Adresse mindestens ein oder mehr Leerzeichen, oder ein TAB. Starten Sie den Windows PC neu, damit die Host-Datei eingelesen wird.
Mehr Informationen dazu finden Sie in der &lt;a href=&quot;http://opensimulator.org/wiki/Network_Settings&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Network_Settings&quot; rel=&quot;ugc nofollow noopener&quot;&gt;englischen Anleitung&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie muss ich den OpenSIM Server konfigurieren wenn ich ihn f\u00fcr andere aus dem Internet erreichbar machen m\u00f6chte ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_muss_ich_den_opensim_server_konfigurieren_wenn_ich_ihn_fuer_andere_aus_dem_internet_erreichbar_machen_moechte&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1253-3565&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;ich_kann_mit_dem_opensim_server_zwar_verbinden_aber_beim_region_handshake_bleibt_es_haengen&quot;&gt;Ich kann mit dem OpenSIM Server zwar verbinden, aber beim Region Handshake bleibt es hängen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie benötigen einen Router der auch alle internen Anfragen an die externe IP-Adresse oder DYNDNS-Domain zurück in das eigene Netzwerk (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) routen kann („NAT-Loopback“). Leider beherrschen das nicht alle Router fehlerfrei, wozu es dann zu Problemen kommen kann. Die Konfigurationsdatei des OpenSIM Servers muss angepasst bzw. konfiguriert werden, denn der OpenSIM Server sucht nach einer erfolgreichen Anmeldung eines Nutzers den passenden Server für die Startregion des Avatars (für das Region Handshake). Dazu durchsucht der OpenSIM Server die im Ordner regions/ gespeicherten Regionen (z.B. die default.xml) und findet dort die entsprechenden IP-Adressen oder Domain-Namen (z.B. mydomain.dyndns.org). Leider wertet der SL-Client selbst keine Domain-Namen aus, sodaß der Server seinerseits ein &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Lookup macht und die resultierende Adresse an den SL-Client weiterschickt.
&lt;/p&gt;

&lt;p&gt;
Wie die Netzwerk-Einstellungen genau konfiguriert werden steht in dieser &lt;a href=&quot;http://opensimulator.org/wiki/Network_Settings&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Network_Settings&quot; rel=&quot;ugc nofollow noopener&quot;&gt;englischsprachigen Anleitung&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Unter Umständen, je nach Ihrem Router, darf kein Loopback in der Host-Datei ../etc/host eingetragen sein, sonst erhalten die SL-Clients, die sich von extern (aus dem Internet) anmelden wollen, die falsche Adresse (also die 127.0.0.1 oder die interne Host-IP) und „hängen“ beim Regions Handhake. Da hilft nur ausprobieren ! Starten Sie nach Änderungen in der Hosts Datei auf jeden Fall den PC neu, damit die Änderungen wirksam werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich kann mit dem OpenSIM Server zwar verbinden, aber beim Region Handshake bleibt es h\u00e4ngen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_kann_mit_dem_opensim_server_zwar_verbinden_aber_beim_region_handshake_bleibt_es_haengen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3566-5143&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;was_ist_der_vorteil_von_opensim_gegenueber_den_second_life_servern&quot;&gt;Was ist der Vorteil von OpenSIM gegenüber den Second Life Servern ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der wohl augenscheinlichste und offensichtlichste Vorteil liegt darin daß man unabhängig vom Second Life Betreiber Linden Lab seine eigene, kostenlose 3D-Welt erschaffen und betreiben kann. Es kommt leider öfters vor das Second Life gerade nicht verfügbar ist weil Serverarbeiten durchgeführt werden. Ausserdem sind manche Regionen so voll von Avataren daß man diese entweder gar nicht erreichen kann, oder das Bild stark ruckelt (Lag). Diese fast täglich auftretenden Probleme bei Second Life gibt es nicht auf dem eigenen OpenSIM Server. Dadurch daß man die volle Kontrolle über die eigene Sim hat, hat man auch fast unbegrenzte Möglichkeiten zu bauen, auszuprobieren und zu testen, völlig ohne zusätzliche Kosten. Second Life Entwickler können mit OpenSIM beispielsweise Testobjekte bauen oder neue Kreationen ausprobieren um sie dann später in Second Life einzusetzen. OpenSIM eignen sich daher ideal als „Test-Sim“ für Entwickler, Erbauer, Tester und Scripter.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was ist der Vorteil von OpenSIM gegen\u00fcber den Second Life Servern ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_der_vorteil_von_opensim_gegenueber_den_second_life_servern&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5144-6204&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;kann_ich_mein_inventar_aus_second_life_irgendwie_extern_abspeichern_oder_sichern_und_in_opensim_importieren&quot;&gt;Kann ich mein Inventar aus Second Life irgendwie extern abspeichern oder sichern und in OpenSIM importieren ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es gibt einerseits das kostenpflichtige Tool „&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/download&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:download&quot; data-wiki-id=&quot;archiv:opensim:download&quot;&gt;Second Inventory&lt;/a&gt;“, andererseits kostenlose &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/download&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:download&quot; data-wiki-id=&quot;archiv:opensim:download&quot;&gt;Open Source Viewer&lt;/a&gt; die den Export und Import von Objekten mit einer unbeschränkten Anzahl von Prims unterstützen. Leider ist der Ex- und Import von Objekten bisher mit beiden Tools noch sehr umständlich und teilweise werden die Objekte auch nicht vollständig übernommen, aber es ist ein erster Anfang die mühsam selbst erstellten Objekte aus Second Life abzuspeichern und in OpenSIM weiterzunutzen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kann ich mein Inventar aus Second Life irgendwie extern abspeichern oder sichern und in OpenSIM importieren ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kann_ich_mein_inventar_aus_second_life_irgendwie_extern_abspeichern_oder_sichern_und_in_opensim_importieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6205-6845&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;warum_kann_ich_mit_meinem_avatar_durch_objekte_hindurchgehen&quot;&gt;Warum kann ich mit meinem Avatar durch Objekte hindurchgehen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der als „Phantom“ bekannte Fehler lässt sich durch eine Einstellung in der Konfigurationsdatei beheben. Die standardmässig genutzte Engine „Basicphysics“ unterstützt leider keine Kollisionsabfrage zwischen Objekten. Stellen Sie daher in der OpenSIM-Konfigurationsdatei &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/opensim.ini&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:konfiguration:opensim.ini&quot; data-wiki-id=&quot;archiv:opensim:konfiguration:opensim.ini&quot;&gt;opensim.ini&lt;/a&gt; folgenden Parameter um die Kollisionsabfrage einzuschalten:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;physics = OpenDynamicsEngine&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum kann ich mit meinem Avatar durch Objekte hindurchgehen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_kann_ich_mit_meinem_avatar_durch_objekte_hindurchgehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6846-7351&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;wann_wurde_second_life_gestartet&quot;&gt;Wann wurde Second Life gestartet ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Am 23.Juni 2003 ging es für die Öffentlichkeit online. Zuvor aber hiess es „Linden World“ und befand sich seit November 2002 in Betrieb zu den ersten Beta-Tests.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wann wurde Second Life gestartet ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wann_wurde_second_life_gestartet&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7352-7561&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;ich_moechte_ein_eigenes_bild_beim_starten_der_sim_anzeigen_lassen_wie_geht_das&quot;&gt;Ich möchte ein eigenes Bild beim Starten der Sim anzeigen lassen. Wie geht das ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In der Datei http_loginform.html kann nur Text angezeigt werden. Versuche im Root-Verzeichnis des OpenSIM-Servers Bilder zu referenzieren schlagen fehl. Legen Sie die Bilder auf einen anderen Webserver und referenzieren Sie dann die Bilder mittels &lt;a href=&quot;http://.&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://.&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://.&lt;/a&gt;… in der http_loginform.html
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich m\u00f6chte ein eigenes Bild beim Starten der Sim anzeigen lassen. Wie geht das ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_moechte_ein_eigenes_bild_beim_starten_der_sim_anzeigen_lassen_wie_geht_das&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7562-7941&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;mein_viewer_stuerzt_sofort_ab_wenn_ich_versuche_ein_neues_outfit_zu_speichern&quot;&gt;Mein Viewer stürzt sofort ab wenn ich versuche ein neues Outfit zu speichern&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Diesen merkwürdigen Effekt haben wir leider auch beobachtet. Das Szenario ist mit jedem Viewer reproduzierbar. Was die Ursache ist können wir leider auch nicht sagen, da weder im OpenSIM-Log noch im Viewer-Log irgendein Hinweis auf den Absturz hindeutet. Ab der OpenSIM-Server Version 0.6.0 ist dieser Fehler behoben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mein Viewer st\u00fcrzt sofort ab wenn ich versuche ein neues Outfit zu speichern&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mein_viewer_stuerzt_sofort_ab_wenn_ich_versuche_ein_neues_outfit_zu_speichern&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7942-8350&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;gibt_es_eine_fertige_live-cd_version_als_iso_von_opensim&quot;&gt;Gibt es eine fertige Live-CD Version als ISO von OpenSIM ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ja, eine solche Version können Sie unter &lt;a href=&quot;http://magrathean.ca/project/dgig&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://magrathean.ca/project/dgig&quot; rel=&quot;ugc nofollow noopener&quot;&gt;diesem Link&lt;/a&gt; downloaden. Die ISO-Datei brennen Sie auf eine CD und booten dann von dieser CD. Sie haben damit eine sofort startbereite OpenSIM auf Ihrem eigenen PC laufen. Auf der selben Webseite gibt es ebenfalls fertige Versionen für Virtualbox.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gibt es eine fertige Live-CD Version als ISO von OpenSIM ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gibt_es_eine_fertige_live-cd_version_als_iso_von_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8351-8748&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;mein_avatar_ist_ploetzlich_festgefroren_und_ich_kann_mich_nicht_mehr_bewegen&quot;&gt;Mein Avatar ist plötzlich festgefroren und ich kann mich nicht mehr bewegen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie haben vermutlich die Netzwerkbandbreite an Ihrem Viewer zu hoch eingestellt. Stellen Sie diesen Wert schrittweise herunter, bis Sie sich normal bewegen können. Welcher Wert optimal ist hängt von der Internetzugangsgeschwindigkeit (Upstream) ab an der der OpenSIM Server angeschlossen ist. Bei ADSL-Verbindungen mit 16 MBit Downstream und 1 MBit Upstream sollte der Wert bei allen eingeloggten Avataren nicht höher als 480 sein, sonst kann es ziemliche Geschwindigkeitsprobleme geben und die Avatare lassen sich entweder gar nicht mehr bewegen, oder fliegen, laufen oder gehen ewig lang ohne zu stoppen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mein Avatar ist pl\u00f6tzlich festgefroren und ich kann mich nicht mehr bewegen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mein_avatar_ist_ploetzlich_festgefroren_und_ich_kann_mich_nicht_mehr_bewegen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;8749-9446&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;obwohl_ich_grad_in_eine_andere_region_geflogen_steht_oben_in_der_statusleiste_immer_noch_der_name_der_vorherigen_landes&quot;&gt;Obwohl ich grad in eine andere Region geflogen steht oben in der Statusleiste immer noch der Name der vorherigen Landes&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dabei ist zu beachten daß es nicht um den Namen der Region geht, sondern den Namen des Landes den man als Landbesiter in der Land-Info eingeben kann. Ein bekannter Fehler. Manchmal hilft es ein paar Mal im Land-Info Menü hineinzuklicken um die Anzeige in der oberen Statusleiste zu aktualisieren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Obwohl ich grad in eine andere Region geflogen steht oben in der Statusleiste immer noch der Name der vorherigen Landes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;obwohl_ich_grad_in_eine_andere_region_geflogen_steht_oben_in_der_statusleiste_immer_noch_der_name_der_vorherigen_landes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;9447-9876&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;es_sind_an_beliebigen_stellen_noch_avatare_zu_sehen_haeufig_in_der_luft_stehend_die_aber_schon_laengst_ausgeloggt_sind&quot;&gt;Es sind an beliebigen Stellen noch Avatare zu sehen (häufig in der Luft stehend) die aber schon längst ausgeloggt sind.&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ein bekannter Fehler. Leider noch keine Lösung dafür. Master-Avatare der eine Region gehört können aber diese Avatare über die Admin-Funktion „zwangsausloggen“. Es passiert leider immer wieder mal daß man sich korrekt als OpenSIM-Benutzer ausgeloggt hat und man beim nächsten Login-Versuch die Fehlermeldung bekommt man könne nicht einloggen weil man schon eingeloggt ist. In diesem Fall hilft nur warten bis der Sim-Betreiber oder der Region-Besitzer den Fehler erkannt haben und den Avatar ausloggen. Daher bietet es sich auch als Region-Besitzer und erst recht als Sim-Betreiber an entweder eine Support E-Mail Adresse bekanntzugeben, oder über eine Website einen Support-Chat anzubieten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Es sind an beliebigen Stellen noch Avatare zu sehen (h\u00e4ufig in der Luft stehend) die aber schon l\u00e4ngst ausgeloggt sind.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;es_sind_an_beliebigen_stellen_noch_avatare_zu_sehen_haeufig_in_der_luft_stehend_die_aber_schon_laengst_ausgeloggt_sind&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;9877-10710&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;bauen_ist_nicht_moeglich&quot;&gt;Bauen ist nicht möglich&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man versucht ein Objekt zu erstellen erscheint nur noch eine kleine Sanduhr neben dem Avatar, das Objekt wird nicht erstellt. Eine OpenSIM Server Variante war fehlerhaft, einfach eine aktuellere Version verwenden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bauen ist nicht m\u00f6glich&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bauen_ist_nicht_moeglich&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;10711-10965&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;mein_avatar_laesst_sich_nicht_mehr_bewegen&quot;&gt;Mein Avatar lässt sich nicht mehr bewegen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nachdem man versucht hat ein Objekt zu erstellen (siehe Problem oben) lässt sich der Avatar nicht mehr bewegen, sondern nur noch drehen. Eine OpenSIM Server Variante war fehlerhaft, einfach eine aktuellere Version verwenden. Dieses Problem tauchte immer dann auf wenn man versuchte etwas zu bauen, danach war der Avatar wie festgefroren, nur noch drehen auf der Stelle war möglich. Eine andere Ursache hat das festfrieren wenn man die Netzwerkbandbreite zu hoch einstellt. Bei OpenSIM-Server die an einem normalen ADSL-Anschluss zuhause betrieben werden reicht meistens ein Wert zwischen 100-500 aus.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mein Avatar l\u00e4sst sich nicht mehr bewegen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mein_avatar_laesst_sich_nicht_mehr_bewegen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;10966-11622&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;avatare_koennen_durch_objekte_hindurchgehen&quot;&gt;Avatare können durch Objekte hindurchgehen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man ein Objekt (Prim) wie beispielsweise einen Würfel erstellt kann man durch dieses Objekt hindurchgehen, dies sollte nicht möglich sein. Es findet keine Kollisionsabfrage statt. Die Physic Engine muss in der Konfigurationsdatei &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/opensim.ini&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:konfiguration:opensim.ini&quot; data-wiki-id=&quot;archiv:opensim:konfiguration:opensim.ini&quot;&gt;opensim.ini&lt;/a&gt; umgestellt werden. Stellen Sie in der Datei &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/opensim.ini&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:konfiguration:opensim.ini&quot; data-wiki-id=&quot;archiv:opensim:konfiguration:opensim.ini&quot;&gt;opensim.ini&lt;/a&gt; folgende Zeile ein „physics = OpenDynamicsEngine“, bzw. passen Sie eine eventuell bereits vorhande entsprechende physics-Zeile an.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Avatare k\u00f6nnen durch Objekte hindurchgehen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatare_koennen_durch_objekte_hindurchgehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;11623-12203&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;beim_outfit_erstellen_stuerzt_der_client_ab&quot;&gt;Beim Outfit erstellen stürzt der Client ab&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man mit seinem Avatar Form und Kleidung zusammengestellt hat und dies dann als komplettes Outfit speichern möchte, stürzt sofort ohne Vorwarnung der Client ab. Dieses Problem ist bekannt. In der Version 0.6.0 ist dieser Fehler behoben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Beim Outfit erstellen st\u00fcrzt der Client ab&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;beim_outfit_erstellen_stuerzt_der_client_ab&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;12204-12501&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;wenn_ich_in_ein_prim_ein_loch_mache_kann_ich_nicht_durch_das_loch_hindurchgehen&quot;&gt;Wenn ich in ein Prim ein Loch mache kann ich nicht durch das Loch hindurchgehen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Problem ist bekannt. Die „Hollow“-Funktion mit der man ein Loch in ein Prim machen kann ist in ihrer Funktion in OpenSIM leider noch eingeschränkt. Sie können aber in der OpenSIM-Konfigurationsdatei opensim.ini den Mesher auf „Meshmerizer“ umstellen, dann funktioniert das Hindurchgehen durch Prims. So muß der Eintrag in Ihrer opensim.ini aussehen:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;    ;meshing = ZeroMesher
    meshing = Meshmerizer&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wenn ich in ein Prim ein Loch mache kann ich nicht durch das Loch hindurchgehen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wenn_ich_in_ein_prim_ein_loch_mache_kann_ich_nicht_durch_das_loch_hindurchgehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;12502-13017&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;welche_dateien_und_verzeichnisse_muss_ich_sichern_bzw_speichern_wenn_ich_opensim_aktualisiere&quot;&gt;Welche Dateien und Verzeichnisse muss ich sichern bzw. speichern wenn ich OpenSIM aktualisiere ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei der SQLite-Installation: es müssen bei einer Datensicherung oder Aktualisierung (Update) auf eine aktuelle Version im wesentlichen die Datenbanken (.db-Dateien), Konfigurationen (.ini-Dateien) und XML-Dateien gesichert werden, welche bei der SQLight-Version folgende sind:
&lt;/p&gt;

&lt;p&gt;
AssetStorage.db, InventoryStore.db, OpenSim.db, Userprofiles.db, OpenSim.ini, estate_settings.xml. Ausserdem ist der komplette Ordner „Regions“ mit allen enthaltenen XML-Dateien zu sichern.
&lt;/p&gt;

&lt;p&gt;
Nachdem Sie dann OpenSIM aktualisiert haben kopieren Sie die alten Dateien wieder an die Stelle bzw. in den Ordner an dem sie zuvor auch waren. Eventuell schon vorhandene Dateien werden mit den zuvor gesicherten Dateien überschrieben. Starten Sie dann den OpenSIM-Server um Ihre alten Einstellungen mitsamt aller Benutzer, bereits gebauter Prims und die Regionen wieder zurückzubekommen.
&lt;/p&gt;

&lt;p&gt;
Die OpenSim.ini Datei darf hingegen nicht einfach überschrieben werden, sondern man muss die Konfigurationswerte aus seiner alten Datei in die neue Datei übernehmen, also anpassen. Der Grund ist weil die OpenSim.ini bei neueren OpenSIM-Installationen möglicherweise neue Funktionen bekommen hat.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Dateien und Verzeichnisse muss ich sichern bzw. speichern wenn ich OpenSIM aktualisiere ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_dateien_und_verzeichnisse_muss_ich_sichern_bzw_speichern_wenn_ich_opensim_aktualisiere&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;13018-14285&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;warum_schreibt_ihr_immer_opensim_und_nicht_opensim&quot;&gt;Warum schreibt Ihr immer &amp;quot;OpenSIM&amp;quot; und nicht &amp;quot;OpenSim&amp;quot; ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Diese Schreibweise ist vollkommen beabsichtigt und wird zu gegebenen Anlass zu einem späteren Zeitpunkt erklärt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum schreibt Ihr immer \&amp;quot;OpenSIM\&amp;quot; und nicht \&amp;quot;OpenSim\&amp;quot; ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_schreibt_ihr_immer_opensim_und_nicht_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;14286-14468&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;wenn_man_prims_miteinander_verbindet_dann_die_verbundenen_prims_verschiebt_und_dann_die_verbindung_wieder_aufhebt_verlieren_die_einzelnen_prims_ihre_position&quot;&gt;Wenn man Prims miteinander verbindet, dann die verbundenen Prims verschiebt und dann die Verbindung wieder aufhebt verlieren die einzelnen Prims ihre Position&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dieses Problem ist bekannt. Leider gibt es noch keine Lösung dafür.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wenn man Prims miteinander verbindet, dann die verbundenen Prims verschiebt und dann die Verbindung wieder aufhebt verlieren die einzelnen Prims ihre Position&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wenn_man_prims_miteinander_verbindet_dann_die_verbundenen_prims_verschiebt_und_dann_die_verbindung_wieder_aufhebt_verlieren_die_einzelnen_prims_ihre_position&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;14469-14708&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;wenn_ich_mich_auf_ein_prim_setze_sitze_ich_kopfueber_und_viel_zu_hoch_auf_dem_prim&quot;&gt;Wenn ich mich auf ein Prim setze, sitze ich kopfüber und viel zu hoch auf dem Prim&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dieses Problem ist bekannt. Es gibt spezielle Sitz-Scripte die dieses Problem lösen. Im &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/download&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:download&quot; data-wiki-id=&quot;archiv:opensim:download&quot;&gt;download&lt;/a&gt;-Bereich finden Sie Links zu Sitz-Scripts.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wenn ich mich auf ein Prim setze, sitze ich kopf\u00fcber und viel zu hoch auf dem Prim&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wenn_ich_mich_auf_ein_prim_setze_sitze_ich_kopfueber_und_viel_zu_hoch_auf_dem_prim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;14709-14947&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit25&quot; id=&quot;ich_habe_in_second_life_eine_opensim_hq_gefunden_was_ist_das&quot;&gt;Ich habe in Second Life eine OpenSIM HQ gefunden. Was ist das ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
HQ steht in diesem Fall nicht für „High Quality“, sondern für „Headquarter“, also Hauptquartier, Basis, oder Zentrale. Den Begriff sollte man aber nicht überbewerten, denn das angebliche Hauptquartier von OpenSIM in Second Life ist kaum besetzt und wird meines Wissens nur als Anlaufstelle für Informationen genutzt. Wesentlich effektiver ist es den Support-Channel der Entwickler im &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt; zu nutzen. Wenn Sie den &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Server Freenode wählen und in den Channel „opensim“ einloggen ist die Chance direkt einen der englischsprachigen Entwickler zu sprechen wesentlich höher.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich habe in Second Life eine OpenSIM HQ gefunden. Was ist das ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_habe_in_second_life_eine_opensim_hq_gefunden_was_ist_das&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;14948-15598&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;mich_verwirren_die_ganzen_begriffe_die_im_zusammenhang_mit_opensim_genutzt_werden&quot;&gt;Mich verwirren die ganzen Begriffe die im Zusammenhang mit OpenSIM genutzt werden&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das ist in der Tat etwas verwirrend wenn man nicht weis in welchem Zusammenhang die Begriffe genutzt werden. Unterscheiden kann man aber stets folgendes:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Namen von Viewer Software&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Namen von OpenSIM Grids&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Unter den &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/links&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:links&quot; data-wiki-id=&quot;archiv:opensim:links&quot;&gt;links&lt;/a&gt; und &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/download&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:download&quot; data-wiki-id=&quot;archiv:opensim:download&quot;&gt;download&lt;/a&gt; finden Sie einige Viewer Software und OpenSIM Grids aufgelistet. Im Zweifelsfall können Sie auch die Suchfunktion nutzen um einen Begriff nachzuschlagen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mich verwirren die ganzen Begriffe die im Zusammenhang mit OpenSIM genutzt werden&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mich_verwirren_die_ganzen_begriffe_die_im_zusammenhang_mit_opensim_genutzt_werden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;15599-16097&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;ich_habe_eine_frage_die_hier_nicht_beantwortet_wird&quot;&gt;Ich habe eine Frage die hier nicht beantwortet wird&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Für Fragen zu OpenSIM nutzen Sie bitte am besten den Live-Support über unsere &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/support&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:support&quot; data-wiki-id=&quot;archiv:opensim:support&quot;&gt;support&lt;/a&gt;-Seite.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich habe eine Frage die hier nicht beantwortet wird&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_habe_eine_frage_die_hier_nicht_beantwortet_wird&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;16098-16259&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit28&quot; id=&quot;welche_internetanbindung_benoetige_ich_fuer_opensim&quot;&gt;Welche Internetanbindung benötige ich für OpenSIM ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das kommt darauf an ob Sie selbst OpenSIM-Betreiber sind oder nur einen OpenSIM-Server von jemand anderem benutzen wollen. In der Regel gilt natürlich wie bei allen Internetverbindungen: je schneller, desto besser. Wenn man OpenSIM selbst als Betreiber anbieten möchte, sollte der Upstream Minimum 1 MBit betragen, besser aber mehr. Je mehr Upstream-Geschwindigkeit Ihr Internetzugang hat, desto mehr Benutzer können sich auf Ihrem OpenSIM-Server einloggen. Beispielsweise ist bei nur 5 eingeloggten Benutzern der Upstream von 1 MBit bereits zu 100% ausgelastet, d.h. Sie können den Internetzugang dann für nichts anderes mehr verwenden ausser für OpenSIM.
&lt;/p&gt;

&lt;p&gt;
Beachten Sie hierzu auch, das bei allen ADSL-Verbindungen der Upstream nur ein Bruchteil des Downstreams beträgt. Wenn Sie also beispielsweise eine DSL-Internetverbindung von 1&amp;amp;1 mit 16 MBit haben, dann stehen Ihnen nur 1 MBit Upstream zur Verfügung. Für alle ausgehenden Verbindungen wie bei OpenSIM ist aber nur die Upstream-Geschwindigkeit relevant, die Downstream-Geschwindigkeit jedoch gar nicht. Bei SDSL sind die Geschwindigkeiten von Upstream und Downstream gleich. Zur Zeit preislich am interessantesten für OpenSIM sind VDSL-Verbindungen die von der Telekom angeboten werden, beispielsweise mit einem Downstream von 50 MBit und einem Upstream von 10MBit.
&lt;/p&gt;

&lt;p&gt;
Je nachdem welchen Router Sie haben können Sie aber eventuell vorhandene Techniken wie Quality of Service (QoS) oder Paketpriorisierung verwenden. Die meisten billigen Router haben jedoch solche Einstellungsmöglichkeiten nicht und sind oft mit dem heftigen Datenverkehr recht überfordert und hängen sich nach einer Zeit sogar auf. Im übrigen eignen sich WLAN-Verbindungen durch die vergleichsweise hohen Latenzzeiten nur sehr bedingt für OpenSIM, denn die Reaktionszeiten (Ping) sind bei WLAN deutlich schlechter als bei kabelbasierten Netzwerklösungen (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Internetanbindung ben\u00f6tige ich f\u00fcr OpenSIM ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_internetanbindung_benoetige_ich_fuer_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;16260-18225&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit29&quot; id=&quot;kann_ich_in_opensim_land_kaufen_oder_verkaufen&quot;&gt;Kann ich in OpenSIM Land kaufen oder verkaufen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bisher ist die Kaufen/Verkaufen Funktion in OpenSIM noch nicht aktiv, daher können weder virtuelle Güter noch Land gekauft oder verkauft werden. OpenSIM ist derzeit noch in einem frühen Entwicklungsstadium und eignet sich daher ohnehin nur sehr eingeschränkt dazu Geschäfte innerhalb der virtuellen Umgebung zu tätigen. Bei den meisten OpenSIM-Betreiber bekommen Sie kostenlos Land was Sie bebauen können und müssen es daher gar nicht kaufen oder bezahlen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kann ich in OpenSIM Land kaufen oder verkaufen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kann_ich_in_opensim_land_kaufen_oder_verkaufen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:29,&amp;quot;range&amp;quot;:&amp;quot;18226-18750&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit30&quot; id=&quot;wenn_ich_opensim_neu_starte_ist_mein_avatar_wieder_auf_den_standard-avatar_ruth_zurueckgesetzt&quot;&gt;Wenn ich OpenSIM neu starte ist mein Avatar wieder auf den Standard-Avatar Ruth zurückgesetzt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dieses Problem ist bekannt und betrifft nur die SQLite-Installationen. Wenn als Datenbank mySQL eingesetzt wird bleiben die einmal gespeicherten Avatare auch bei einem Neustart erhalten. Als Workaround für SQLite-Nutzer hat sich als praktikabel erwiesen daß sich alle Avatare ein komplettes Outfit erstellen und dies in ihrem Inventory abspeichern. Wenn dann der Server neu gestartet wurde und der Avatar zurückgesetzt wurde kann man aus seinem Inventory mit Klick auf das Outfit den Ursprungszustand sehr schnell wieder herstellen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wenn ich OpenSIM neu starte ist mein Avatar wieder auf den Standard-Avatar Ruth zur\u00fcckgesetzt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wenn_ich_opensim_neu_starte_ist_mein_avatar_wieder_auf_den_standard-avatar_ruth_zurueckgesetzt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:30,&amp;quot;range&amp;quot;:&amp;quot;18751-19392&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit31&quot; id=&quot;kann_ich_mich_mit_meiner_sim-karte_in_die_sim_einloggen&quot;&gt;Kann ich mich mit meiner SIM-Karte in die Sim einloggen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lach, nein ! Das Kürzel „Sim“ hat mehrere Bedeutungen. Eine &lt;a href=&quot;http://de.wikipedia.org/wiki/SIM-Karte&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/SIM-Karte&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SIM-Karte&lt;/a&gt; ist ein „Subscriber Identity Module“, also eine Identifikationskarte und Kreditkarte für Mobiltelefone (Mobile Phone, Cell-Phone, Handy), in unserem Fall bedeutet „Sim“ aber nur die Abkürzung für (3D)-Simulator, eine Software die eine virtuelle 3D-Umgebung erzeugt. Man benötigt zum Login keine SIM-Karte, sondern Login-Zugangsdaten die aus einem Vornamen, Nachnamen und einem Passwort bestehen, ausserdem eine entsprechende Software die auf dem eigenen PC installiert werden muß.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kann ich mich mit meiner SIM-Karte in die Sim einloggen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kann_ich_mich_mit_meiner_sim-karte_in_die_sim_einloggen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:31,&amp;quot;range&amp;quot;:&amp;quot;19393-20061&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit32&quot; id=&quot;mein_avatar_ist_nur_als_graue_flaeche_ohne_texturen_zu_sehen&quot;&gt;Mein Avatar ist nur als graue Fläche ohne Texturen zu sehen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dies passiert häufiger wenn die Texturen nicht richtig geladen werden, was häufig bei zu geringem Netzwerkdatendurchsatz passiert kurz nach einem Hypergrid-Teleport auf eine andere Sim. Meistens reicht es einmal kurz in das Aussehen-Menü zu gehen ohne etwas zu verändern und das Menü gleich wieder zu verlassen. Dann werden die Avatar-Texturen neu geladen. Um die Texturen des Avatars neu zu laden kann man auch gleichzeitig die Tastenkombination STRG-ALT-R drücken.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mein Avatar ist nur als graue Fl\u00e4che ohne Texturen zu sehen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mein_avatar_ist_nur_als_graue_flaeche_ohne_texturen_zu_sehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:32,&amp;quot;range&amp;quot;:&amp;quot;20062-20606&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit33&quot; id=&quot;mein_avatar_ist_nur_als_wolke_zu_sehen_und_ich_habe_keinen_zugriff_mehr_auf_mein_aussehen&quot;&gt;Mein Avatar ist nur als Wolke zu sehen und ich habe keinen Zugriff mehr auf mein Aussehen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Ursache dieses Problem kann sehr unterschiedlich sein. Mögliche Fehlerquellen sind momentan zu geringer Netzwerkdatendurchsatz (häufig in den Abendstunden wenn viele User gleichzeitig online sind), zu hohe Datenpaket-Verlustraten (z.B. wenn die Datenbank überlastet ist oder auch wenn User die Grafikdetails zu hoch eingestellt haben), ein gestörtes Inventar (kommt häufig vor wenn man seinen OpenSIM-Loginnamen auf mehreren, verschiedenen Sims zum einloggen nutzt), oder wenn das Inventar teilweise oder ganz gestört ist (kommt z.B. häufig vor wenn man sich nicht richtig ausloggt, was bei einem Viewer-Crash passiert oder der Server nicht mehr reagiert). Erfahrungsgemäß ist die häufigste Ursache ein Problem mit dem Inventar. Behelfen kann man sich indem man beide Caches löscht, sich nochmal neu einloggt und dann versucht ein hoffentlich im Inventar gespeichertes Outfit neu anzuziehen, oder Kleidungsstücke auszieht. Wenn die Ursache zu hoher Netzwerkdatendurchsatz ist, kann man im 3D-Viewer die Detailtiefe der Grafiken herunterstellen oder auch die Netzwerkbandbreite herunterstellen (mehr als 200 gibt immer Probleme, also schrittweise herunterstellen).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mein Avatar ist nur als Wolke zu sehen und ich habe keinen Zugriff mehr auf mein Aussehen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mein_avatar_ist_nur_als_wolke_zu_sehen_und_ich_habe_keinen_zugriff_mehr_auf_mein_aussehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:33,&amp;quot;range&amp;quot;:&amp;quot;20607-21887&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit34&quot; id=&quot;ich_kann_mich_nicht_einloggen_was_kann_ich_tun&quot;&gt;Ich kann mich nicht einloggen ! Was kann ich tun ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Problem kann mehrere Ursachen haben. In der Regel zeigt der OpenSIM-Server beim einloggen eine entsprechende Fehlermeldung an. Eines der häufigsten Probleme entsteht wenn man die letzte Login-Session nicht mit einem normalen Logout abgeschlossen hat, sondern entweder der 3D-Viewer oder der OpenSIM-Server abgestürzt ist. Der OpenSIM-Server gibt dann beim nächsten Login eine Fehlermeldung aus die besagt man wäre noch eingeloggt und man könne nun nicht einloggen. Diese Fehlermeldung kann man getrost übergehen und es einfach nochmal probieren - es wird dann funktionieren. Bei der zweithäufigsten Login-Fehlerart sagt der OpenSIM-Server schlicht „Can´t connect“, was natürlich wenig hilfreich ist. Meistens ist die Ursache das man versucht auf einer bestimmten Region einzuloggen die aber möglicherweise gerade nicht online ist. Dies passiert z.B. wenn man seine Home-Position auf eine Region gesetzt hat die gerade nicht verfügbar ist, oder man versucht an der zuletzt eingeloggten Position (last Position) einzuloggen die ebenfalls gerade nicht verfügbar ist. In diesem Fall sollte man das Eingabefeld unter den Login-Daten verwenden, wo man genau definieren kann an welcher Position man sich einloggen möchte. Falls die „Home-Position“ und „Last Position“ beide nicht funktionieren kann man auch direkt den Namen einer bestimmten Region angeben. Auf unserem OpenSIM-Server 1 ist der Name der Startregion „Palm City“, die immer verfügbar ist. Leider haben uns OpenSIM-Nutzer davon berichtet das der beliebte Hippo-Viewer in der Version 0.5.1 dieses wichtige Eingabefeld nicht mehr hat. In diesem Fall machen Sie ein Downgrade auf die Version 0.5.0 wo es dieses Eingabefeld noch gibt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich kann mich nicht einloggen ! Was kann ich tun ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_kann_mich_nicht_einloggen_was_kann_ich_tun&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:34,&amp;quot;range&amp;quot;:&amp;quot;21888-23655&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit35&quot; id=&quot;texturen_auf_objekten_laden_manchmal_auffaellig_langsam_oder_gar_nicht&quot;&gt;Texturen auf Objekten laden manchmal auffällig langsam oder gar nicht&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Diesen Effekt beobachten wir auch immer wieder. Die Ursache dieses Textur-Problems kann unterschiedlichste Gründe haben. Einer der häufigsten Gründe ist wenn man Objekte (Prims) mit Texturen von einer Sim kopiert und diese auf eine andere Sim rezzt. Entweder funktioniert das Kopieren nicht einwandfrei weil man nicht alle Rechte an dem Objekt vollständig besitzt, oder weil beim kopieren die Texturen nicht richtig übertragen wurden weil der Asset-Server der Sim die Daten nicht vollständig oder schnell genug an das eigene Inventar lieferte (technisch gesehen ein Übertragungs- und Datenbank-Problem).
&lt;/p&gt;

&lt;p&gt;
Man kann sich nur damit behelfen die Objekte nochmals zu kopieren, oder, wenn dies wiederrum fehlschlägt, eigene Texturen auf die fehlenden Stellen zu legen. Ein deutlicher Hinweis ist es wenn die Texturen einmal laden und dann irgendwann nicht mehr, dass die Texturen von einem anderen Asset-Server referenziert werden und dieser gerade nicht reagiert. Sie müssen sich das so vorstellen als wenn Sie eine Bilddatei mit einer Webadresse von einem anderen Webserver auf Ihre Homepage kopieren. Wenn nun der andere Webserver offline ist wird auch das Bild nicht auf Ihrer Homepage angezeigt. Dann werden die Texturen nur geladen wenn der andere Asset-Server dies zulässt und gerade online ist. Wenn das Original-Objekt dann vom anderen Asset-Server gelöscht wird, kann auch die Kopie nicht mehr funktionieren. Dann hat die vollständige Übertragung beim kopieren nicht richtig funktioniert und man hat im Prinzip ein unvollständiges Objekt. Dann hilft nur entweder Texturen selbst machen, oder das kopierte Objekt löschen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Texturen auf Objekten laden manchmal auff\u00e4llig langsam oder gar nicht&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;texturen_auf_objekten_laden_manchmal_auffaellig_langsam_oder_gar_nicht&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:35,&amp;quot;range&amp;quot;:&amp;quot;23656-25377&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit36&quot; id=&quot;wenn_ich_meinen_avatar_einlogge_starte_ich_stets_mit_ausgebreiteten_armen&quot;&gt;Wenn ich meinen Avatar einlogge, starte ich stets mit ausgebreiteten Armen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ausgebreitete Arme, bzw. die T-Stellung, ist bei einem Login in alle OpenSIM-basierten Server leider normal. Warum das so ist wissen wir auch nicht. In Second Life ist es nicht so. Man muß also stets erst einmal nach dem Login die Arme herunternehmen mit der &amp;lt;BILD RUNTER&amp;gt; Taste. Vielleicht wird dieser kleine Schönheitsfehler - wie die vielen anderen auch - irgendwann einmal von den Entwicklern bzw. Programmierern von OpenSIM korrigiert.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wenn ich meinen Avatar einlogge, starte ich stets mit ausgebreiteten Armen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wenn_ich_meinen_avatar_einlogge_starte_ich_stets_mit_ausgebreiteten_armen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:36,&amp;quot;range&amp;quot;:&amp;quot;25378-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:03 +0000</pubDate>
        </item>
        <item>
            <title>Pacman</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/pacman?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;pacman&quot;&gt;Pacman&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Pacman&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pacman&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-20&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;game&quot;&gt;Game&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// open pacman game server script by kefcom belgium (kefcom@hotmail.com)

string currentplayer;
integer score;
integer maxscore;
integer timesplayed;
integer timecounter;
string playername1;
string playername2;
string playername3;
string playername4;
string playername5;
integer playerscore1;
integer playerscore2;
integer playerscore3;
integer playerscore4;
integer playerscore5;
integer maxtime;

default
{
    state_entry()
    {
 
  //////////////////////////////////////////////////////////////////////////////////////
        maxscore = 137; //change this value to the number of balls you have on the field
        maxtime = 500;
/////////////////////////////////////////////////////////////////////////////////////
 
        playername1 = &amp;quot;nobody&amp;quot;;
        playername2 = &amp;quot;nobody&amp;quot;;
        playername3 = &amp;quot;nobody&amp;quot;;
        playername4 = &amp;quot;nobody&amp;quot;;
        playername5 = &amp;quot;nobody&amp;quot;;
        playerscore1 = 300;
        playerscore2 = 300;
        playerscore3 = 300;
        playerscore4 = 300;
        playerscore5 = 300;
        timesplayed = 0;
        score = 0;
        llSetText(&amp;quot;Game Server&amp;quot;, &amp;lt;1,1,1&amp;gt;,1.0);
        llListen(1966, &amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
    }
   
    listen( integer channel, string name, key id, string msg)
    {
        if(msg==&amp;quot;STOP&amp;quot;)
        {
            llSetTimerEvent(0);
            llSay(0, &amp;quot;Game stopped!&amp;quot;);
            timecounter = 0;
            score = 0;
            currentplayer = &amp;quot;nobody&amp;quot;;
            llSetText(&amp;quot;Game Server, click for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;,1.0);
        }
        if(msg==&amp;quot;START&amp;quot;)
        {
            score = 0;
            llSetText(&amp;quot;Score: &amp;quot; + (string) score, &amp;lt;1,1,1&amp;gt;, 1.0);
            currentplayer = name;
            timecounter = 0;
            timesplayed = timesplayed + 1;
            llSetTimerEvent(1);
        }
        if(msg==&amp;quot;POINTS!&amp;quot;)
        {
            score = score + 1;
            llSetText(&amp;quot;Score: &amp;quot; + (string) score, &amp;lt;1,1,1&amp;gt;, 1.0);
            if(score &amp;gt;= maxscore)
            {
                //GAME OVER!
                llShout(0, &amp;quot;Game over&amp;quot;);
                llSetTimerEvent(0);
                llShout(0, &amp;quot;You needed &amp;quot; + (string) timecounter + &amp;quot; Seconds to complete the game!&amp;quot;);
                llSetText(&amp;quot;Game Server, Click me for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;, 1.0);
               
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// CALCULATE PLACE IN TOP 5 ////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
               
if(timecounter &amp;lt; playerscore5)
{
    if(timecounter &amp;lt; playerscore4)
    {
        if(timecounter &amp;lt; playerscore3)
        {
            if(timecounter &amp;lt; playerscore2)
            {
                if(timecounter &amp;lt; playerscore1)
                {
                    //first place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = playerscore2;
                    playerscore2 = playerscore1;
                    playerscore1 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = playername2;
                    playername2 = playername1;
                    playername1 = currentplayer;
               
                    llSay(0, &amp;quot;You are in first place on the scoreboard!&amp;quot;);
                }else{
                    //second place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = playerscore2;
                    playerscore2 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = playername2;
                    playername2 = currentplayer;
               
                    llSay(0, &amp;quot;You are in second place on the scoreboard!&amp;quot;);                                  }
            }else{
                    //third place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = currentplayer;
               
                    llSay(0, &amp;quot;You are in third place on the scoreboard!&amp;quot;);                 
            }
        }else{
                    //fourth place
                    playerscore5 = playerscore4;
                    playerscore4 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = currentplayer;
               
                    llSay(0, &amp;quot;You are in fourth place on the scoreboard!&amp;quot;);                 
        }
    }else{
                    //fifth place
                    playerscore5 = timecounter;
                   
                    playername5 = currentplayer;
               
                    llSay(0, &amp;quot;You are in fifth place on the scoreboard!&amp;quot;);                 
    }
}else{
    llSay(0, &amp;quot;You were not fast enough to get on the scoreboard&amp;quot;);
}
               
               
               
               
               
               
            }
        }
    }
   
    touch_start(integer numdetected)
    {
        //TYPE SCORE LIST!!!
        llSay(0, &amp;quot;SCORE LIST:&amp;quot;);
        llSay(0, &amp;quot;1. &amp;quot; + playername1 + &amp;quot; - &amp;quot; + (string) playerscore1 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;2. &amp;quot; + playername2 + &amp;quot; - &amp;quot; + (string) playerscore2 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;3. &amp;quot; + playername3 + &amp;quot; - &amp;quot; + (string) playerscore3 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;4. &amp;quot; + playername4 + &amp;quot; - &amp;quot; + (string) playerscore4 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;5. &amp;quot; + playername5 + &amp;quot; - &amp;quot; + (string) playerscore5 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;Game has been played &amp;quot; + (string) timesplayed + &amp;quot; times since reset&amp;quot;);
    }
   
    timer()
    {
        timecounter = timecounter + 1;
        if(timecounter &amp;gt;= maxtime)
        {
            llShout(1966, &amp;quot;STOP&amp;quot;);
            llSay (0, &amp;quot;Game over due to timeout...&amp;quot;);
            llSetTimerEvent(0);
            llSetText(&amp;quot;Game Server, Touch for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;, 1.0);
        }
    }
   
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Game&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;game&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;21-6350&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;yellow_balls&quot;&gt;Yellow Balls&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// open pacman game server script by kefcom belgium (kefcom@hotmail.com)

string currentplayer;
integer score;
integer maxscore;
integer timesplayed;
integer timecounter;
string playername1;
string playername2;
string playername3;
string playername4;
string playername5;
integer playerscore1;
integer playerscore2;
integer playerscore3;
integer playerscore4;
integer playerscore5;
integer maxtime;

default
{
    state_entry()
    {
 
  //////////////////////////////////////////////////////////////////////////////////////
        maxscore = 137; //change this value to the number of balls you have on the field
        maxtime = 500;
/////////////////////////////////////////////////////////////////////////////////////
 
        playername1 = &amp;quot;nobody&amp;quot;;
        playername2 = &amp;quot;nobody&amp;quot;;
        playername3 = &amp;quot;nobody&amp;quot;;
        playername4 = &amp;quot;nobody&amp;quot;;
        playername5 = &amp;quot;nobody&amp;quot;;
        playerscore1 = 300;
        playerscore2 = 300;
        playerscore3 = 300;
        playerscore4 = 300;
        playerscore5 = 300;
        timesplayed = 0;
        score = 0;
        llSetText(&amp;quot;Game Server&amp;quot;, &amp;lt;1,1,1&amp;gt;,1.0);
        llListen(1966, &amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;);
    }
   
    listen( integer channel, string name, key id, string msg)
    {
        if(msg==&amp;quot;STOP&amp;quot;)
        {
            llSetTimerEvent(0);
            llSay(0, &amp;quot;Game stopped!&amp;quot;);
            timecounter = 0;
            score = 0;
            currentplayer = &amp;quot;nobody&amp;quot;;
            llSetText(&amp;quot;Game Server, click for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;,1.0);
        }
        if(msg==&amp;quot;START&amp;quot;)
        {
            score = 0;
            llSetText(&amp;quot;Score: &amp;quot; + (string) score, &amp;lt;1,1,1&amp;gt;, 1.0);
            currentplayer = name;
            timecounter = 0;
            timesplayed = timesplayed + 1;
            llSetTimerEvent(1);
        }
        if(msg==&amp;quot;POINTS!&amp;quot;)
        {
            score = score + 1;
            llSetText(&amp;quot;Score: &amp;quot; + (string) score, &amp;lt;1,1,1&amp;gt;, 1.0);
            if(score &amp;gt;= maxscore)
            {
                //GAME OVER!
                llShout(0, &amp;quot;Game over&amp;quot;);
                llSetTimerEvent(0);
                llShout(0, &amp;quot;You needed &amp;quot; + (string) timecounter + &amp;quot; Seconds to complete the game!&amp;quot;);
                llSetText(&amp;quot;Game Server, Click me for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;, 1.0);
               
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// CALCULATE PLACE IN TOP 5 ////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
               
if(timecounter &amp;lt; playerscore5)
{
    if(timecounter &amp;lt; playerscore4)
    {
        if(timecounter &amp;lt; playerscore3)
        {
            if(timecounter &amp;lt; playerscore2)
            {
                if(timecounter &amp;lt; playerscore1)
                {
                    //first place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = playerscore2;
                    playerscore2 = playerscore1;
                    playerscore1 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = playername2;
                    playername2 = playername1;
                    playername1 = currentplayer;
               
                    llSay(0, &amp;quot;You are in first place on the scoreboard!&amp;quot;);
                }else{
                    //second place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = playerscore2;
                    playerscore2 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = playername2;
                    playername2 = currentplayer;
               
                    llSay(0, &amp;quot;You are in second place on the scoreboard!&amp;quot;);                                  }
            }else{
                    //third place
                    playerscore5 = playerscore4;
                    playerscore4 = playerscore3;
                    playerscore3 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = playername3;
                    playername3 = currentplayer;
               
                    llSay(0, &amp;quot;You are in third place on the scoreboard!&amp;quot;);                 
            }
        }else{
                    //fourth place
                    playerscore5 = playerscore4;
                    playerscore4 = timecounter;
                   
                    playername5 = playername4;
                    playername4 = currentplayer;
               
                    llSay(0, &amp;quot;You are in fourth place on the scoreboard!&amp;quot;);                 
        }
    }else{
                    //fifth place
                    playerscore5 = timecounter;
                   
                    playername5 = currentplayer;
               
                    llSay(0, &amp;quot;You are in fifth place on the scoreboard!&amp;quot;);                 
    }
}else{
    llSay(0, &amp;quot;You were not fast enough to get on the scoreboard&amp;quot;);
}
               
               
               
               
               
               
            }
        }
    }
   
    touch_start(integer numdetected)
    {
        //TYPE SCORE LIST!!!
        llSay(0, &amp;quot;SCORE LIST:&amp;quot;);
        llSay(0, &amp;quot;1. &amp;quot; + playername1 + &amp;quot; - &amp;quot; + (string) playerscore1 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;2. &amp;quot; + playername2 + &amp;quot; - &amp;quot; + (string) playerscore2 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;3. &amp;quot; + playername3 + &amp;quot; - &amp;quot; + (string) playerscore3 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;4. &amp;quot; + playername4 + &amp;quot; - &amp;quot; + (string) playerscore4 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;5. &amp;quot; + playername5 + &amp;quot; - &amp;quot; + (string) playerscore5 + &amp;quot; seconds.&amp;quot;);
        llSay(0, &amp;quot;Game has been played &amp;quot; + (string) timesplayed + &amp;quot; times since reset&amp;quot;);
    }
   
    timer()
    {
        timecounter = timecounter + 1;
        if(timecounter &amp;gt;= maxtime)
        {
            llShout(1966, &amp;quot;STOP&amp;quot;);
            llSay (0, &amp;quot;Game over due to timeout...&amp;quot;);
            llSetTimerEvent(0);
            llSetText(&amp;quot;Game Server, Touch for stats&amp;quot;, &amp;lt;1,1,1&amp;gt;, 1.0);
        }
    }
   
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Yellow Balls&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yellow_balls&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;6351-12688&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;start_button&quot;&gt;Start Button&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// open pacman game by kefcom belgium (kefcom@hotmail.com)

default
{
    state_entry()
    {
        llSetText(&amp;quot;Klick me to play&amp;quot;, &amp;lt;1,1,1&amp;gt;,1.0);
    }
    touch_start(integer num_detected)
    {
        llDialog(llDetectedKey(0), &amp;quot;Press Start to play&amp;quot;, [&amp;quot;START&amp;quot;, &amp;quot;STOP&amp;quot;],1966);
    }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start Button&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_button&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;12689-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Anmeldung / Registrierung</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/anmeldung?do=revisions&amp;rev=1575021543</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;anmeldungregistrierung&quot;&gt;Anmeldung / Registrierung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/anmeldung&quot; class=&quot;media&quot; title=&quot;archiv:opensim:anmeldung&quot; data-wiki-id=&quot;archiv:opensim:anmeldung&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/avatare.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;avatare.jpg&quot; alt=&quot;avatare.jpg&quot; /&gt;&lt;/a&gt; Auf dieser Seite können Sie sich kostenlos als neuer OpenSIM-Benutzer mit eigenem Avatar anmelden bzw. registrieren. Der von uns betriebene OpenSIM-Testserver steht jedem völlig kostenfrei zur Verfügung. Der OpenSIM-Server wird im Standalone-Modus betrieben und ist daher an kein anderes Grid angeschlossen. OpenSIM bietet eine fantastische Möglichkeit ohne Kosten die Möglichkeiten einer virtuellen 3D-Welt zu erkunden, seinen eigenen Avatar frei zu gestalten, virtuelles Land zu erschaffen, zu gestalten und zu bebauen, sowie Animationen, Bilder, Sound, Scripte, Texturen und vieles hochzuladen und zu nutzen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Anmeldung/Registrierung für OpenSIM&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Neue Benutzerkonten müssen von uns manuell im OpenSIM-Server eingetragen werden. Wenn Sie sich mit Ihrem eigenen Avatar auf dem OpenSIM-Server einloggen möchten, dann nutzen Sie bitte das untenstehende Formular. Um einen neuen Benutzerzugang für OpenSIM anlegen zu können benötigen wir von Ihnen mindestens folgende Angaben:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gewünschter OpenSIM-Name (bestehend aus Vor- und Nachname)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gewünschtes OpenSIM-Passwort&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Geben Sie bitte Ihren richtigen Namen und Ihre E-Mail Adresse ein, sowie darunter den von Ihnen gewünschten OpenSIM-Namen (bestehend aus Vor- und Nachname) und ein gewünschtes OpenSIM-Passwort. Wir tragen diese Daten in den OpenSIM-Server ein und schicken Ihnen dann zur Bestätigung eine E-Mail. Erst mit Zustellung unserer Bestätigungsmail sind Ihre OpenSIM-Zugangsdaten gültig und Sie können sich dann einloggen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Anmeldung \/ Registrierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;anmeldungregistrierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1574&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;opensim-registrierung&quot;&gt;OpenSIM-Registrierung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bitte verwenden Sie als OpenSIM Login (Vor- und Nachname) ein beliebiges Pseudonym, aber weder Ihren echten Namen, noch den Namen den Sie in Second Life oder bei anderen OpenSIM-Servern oder -Grids verwenden, denn Ihr 3D-Viewer kann unter Umständen den Cache und das Inventar nicht mehr korrekt getrennt verwalten, denn alle Einstellungen werden unter dem von Ihnen gewählten Namen in einen Ordner auf der Festplatte gespeichert. Wenn dieser Name immer gleich ist werden alle Ihre virtuellen Güter von verschiedenen OpenSIM-Servern im selben Ordner gespeichert und Sie können diese dann später nicht mehr getrennt verwalten (z.B. bei einer Datensicherung).
&lt;/p&gt;

&lt;p&gt;
Ihr OpenSIM Vor- und Nachname darf jeweils zwischen mindestens 4 bis maximal 12 alphanumerischen Zeichen lang sein und enthält weder Sonderzeichen (Bindestrich ist erlaubt) noch deutsche Umlaute und darf nicht mit einer Zahl beginnen. Das von Ihnen gewählte Passwort muss ebenfalls mindestens 4 Zeichen und darf höchstens 12 Zeichen lang sein. Beachten Sie das sowohl bei den Namen als auch beim Passwort zwischen Groß- und Kleinschreibung unterschieden wird. Anstössige Namen werden nicht akzeptiert.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM-Registrierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-registrierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1575-2778&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;wichtig_bevor_sie_sich_registrieren&quot;&gt;Wichtig, bevor Sie sich registrieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit Absenden der Anmeldung erklären Sie sich mit den Nutzungsregeln einverstanden. Lesen Sie die bitte zuerst die Nutzungsregeln aufmerksam durch bevor Sie das OpenSIM-Registrierungsformular absenden, denn Sie müssen den Nutzungsregeln verbindlich zustimmen und verstanden haben um als OpenSIM-Nutzer aufgenommen werden zu können. Nach Absendung Ihrer Registrierung müssen Sie zunächst unsere Registrierungsbestätigung abwarten, die wir an Ihre E-Mail Adresse schicken. Da alle Registrierungen von uns manuell in den OpenSIM-Server eingetragen und vorher überprüft werden ist eine Soforteintragung nicht möglich. Bitte haben Sie Geduld! Vor unserer E-Mail Bestätigung können Sie sich nicht einloggen. Das Absenden mehrerer Registrierungen hintereinander ist sinnlos, da Sie dann keinen Zugang erhalten und Mehrfachregistrierungen hintereinander automatisch gelöscht werden.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie Fragen zur Registrierung haben lesen Sie bitte zunächst &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/anmeldung#bei_registrierungs-problemen&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:anmeldung&quot; data-wiki-id=&quot;archiv:opensim:anmeldung&quot;&gt;unsere Tipps&lt;/a&gt; durch, falls dies nicht hilft nutzen Sie bitte unseren Support.
&lt;/p&gt;

&lt;p&gt;
&amp;lt;ttip:Zuerst die Nutzungsregeln&amp;gt;Vor der Registration bzw. Anmeldung zu OpenSIM sollten Sie unbedingt zuerst die Nutzungsregeln lesen !&amp;lt;/ttip&amp;gt; lesen &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt;
&lt;/p&gt;
&lt;form class=&quot;bureaucracy__plugin&quot; id=&quot;bureaucracy__plugin1&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; action=&quot;&quot; accept-charset=&quot;utf-8&quot;&gt;&lt;div class=&quot;no&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;sectok&quot; value=&quot;&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;bureaucracy[$$id]&quot; value=&quot;1&quot; /&gt;&lt;fieldset &gt;&lt;legend&gt;OpenSIM Login&lt;/legend&gt;
&lt;p&gt;Für das OpenSIM Login (Vorname, Nachname und Passwort) gilt folgendes: mindestens 4 Zeichen, maximal 12 Zeichen, jeweils nur 1 Wort, keine Leerzeichen, keine deutschen Umlaute, keine Sonderzeichen, der Vorname und Nachname muss mit einem Buchstaben beginnen. Gross- und Kleinschreibung wird beachtet. Wenn Sie diese Konventionen nicht einhalten kann Ihre Registrierung nicht durchgeführt werden !&lt;/p&gt;&lt;label&gt;&lt;span&gt;OpenSIM-Vorname &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[2]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;label&gt;&lt;span&gt;OpenSIM-Nachname &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[3]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;label&gt;&lt;span&gt;OpenSIM-Passwort &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;password&quot; name=&quot;bureaucracy[4]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;/fieldset&gt;
&lt;fieldset &gt;&lt;legend&gt;Persönliche Angaben&lt;/legend&gt;
&lt;label&gt;&lt;span&gt;Alter &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[6]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;label&gt;&lt;span&gt;Ich bin &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;select name=&quot;bureaucracy[7]&quot;&gt;
&lt;option value=&quot;weiblich&quot; selected=&quot;selected&quot;&gt;weiblich&lt;/option&gt;&lt;option value=&quot;männlich&quot;&gt;männlich&lt;/option&gt;
&lt;/select&gt;&lt;/label&gt;
&lt;label&gt;&lt;span&gt;E-Mail &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[8]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;p&gt;Wegen häufigen Missbrauchs lehnen wir es ab Registrierungsbestätigungen an Freemail-Anbieter Adressen versenden. Freemail E-Mail Adressen können nicht zur OpenSIM-Registrierung verwendet werden !&lt;/p&gt;&lt;label class=&quot;&quot; for=&quot;bureaucracy__7003ba90c0089722db58a04d61537413&quot;&gt;&lt;span&gt;Nutzungsregeln gelesen, verstanden und akzeptiert&lt;/span&gt;&lt;input type=&quot;hidden&quot; name=&quot;bureaucracy[10]&quot; value=&quot;0&quot; /&gt;&lt;input type=&quot;checkbox&quot; name=&quot;bureaucracy[10]&quot; value=&quot;1&quot; id=&quot;bureaucracy__7003ba90c0089722db58a04d61537413&quot;  /&gt;&lt;/label&gt;&lt;p&gt;Bevor Sie Ihre Registrierung absenden müssen Sie zunächst die Nutzungsregeln durchgelesen und verstanden haben. Wenn Sie die Nutzungsregeln nicht lesen oder nicht akzeptieren wird Ihre Registrierung kommentarlos storniert. Klicken Sie zum lesen der Nutzungsregeln auf den obigen Link.&lt;/p&gt;&lt;label&gt;&lt;span&gt;Ich bestätige die Korrektheit meiner Angaben. Falls ja geben Sie ja ein &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[12]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;/fieldset&gt;
&lt;fieldset &gt;&lt;legend&gt;OpenSIM Benutzerprofil&lt;/legend&gt;
&lt;label&gt;&lt;span&gt;Wählen Sie Ihre Nutzungsart &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;select name=&quot;bureaucracy[14]&quot;&gt;
&lt;option value=&quot;nur OpenSIM 3D-Welt&quot; selected=&quot;selected&quot;&gt;nur OpenSIM 3D-Welt&lt;/option&gt;&lt;option value=&quot;nur OpenSIM-Wiki&quot;&gt;nur OpenSIM-Wiki&lt;/option&gt;&lt;option value=&quot;OpenSIM 3D-Welt und OpenSIM-Wiki&quot;&gt;OpenSIM 3D-Welt und OpenSIM-Wiki&lt;/option&gt;
&lt;/select&gt;&lt;/label&gt;
&lt;p&gt;Sie können sich entweder für die OpenSIM 3D-Welt registrieren in die Sie sich mit Ihrem Avatar über einen 3D-Viewer einloggen, oder für das OpenSIM-Wiki auf dem Sie mit Ihrem Webbrowser Einträge in die OpenSIM-Wissensdatenbank machen können, oder zusammen für beides.&lt;/p&gt;&lt;button type=&quot;submit&quot;&gt;Absenden&lt;/button&gt;
&lt;/fieldset&gt;
&lt;/div&gt;&lt;/form&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wichtig, bevor Sie sich registrieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wichtig_bevor_sie_sich_registrieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2779-6158&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;opensim-login&quot;&gt;OpenSIM-Login&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn Sie die E-Mail Bestätigung erhalten haben können Sie sich dann mit Ihrem normalen Second Life Programm (Viewer), oder einem der anderen 3D-Viewer in OpenSIM einloggen. Wenn Sie den Second Life Viewer verwenden möchten, müssen Sie diesen vorher noch etwas anpassen damit sich dieser dann nicht in Second Life, sondern in OpenSIM einloggt. Dazu machen Sie am besten eine neue Symbol-Verknüpfung von Ihrem Second Life Viewer auf den Desktop und benennen dieses neue Symbol in „OpenSIM“ um, damit Sie zwischen einem Login in Second Life und einem Login in OpenSIM unterscheiden können.
&lt;/p&gt;

&lt;p&gt;
Klicken Sie mit der rechten Maustaste auf das neue Symbol und gehen in dem Kontextmenü auf „Eigenschaften“. In den dann erscheinenden Einstellungen gehen Sie zu „Verknüpfung“. Im Feld „Ziel“ ändern Sie die Zeile folgendermassen ab:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;C:\Programme\SecondLife\SecondLife.exe -loginuri &lt;a href=&quot;http://opensim.DOMAIN:9090/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.DOMAIN:9090/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://opensim.DOMAIN:9090/&lt;/a&gt; -loginpage &lt;a href=&quot;http://opensim.DOMAIN:9090/?method=login&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.DOMAIN:9090/?method=login&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://opensim.DOMAIN:9090/?method=login&lt;/a&gt;&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Dieser Programm-Pfad gilt natürlich nur wenn Sie Second Life auch wie standardmäßig von Second Life empfohlen unter diesem Pfad gespeichert haben. Falls nicht müssen Sie diesen Pfad an die Gegebenheiten auf Ihrem PC anpassen. Bevor Sie sich in OpenSIM einloggen, stellen Sie bitte in Ihrem Viewer die Netzwerkbandbreite auf den Wert 200 ein. Wenn Sie die Bandbreite zu hoch einstellen, werden Sie sich unter Umständen nicht bewegen können.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM-Login&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-login&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6159-7594&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;bei_login-problemen&quot;&gt;Bei Login-Problemen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/anmeldung-home.gif?id=archiv%3Aopensim%3Aanmeldung&quot; class=&quot;media&quot; title=&quot;anmeldung-home.gif&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/anmeldung-home.gif&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Achten Sie darauf daß Sie bei Ihrem ersten Login Ihren 3D-Viewer richtig einstellen! Sie müssen als Startposition (Start Location) beim Erst-Login unbedingt „Home“ eingestellt haben, denn „Last Position“ (letzter Standort) kann logischerweise nicht funktionieren, da Sie ja noch nie an diesem Server eingeloggt waren und es daher auch keine letzte Position von Ihnen gibt. Daher meldet sich Ihr 3D-Viewer dann auch mit einer Fehlermeldung. Falls auch die Home-Position bei Ihrem 3D-Viewer nicht funktioniert, können Sie alternativ auch direkt den Namen der Startregion eingeben: „Palm City“. Sie finden dieses Auswahl- bzw. Eingabefeld bei Ihrem 3D-Viewer direkt unter den beiden Feldern für Ihren Avatar-Loginnamen.
&lt;/p&gt;

&lt;p&gt;
Sollten Sie immer noch Login-Probleme haben, melden Sie sich bitte über den Live-Support. Wir helfen Ihnen gerne weiter!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bei Login-Problemen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bei_login-problemen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7595-8495&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;bei_registrierungs-problemen&quot;&gt;Bei Registrierungs-Problemen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Achten Sie darauf dass in Ihren Webbrowser Cookies und JavaScript aktiviert sind.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sie haben sich gerade eben registriert, aber noch keine Registrierungsbestätigung per E-Mail erhalten ? Bitte haben Sie etwas Geduld, denn wir müssen jede Registrierung manuell in den Server eintragen, sitzen aber nicht rund um die Uhr dafür am PC. Es kann bis zu 24 Stunden dauern bis wir neue OpenSIM-Konten einrichten.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sie haben Ihre Registrierung mehrmals abgeschickt, wundern sich aber dass Sie keine Registrierungsbestätigung bekommen ? Sie haben leider entweder die &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/nutzungsregeln&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:nutzungsregeln&quot; data-wiki-id=&quot;archiv:opensim:nutzungsregeln&quot;&gt;Nutzungsregeln&lt;/a&gt; nicht gelesen, oder nicht verstanden, aber auf jeden Fall nicht akzeptiert. Sie sollten die Nutzungsregeln beachten, sonst werden Sie nicht als OpenSIM-Benutzer aufgenommen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sie haben Ihre Registrierung korrekt nur einmal abgeschickt, erhalten aber auch nach 24 Stunden keine Registrierungsbestätigung ? Haben Sie Ihre Daten richtig eingegeben ? Falls der eingetragene Name kürzer als 4 oder länger als 12 Zeichen ist, oder Sonderzeichen enthält kann er nicht eingetragen werden. Falls Sie Ihre E-Mail Adresse falsch eingegeben haben kann die Registrierungsbestätigung nicht bei Ihnen ankommen, sondern kommt mit einer Unzustellbarkeitsnachricht an uns zurück. Wenn Sie im Zweifel sind hier einen Fehler gemacht zu haben, fragen Sie uns über den Support.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sie haben zur Registrierung eine kostenlose E-Mail Adresse eines Freemail-Anbieters verwendet. Aufgrund des häufigen Missbrauchs solcher E-Mail Adressen sind diese Anbieter in der IP-Blacklist gesperrt. Daher können an diese E-Mail Adressen keine Registrierungsbestätigungen geschickt werden.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Bei Registrierungs-Problemen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bei_registrierungs-problemen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;8496-10192&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;opensim-login_mit_dem_hippo-viewer&quot;&gt;OpenSIM-Login mit dem Hippo-Viewer&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Hippo-Viewer ist der favorisierte 3D-Viewer für OpenSIM und bietet mehr Funktionen als der Second Life Viewer, speziell für Leute die gerne bauen. Ausserdem enthält er den neuen Menüpunkt „Grids“, womit Sie die Zugangsdaten von verschiedenen Grids eintragen und so sehr leicht beim Start des Viewers entscheiden können wo Sie sich einloggen möchten. Falls Sie den Hippo-Viewer verwenden möchten, machen Sie im Menü „Grid“ einen neuen Eintrag und geben Sie die Werte ein wie im Bild unten zu sehen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/hippo-login.jpg?id=archiv%3Aopensim%3Aanmeldung&quot; class=&quot;media&quot; title=&quot;hippo-login.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/hippo-login.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/hippo-netzwerk.jpg?id=archiv%3Aopensim%3Aanmeldung&quot; class=&quot;media&quot; title=&quot;hippo-netzwerk.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/hippo-netzwerk.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Anschliessend gehen Sie in das Menü „Network“ und stellen dort den Wert „Maximum Bandwidth“ (maximale Netzwerk-Bandbreite) auf 200 kbps ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM-Login mit dem Hippo-Viewer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim-login_mit_dem_hippo-viewer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;10193-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:03 +0000</pubDate>
        </item>
        <item>
            <title>High 5</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/high_5?do=revisions&amp;rev=1575021505</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;high_5&quot;&gt;High 5&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;object width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/-mMRY2N6s2I&amp;rel=0&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=de_DE&amp;feature=player_embedded&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/-mMRY2N6s2I&amp;rel=0&amp;color1=0x6699&amp;color2=0x54abd6&amp;hl=de_DE&amp;feature=player_embedded&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:25 +0000</pubDate>
        </item>
        <item>
            <title>Video München</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/muenchen?do=revisions&amp;rev=1575021505</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;video_muenchen&quot;&gt;Video München&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/aO-GGHsJ1Lk&amp;hl=de_DE&amp;fs=1&amp;rel=0&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/aO-GGHsJ1Lk&amp;hl=de_DE&amp;fs=1&amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:25 +0000</pubDate>
        </item>
        <item>
            <title>WLAN-Verbindung mit Smartphone herstellen</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/wlan_mit_smartphone?do=revisions&amp;rev=1575021506</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;wlan-verbindung_mit_smartphone_herstellen&quot;&gt;WLAN-Verbindung mit Smartphone herstellen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;object width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/ONsPGBl9bb0&amp;hl=de_DE&amp;fs=1&amp;rel=0&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/ONsPGBl9bb0&amp;hl=de_DE&amp;fs=1&amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:26 +0000</pubDate>
        </item>
        <item>
            <title>Snow Crash</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/snow_crash?do=revisions&amp;rev=1575021516</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;snow_crash&quot;&gt;Snow Crash&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/begriffe/snowcrash.jpg?id=archiv%3Aopensim%3Abegriffe%3Asnow_crash&quot; class=&quot;media wikilink2&quot; title=&quot;begriffe:snowcrash.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/begriffe/snowcrash.jpg?w=250&amp;amp;tok=26ec9b&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;snowcrash.jpg&quot; alt=&quot;snowcrash.jpg&quot; width=&quot;250&quot; /&gt;&lt;/a&gt; Snow Crash (1992) ist ein Science-Fiction-Roman von &lt;a href=&quot;http://www.nealstephenson.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.nealstephenson.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Neal Stephenson&lt;/a&gt;, der die Geschichte ursprünglich gemeinsam mit dem Graphiker Tony Sheeder als computergenerierten Comic herausbringen wollte. Er spielt in Los Angeles in einer nicht allzu fernen Zukunft.
&lt;/p&gt;

&lt;p&gt;
Hiro Protagonist, Held und Hauptperson des Buches, ist Pizza-Auslieferer (Auslieferator), Programmierer (was im Roman allgemein als Hacker bezeichnet wird) und Ermittler für die „Central Intelligence Corporation“ (CIC), die kommerziell arbeitende Nachfolgeorganisation der CIA. Die Pizza-Firma gehört dem Mafia-Boss Onkel Enzo, der seinen Kunden eine Zustellzeit von 30 Minuten garantiert, ansonsten stirbt der Auslieferator. Da sich der Staat fast vollständig aus dem öffentlichen Leben zurückgezogen hat und alle gesellschaftlichen Ordnungsfunktionen Privatunternehmen überlassen hat, sind solche Geschäftspraktiken keineswegs illegal; genauso wenig ist hier die Mafia eine kriminelle Vereinigung, sondern eine Franchise-Kette wie alle anderen Institutionen auch: Polizei und Justiz, Regierungen und Staaten sind sämtlich privatisiert. Es herrscht Hyperinflation und extreme soziale Ungleichheit.
&lt;/p&gt;

&lt;p&gt;
Aus dieser anarchokapitalistischen Dystopie fliehen die handelnden Personen immer wieder in das Metaversum, einer Mischung zwischen Internet und MMORPG, durch die sie sich mit Avataren bewegen. Hiro und seine Partnerin, die 15-jährige Kurierfahrerin Y.T. machen sich auf die Suche nach einer geheimnisvollen Droge namens Snow Crash, die seltsamerweise sowohl in der realen Welt als auch im Metaversum verheerende Auswirkungen auf das Gehirn von Menschen, vor allem aber von Programmierern hat. Bei dieser Suche stehen ihnen die Kommunikationsmöglichkeiten der virtuellen Realität, die Kollegen der Mafia und nicht zuletzt Hiros Samuraischwerter (Katana und Wakizashi) zur Seite. Diese Unterstützung ist auch notwendig, da eine gewaltige Verschwörung im Gange ist, die von L. Bob Rife initiiert wurde, dem Eigentümer des weltweiten Glasfasernetzes, Entdecker der Droge, und Förderer einer Pfingstler-Sekte.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Snow Crash&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;snow_crash&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2171&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;was_hat_der_begriff_mit_opensim_zu_tun&quot;&gt;Was hat der Begriff mit OpenSIM zu tun ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Stephenson war zwar nicht der erste, der den Begriff &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/avatar&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:avatar&quot; data-wiki-id=&quot;archiv:opensim:begriffe:avatar&quot;&gt;Avatar&lt;/a&gt; zur Bezeichnung virtueller Abbilder realer Personen verwendete, sein Roman Snow Crash trug aber wesentlich zur Verbreitung des Worts bei. Das Konzept des &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/metaversum&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:metaversum&quot; data-wiki-id=&quot;archiv:opensim:begriffe:metaversum&quot;&gt;Metaversum&lt;/a&gt;s wird als wichtige Inspiration für virtuelle Welten wie Second Life angesehen. Angeblich war der Roman auch eine Inspirationsquelle für die Firma Keyhole, die das Vorgängerprogramm von Google Earth entwickelte.
&lt;/p&gt;

&lt;p&gt;
Quelle: &lt;a href=&quot;http://de.wikipedia.org/wiki/Snow_Crash&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Snow_Crash&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wikipedia&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was hat der Begriff mit OpenSIM zu tun ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_hat_der_begriff_mit_opensim_zu_tun&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2172-2734&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;weitere_links_zu_snow_crash&quot;&gt;Weitere Links zu Snow Crash&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.cyberartsweb.org/cpace/scifi/ns/snowcrashov.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.cyberartsweb.org/cpace/scifi/ns/snowcrashov.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.cyberartsweb.org/cpace/scifi/ns/snowcrashov.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Links zu Snow Crash&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_links_zu_snow_crash&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2735-2838&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;video&quot;&gt;Video&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Autor Neal Stephenson liest aus seinem Buch „Anathem“:
&lt;/p&gt;

&lt;p&gt;

&lt;object width=&quot;480&quot; height=&quot;295&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/W-kjLY88ZKY&amp;hl=de&amp;fs=1&amp;rel=0&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/W-kjLY88ZKY&amp;hl=de&amp;fs=1&amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;295&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Video&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;video&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2839-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:36 +0000</pubDate>
        </item>
        <item>
            <title>Teleport to Sim</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/teleport_to_sim?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;teleport_to_sim&quot;&gt;Teleport to Sim&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;string teleport_message = &amp;quot;Sie teleportieren nun zur Sim M34&amp;quot;;
string destination_name = &amp;quot;Sim M34 von OpenSIM&amp;quot;;
vector destination_landing_point = &amp;lt;170,156,23&amp;gt;;
vector landing_point_facing = &amp;lt;150,120,34&amp;gt;;
default
{
    state_entry()
    {
        llSay(0, &amp;quot;Script running&amp;quot;);
        llSetText(&amp;quot;Teleport zu\n&amp;quot; + destination_name, &amp;lt;1,1,1&amp;gt;, 1);
        llSetTextureAnim(ANIM_ON | SMOOTH | ROTATE | LOOP, ALL_SIDES, 0, 0, 1.0, 1000, 0.07);
    }
    
    touch_start(integer number)
    {   llRegionSay(-1, &amp;quot;occulus,&amp;quot; + llDetectedKey(0) + &amp;quot;,&amp;quot; + destination_name);
        llMapDestination(&amp;quot;DOMAIN:9090&amp;quot;, destination_landing_point, landing_point_facing);
        
    }
    

}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Texture Dropper</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/texture_dropper?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;texture_dropper&quot;&gt;Texture Dropper&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// **** Texture Dropper Screen v1.11, by Mircea Kitsune &amp;amp; Sm0key ****

// -------- Settings: --------
// Modify these to adjust the properties of your screen. Unless a specific value is required, use TRUE or FALSE.

integer face = 0; //Primitive face to be used as screen.
integer text = 2; //0 means no text, 1 displays lock status, 2 displays lock status and image + creator names. Selecting 2 clears the image between script restarts.
integer notices = TRUE; //Echo information such as locking / unlocking of the screen and error messages in-world.

integer lockdefault = FALSE; //Set to TRUE if the screen is to be locked by default. Relevant in the case of script restarts and when using the &amp;quot;clear&amp;quot; command.
integer lockonpost = FALSE; //If TRUE the screen is locked once someone posts the first picture in it, useful for &amp;#039;find and claim&amp;#039; screens.
    integer creatorlock = TRUE; //When lockonpost is also TRUE, this allows the creator of the displayed image to lock / unlock or clear the screen.

string screenname = &amp;quot;screen&amp;quot;; //The name which best describes what your object is, used for info and text display (eg: screen, painting, monitor).
string sound = &amp;quot;&amp;quot;; //A sound to be played each time a new image is posted. Leave this string empty to disable sounds.
    float soundvol = 1; //Volume of the sound specified above, can be anything between 0 and 1.

// -------- Script: --------
// Modify anything below if you are a scripter and want to change something else in the script.

string ScriptName;
string InvName;
string InvCreator;
string Toucher;

string Blank = &amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;; //UUID of the blank texture.
integer CmdChan = 9945; //System channel for llDialog.

default
{
    state_entry()
    {
        ScriptName = llGetScriptName();
        llPreloadSound(sound);
        if(text == 2) //Set texture to blank when names are used to avoid images with no names between script restarts.
        {
            llSetTexture(Blank, face);
            llPlaySound(sound, soundvol);
        }
        else if(text != 1 | text != 2)
        {
            llSetText(&amp;quot;&amp;quot;, &amp;lt;0,0,0&amp;gt;, 0);
        }
       
        if(lockdefault == TRUE)
        {
            state locked;
        }
        else
        {
            state unlocked;
        }
    }
}

state locked
{
    state_entry()
    {
        llAllowInventoryDrop(0);
        llListen(CmdChan, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        if(notices == 1)
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is now locked.&amp;quot;);
        }
       
        if(text == 2 &amp;amp; InvName != &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;1,0.5,0.5&amp;gt;, 1);
        }
        else if(text == 1 | text == 2 &amp;amp; InvName == &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked]&amp;quot;, &amp;lt;1,0.5,0.5&amp;gt;, 1);
        }
    }
   
    touch_start(integer avatar)
    {
        Toucher = llDetectedKey(0);
        llSetTimerEvent(15);
        if (Toucher == llGetOwner())
        {
            llDialog(llDetectedKey(0) , &amp;quot;You are the owner of this screen. What do you wish to do?&amp;quot;, [&amp;quot;unlock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else if(lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            llDialog(llDetectedKey(0) , &amp;quot;You have been identified as the creator of the currently posted image. What do you wish to do?&amp;quot;, [&amp;quot;unlock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is locked. The owner must first unlock it before you can display new pictures.&amp;quot;);
        }
    }
   
    listen(integer channel, string name, key id, string message)
    {
        if(Toucher == llGetOwner() | lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            Toucher = &amp;quot;&amp;quot;; //Protection so if an owner was the last to touch the object not anyone is able to manually chat an owner-only command on the channel.
            if(llToLower(message) == &amp;quot;unlock&amp;quot;)
            {
                state unlocked;
            }
            if(llToLower(message) == &amp;quot;clear&amp;quot;)
            {
                llSetTexture(Blank, face);
                llPlaySound(sound, soundvol);
                InvName = &amp;quot;&amp;quot;;
                InvCreator = &amp;quot;&amp;quot;;
                if(lockdefault == TRUE)
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; locked]&amp;quot;, &amp;lt;1,0.5,0.5&amp;gt;, 1);
                }
                else
                {
                    state unlocked;
                }
            }               
        }
    }
   
    timer()
    {
        Toucher = &amp;quot;&amp;quot;; //Further protection so if an owner ignores the dialog the screen does not remain vulnerable for anyone to chat an owner-only command to.
        llSetTimerEvent(0);
    }
}

state unlocked
{
    state_entry()
    {
        llAllowInventoryDrop(1);
        llListen(CmdChan, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        if(notices == 1)
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is now unlocked.&amp;quot;);
        }
       
        if(text == 2 &amp;amp; InvName != &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;0.5,1,0.5&amp;gt;, 1);
        }
        else if(text == 1 | text == 2 &amp;amp; InvName == &amp;quot;&amp;quot;)
        {
            llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked]&amp;quot;, &amp;lt;0.5,1,0.5&amp;gt;, 1);
        }
    }
   
    changed(integer mask)
    {
        if(mask &amp;amp; (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY))
        {
            if(llGetInventoryNumber(0)) //Texture dropped
            {
                InvName = llGetInventoryName(INVENTORY_TEXTURE, 0);
                key InvKey = llGetInventoryKey(InvName);
                InvCreator = llKey2Name(llGetInventoryCreator(InvName));
                llRemoveInventory(InvName);
                llSetTexture(InvKey, face);
                llPlaySound(sound, soundvol);
                if(lockonpost == TRUE)
                {
                    state locked;
                }
                else if(text == 2)
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked] - &amp;quot; + InvName + &amp;quot; by &amp;quot; + InvCreator, &amp;lt;0.5,1,0.5&amp;gt;, 1);
                }
            }
            else //Something else dropped
            {
                integer Items = llGetInventoryNumber(-1);
                do
                {
                    string InvName = llGetInventoryName(INVENTORY_ALL, --Items);
                    if (InvName != ScriptName &amp;amp; InvName != sound)
                    {
                        llRemoveInventory(InvName);
                        if(notices == 1)
                        {
                            llSay(0, &amp;quot;Error - Only textures may be dropped inside the &amp;quot; + screenname + &amp;quot;.&amp;quot;);
                        }
                    }
                }
                while(Items);
            }
        }
    }
   
    touch_start(integer avatar)
    {
        Toucher = llDetectedKey(0);
        llSetTimerEvent(15);
        if (Toucher == llGetOwner())
        {
            llDialog(llDetectedKey(0) , &amp;quot;You are the owner of this screen. What do you wish to do?&amp;quot;, [&amp;quot;lock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else if(lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            llDialog(llDetectedKey(0) , &amp;quot;You have been identified as the creator of the currently posted image. What do you wish to do?&amp;quot;, [&amp;quot;lock&amp;quot;, &amp;quot;clear&amp;quot;], CmdChan);
        }
        else
        {
            llSay(0, &amp;quot;The &amp;quot; + screenname + &amp;quot; is unlocked. Control + drag textures onto it to display them.&amp;quot;);
        }
    }
   
    listen(integer channel, string name, key id, string message)
    {
        if(Toucher == llGetOwner() | lockonpost == TRUE &amp;amp; creatorlock == TRUE &amp;amp; llKey2Name(Toucher) == InvCreator)
        {
            Toucher = &amp;quot;&amp;quot;; //Protection so if an owner was the last to touch the object not anyone is able to manually chat an owner-only command on the channel.
            if(llToLower(message) == &amp;quot;lock&amp;quot;)
            {
                state locked;
            }
            if(llToLower(message) == &amp;quot;clear&amp;quot;)
            {
                llSetTexture(Blank, face);
                llPlaySound(sound, soundvol);
                InvName = &amp;quot;&amp;quot;;
                InvCreator = &amp;quot;&amp;quot;;
                if(lockdefault == TRUE)
                {
                    state locked;
                }
                else
                {
                    llSetText(&amp;quot;[&amp;quot; + screenname + &amp;quot; unlocked]&amp;quot;, &amp;lt;0.5,1,0.5&amp;gt;, 1);
                }
            }               
        }
    }
   
    timer()
    {
        Toucher = &amp;quot;&amp;quot;; //Further protection so if an owner ignores the dialog the screen does not remain vulnerable for anyone to chat an owner-only command to.
        llSetTimerEvent(0);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>FAQ</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/faq?do=revisions&amp;rev=1575021507</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;faq&quot;&gt;FAQ&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Bevor Sie uns um Hilfe rufen lesen Sie bitte diese &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt;. Hier in der &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt; (Frequently asked Questions) finden Sie die uns am meisten gestellten Fragen und die Antworten dazu.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FAQ&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;faq&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-193&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;benoetige_ich_spezielle_zugangsdaten&quot;&gt;Benötige ich spezielle Zugangsdaten ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ja ! Die Zugangsdaten sind im Projekt WLAN Hotspot München nicht einheitlich, was bedeutet das der WLAN-Zugangsschlüssel (Passwort) an jedem WLAN-Hotspot anders lautet. Den Zugangsschlüssel bekommen Sie vor Ort beim Betreiber des WLAN-Hotspots. In Cafes, Restaurant o.ä. fragen Sie einfach das Servicepersonal. Sie bekommen den Schlüssel dann auf Anfrage mitgeteilt und können diesen in Ihr Notebook, PDA o.ä. eingeben.
&lt;/p&gt;

&lt;p&gt;
Alle weiteren Daten und Modalitäten erfahren Sie zumeist auf der jeweiligen Homepage des Anbieters oder direkt vor Ort. Die SSID der meisten am WLAN-Projekte Hotspot München beteiligten WLAN Access Points lautet „hotspot-muenchen.de“, kann aber auch abweichen, je nach Konfiguration des Betreibers.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ben\u00f6tige ich spezielle Zugangsdaten ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benoetige_ich_spezielle_zugangsdaten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;194-973&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;ein_hotspot_fuer_alle&quot;&gt;Ein Hotspot für alle ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ein Hotspot kann aus mehr als einem Access Point bestehen - eine Hotzone ist es in jedem Fall - nur hat sich der Begriff „Hotspot“ bei den meisten Nutzern eingeprägt. Korrekterweise müsste es aber Hotzone heissen, um die es sich tatsächlich handelt. Viele WLAN-Nutzer verwenden die Begriffe aber fachlich falsch und verstehen unter „ein Hotspot für alle“ fälschlicherweise „ein Access Point für alle“, was natürlich nicht richtig ist. In der Tat handelt es sich beim WLAN Hotspot München Projekt um sehr viele, in der Stadt München verteilte, WLAN Access Points. Also heisst es korrekt „eine Hotzone, bestehend aus vielen Access Points, für alle“.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ein Hotspot f\u00fcr alle ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ein_hotspot_fuer_alle&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;974-1667&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;gibt_es_die_hotspot-standorte_als_pois_fuer_google-earth_csv_oder_aehnlichem_um_sie_auf_mobilen_geraeten_zu_verwenden&quot;&gt;Gibt es die Hotspot-Standorte als POIs für Google-Earth, CSV oder ähnlichem um sie auf mobilen Geräten zu verwenden ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zur Zeit bieten wir die &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/hotspot_karte&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:hotspot_karte&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:hotspot_karte&quot;&gt;Download-Möglichkeit&lt;/a&gt; einer POI-Datei im Textformat die die genauen Koordinaten (Lat, Lon), sowie Name und Adresse der Hotspot-Standorte enthält. Diese Daten lassen sich in andere Anwendungen importieren. Zukünftig geplant ist eine zusätzliche Download-Möglichkeit als KML-Datei für Google Earth.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gibt es die Hotspot-Standorte als POIs f\u00fcr Google-Earth, CSV oder \u00e4hnlichem um sie auf mobilen Ger\u00e4ten zu verwenden ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gibt_es_die_hotspot-standorte_als_pois_fuer_google-earth_csv_oder_aehnlichem_um_sie_auf_mobilen_geraeten_zu_verwenden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1668-2144&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;ich_moechte_ihr_wlan-projekt_gerne_unterstuetzen_was_kann_ich_tun&quot;&gt;Ich möchte Ihr WLAN-Projekt gerne unterstützen. Was kann ich tun ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn Sie eine eigene Homepage haben verlinken Sie uns einfach und helfen Sie uns dadurch das WLAN-Projekt bekannter zu machen. Verlinken Sie auf &lt;a href=&quot;http://www.hotspot-muenchen.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hotspot-muenchen.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.hotspot-muenchen.de&lt;/a&gt; und geben Sie uns bitte Bescheid auf welche Webadresse (&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;) Sie den Link zu uns gesetzt haben, wir werden uns mit einem Gegenlink erkenntlich zeigen. Unterstützen können Sie uns auch indem Sie selbst Ihren Standort für einen neuen WLAN Access Point zur Verfügung stellen. Wenn Sie der Meinung sind einen für WLAN-Nutzer sinnvollen Standort anbieten zu können, würden wir uns über eine kurze Info freuen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich m\u00f6chte Ihr WLAN-Projekt gerne unterst\u00fctzen. Was kann ich tun ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_moechte_ihr_wlan-projekt_gerne_unterstuetzen_was_kann_ich_tun&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2145-2814&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;ist_ueber_200_meter_hoehe_fuer_einen_wlan_access_point_nicht_einfach_zu_hoch&quot;&gt;Ist über 200 Meter Höhe für einen WLAN Access Point nicht einfach zu hoch ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nein, denn die WLAN-Technik auf dem Münchner Olympiaturm wird nicht für den direkten Anschluss von WLAN-Nutzern eingesetzt, sondern für Richtfunkstrecken und da ist diese Höhe optimal, denn sie bietet eine ausgezeichnete Sichtverbindung ohne störende Bebauung anderer Häuser oder Bäume bis in die benachbarten Landkreise hinaus. Somit sind sehr hohe Entfernungen möglich die in tieferen Lagen oder Bodennähe nicht möglich wären.
&lt;/p&gt;

&lt;p&gt;
Natürlich nimmt die Signalstärke mit steigender Entfernung ab, aber vergleichsweise zu störender Bebauung oder auch anderen Sendern im gleichen Frequenzband ist dies immer noch das kleinste Übel, insbesondere wenn man sich vergegenwärtigt das auf dem Olympiaturm Richtantennen mit einer ausgezeichneten Abstrahlcharakteristik eingesetzt werden die auch im Mobilfunk zum Einsatz kommen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ist \u00fcber 200 Meter H\u00f6he f\u00fcr einen WLAN Access Point nicht einfach zu hoch ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ist_ueber_200_meter_hoehe_fuer_einen_wlan_access_point_nicht_einfach_zu_hoch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2815-3737&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;ist_ein_stadtweites_drahtloses_netzwerk_projekt_nicht_eine_nummer_zu_gross_fuer_euch&quot;&gt;Ist ein stadtweites, drahtloses Netzwerk Projekt nicht eine Nummer zu gross für Euch ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Keineswegs ! Drei der fünf Projektpartner haben in der Vergangenheit schon einige WLAN- und WMAN-Infrastrukturen in Deutschland und im Ausland erfolgreich aufgebaut die heute im täglichen Dauereinsatz bei Firmen und privaten Benutzern sind. Lediglich die besondere Höhe des Olympiaturms München ist eine extra Herausforderung. Vier der fünf Projektpartner kommen zusätzlich aus dem Amateurfunk und kennen sich hervorragend mit Antennentechnik aus, haben also ideale Vorraussetzungen für Projekte dieser Art, wo es sehr extrem um Abstrahlcharakteristiken, Strahlungsfeldoptimierung und Störungsminimierung geht.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ist ein stadtweites, drahtloses Netzwerk Projekt nicht eine Nummer zu gross f\u00fcr Euch ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ist_ein_stadtweites_drahtloses_netzwerk_projekt_nicht_eine_nummer_zu_gross_fuer_euch&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3738-4456&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;ist_der_wlan_hotspot_muenchen_ein_offenes_netzwerk&quot;&gt;Ist der WLAN Hotspot München ein offenes Netzwerk ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Frage ist wie man den Begriff „offen“ definiert. Das WLAN Hotspot München Projekt ist ein offenes Netzwerkkonzept, was bedeutet es arbeitet nach international anerkannten Standards, kann jederzeit erweitert werden, ist unabhängig von Internet Providern, firmenübergreifend, nichtkommerziell, unparteiisch und kostenlos nutzbar.
&lt;/p&gt;

&lt;p&gt;
Offen bedeutet jedoch nicht das das drahtlose Netzwerk und seine Teilnehmer ungeschützt sind und der Datenverkehr abgehört werden könnte. Der Datenverkehr von und zu allen Netzknoten wird gut verschlüsselt und in Echtzeit überwacht. WLAN-Teilnehmer müssen sich mit einem Passwort an den Access Points als Nutzer authentifizieren. Damit diese Authentifizierung an allen angeschlossenen Access Points identisch ist, wird ein zentraler RADIUS-Server benutzt der die WLAN-Nutzer und die Passwörter verwaltet.
&lt;/p&gt;

&lt;p&gt;
Durch leider häufig vorkommende sachlich falsch geschriebene Presseberichte und Artikel auf anderen Websites von anderen Anbietern wird vielfach von der Nutzung „offener WLANs“ gewarnt, weil diese angeblich unsicher seien und man müsse um die Daten auf dem eigenen PC Angst haben. Diese Gefahr besteht allerdings nur dann wenn die Betreiber der WLAN Access Points, sowie die WLAN-Nutzer allzu sorglos mit den eigenen Daten umgehen, sowie die Geräte falsch konfigurieren. Sie sollten daher immer, egal ob Sie nun einen eigenen Internetzugang oder ein WLAN nutzen, für eine optimale Sicherheit auf Ihrem eigenen PC, Notebook oder PDA sorgen und das Betriebssystem Ihres Computers stets auf dem aktuellsten Stand halten, denn dafür sind Sie selbst verantwortlich ! Im Internet gibt es ein grosses Angebot guter Software die Ihnen dabei helfen kann Ihren PC sicher zu machen.
&lt;/p&gt;

&lt;p&gt;
Ein „offenes WLAN“ bedeutet nicht zwangsläufig ein WLAN ohne Verschlüsselung und ist auch nicht zu verwechseln mit einem „öffentlichen WLAN“. Leider wird dies häufig durcheinandergebracht, selbst von der Bundesnetzagentur, die es eigentlich am besten wissen sollte. Offene WLAN Netzwerk-Konzepte wie das Hotspot München Projekt fördern die drahtlose Netzwerkkultur und sind keine Insellösungen wie die meisten anderen Hotspots.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ist der WLAN Hotspot M\u00fcnchen ein offenes Netzwerk ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ist_der_wlan_hotspot_muenchen_ein_offenes_netzwerk&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4457-6683&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;kann_ich_den_wlan_hotspot_muenchen_bei_mir_zu_hause_empfangen&quot;&gt;Kann ich den WLAN Hotspot München bei mir zu Hause empfangen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dies können Sie leicht selbst feststellen, indem Sie mit Ihrer WLAN-Karte nach dem Stationsnamen (SSID) „hotspot-muenchen.de“ suchen. Wenn Sie diesen Namen in der Liste der empfangbaren WLAN-Hotspots finden, dann haben Sie Empfang zu einem unserer WLAN-Hotspots. Wenn Sie diese nicht sehen, sind Sie entweder zu weit vom nächsten WLAN-Hotspot entfernt, oder aber Ihre WLAN-Ausrüstung ist nicht geeignet dafür längere Strecken auch ausserhalb Ihrer Wohnung zu überbrücken.
&lt;/p&gt;

&lt;p&gt;
Bitte beachten Sie, daß eine einfache WLAN-Karte die Sie in ein Notebook stecken können, normalerweise nur ausreicht um kurze Distanzen innerhalb weniger Meter zu überbrücken, aber nicht um WLAN-Hotspots in grösserer Entfernung zu kontaktieren. Um grössere WLAN-Strecken zu überbrücken ist in den meisten Fällen eine Aussenantenne mit direkter Sichtverbindung zu einem WLAN-Hotspot nötig.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kann ich den WLAN Hotspot M\u00fcnchen bei mir zu Hause empfangen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kann_ich_den_wlan_hotspot_muenchen_bei_mir_zu_hause_empfangen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6684-7638&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;kann_ich_mich_irgendwo_registrieren&quot;&gt;Kann ich mich irgendwo registrieren ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine Registrierung für die Nutzung der WLAN Hotspots München ist nicht nötig ! Sie müssen sich lediglich vor Ort beim jeweiligen Betreiber eines WLAN Access Points nach den Zugangsdaten erkundigen bzw. danach fragen. Die Kontaktadressen und Standorte der jeweiligen Betreiber können Sie in der Hotspot-Liste einsehen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kann ich mich irgendwo registrieren ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kann_ich_mich_irgendwo_registrieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7639-8011&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;seit_wann_kann_man_die_wlan_hotspots_in_muenchen_nutzen&quot;&gt;Seit wann kann man die WLAN Hotspots in München nutzen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Seit November 2005. Der erste angeschlossene WLAN-Hotspot war die Gaststätte Sappralott in München-Neuhausen in der Nähe vom Rotkreuzplatz.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Seit wann kann man die WLAN Hotspots in M\u00fcnchen nutzen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;seit_wann_kann_man_die_wlan_hotspots_in_muenchen_nutzen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;8012-8224&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;warum_der_name_high_five&quot;&gt;Warum der Name High Five ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Weil es fünf Projektpartner sind. Zusätzlich assoziiert das „High“ den Olympiaturm, sowie die später noch dazukommenden, extrem exponierten hohen Sendestandorte. Ein „High five“ („gib mir Fünf !“) ist ausserdem eine gerade bei jungen Leuten und im Sport übliches flaches Händezusammenklatschen wenn etwas erfolgreich abgeschlossen wurde, was auch bei uns immer wieder symbolisch verwendet wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum der Name High Five ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_der_name_high_five&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8225-8664&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;warum_schreibt_die_presse_falsche_angaben&quot;&gt;Warum schreibt die Presse falsche Angaben ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Leider haben wir in Presseartikeln im Internet über den im Juli 2005 geplanten WLAN-Test auf dem Olympiaturm viele Fehler entdeckt, die inhaltlich falsche Angaben machen und sachlich absolut nicht den Tatsachen entsprechen !
&lt;/p&gt;

&lt;p&gt;
Trotz der Vorbereitungsarbeiten gaben wir bereits im Vorfeld über unsere Website und in den &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt; sehr genaue Details bekannt. Auch wurde die Presse mit geeignetem Pressematerial versorgt. Leider scheint es aber bei einigen Presseleuten Usus zu sein statt einer Eigenrecherche lieber einen anderen Bericht abzukupfern und eigene Vorstellungen reinzuinterpretieren statt die offiziellen Informationen des Betreibers selbst zu verwenden. So kamen in jüngster Zeit immer schlechtere Berichte zustande, die nicht mehr den realen Tatsachen entsprechen.
&lt;/p&gt;

&lt;p&gt;
In einem Bericht fängt der erste Satz mit „Die Stadt München plant ein WLAN-Projekt …“ an, was den Eindruck erwecken könnte die Stadt München hätte mit diesem Projekt etwas zu tun. Das ist aber völlig falsch ! Richtigerweise müsste es „In München wird ein WLAN-Projekt geplant“ heissen, denn von städtischer Seite kommt in dieser Richtung leider rein gar nichts.
&lt;/p&gt;

&lt;p&gt;
In einem anderen Bericht heisst es „Passwörter in der Luft“. Bitte lassen Sie sich nicht verunsichern, denn es werden keinerlei Passwörter, Kennungen oder Verschlüsselungen gesendet oder benutzt die irgendjemand ausspionieren könnte ! Solche Aussagen sind blanker Unsinn und reine Panikmache von Leuten die sich damit nicht auskennen !
&lt;/p&gt;

&lt;p&gt;
Der nächste Fehler steckt in einem Bericht wo es heisst „… stellen zwei Unternehmen drei separate Antennenplattformen auf“. Der Satz ist gleich doppelt inhaltlich falsch, da es erstens nicht nur zwei Unternehmen sind, sondern fünf Projektpartner und wir keinerlei Antennenplattformen aufstellen (die es ohnehin auf dem Olympiaturm in reichlicher Anzahl gibt) sondern Access Points und Richtantennen auf den bereits vorhandenen Antennenplattformen aufbauen. Wir schätzen die Olympiapark München GmbH als Eigner des Olympiaturms würde sich schön bedanken wenn wir noch zusätzliche Antennenplattformen auf den sehr begrenzten und begehrten Plätzen auf Münchens höchstem Gebäude aufbauen würden &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum schreibt die Presse falsche Angaben ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_schreibt_die_presse_falsche_angaben&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;8665-10921&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;warum_veroeffentlicht_ihr_nicht_einfach_ein_passwort_dass_fuer_alle_wlan_betreiber_in_eurem_verbund_gilt&quot;&gt;Warum veröffentlicht Ihr nicht einfach ein Passwort dass für alle WLAN Betreiber in Eurem Verbund gilt ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im Sinn einer noch einfacheren WLAN-Nutzung wäre das sicher logisch, jedoch ist dies aufgrund der deutschen Gesetzeslage nicht möglich und wegen der Strukturierung der autark arbeitenden Netzknoten auch technisch nicht möglich. Ein veröffentlichtes Passwort, was beispielsweise auf einer Webseite jedermann zur Verfügung steht, telefonisch oder per E-Mail herausgegeben wird, ist kein Passwort mehr im Sinne eines Schutzes vor unberechtigter Nutzung. Ebenso könnte man dann gleich ohne Passwort arbeiten.
&lt;/p&gt;

&lt;p&gt;
Zweitens arbeiten alle Netzknoten autark, sind also individuell durch den jeweiligen Betreiber konfiguriert. Die WLAN-Nutzung vor Ort am jeweiligen Hotspot wird durch den Betreiber selbst bestimmt und nicht durch eine zentrale Stelle. Dieser Betreiber entscheidet immer noch selbst wer seine kostenloses WLAN-Angebot nutzen darf und wer nicht.
&lt;/p&gt;

&lt;p&gt;
Würden alle WLAN-Hotspot mit demselben Zugangsschlüssel arbeiten, müsste dieser recht häufig, zum Beispiel täglich, ausgetauscht werden. Dies würde nur funktionieren wenn alle WLAN-Hotspots von einer zentralen Stelle aus umgeschaltet werden könnten. Dazu ist aber bei weitem nicht jeder handelsübliche Access Point technisch in der Lage. Um die technischen Hürden so gering wie möglich zu halten und jeden WLAN-Betreiber in dieses Projekt mit aufnehmen zu können werden auf solche Maßnahmen verzichtet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum ver\u00f6ffentlicht Ihr nicht einfach ein Passwort dass f\u00fcr alle WLAN Betreiber in Eurem Verbund gilt ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_veroeffentlicht_ihr_nicht_einfach_ein_passwort_dass_fuer_alle_wlan_betreiber_in_eurem_verbund_gilt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;10922-12412&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;was_brauche_ich_an_hardware_um_mich_zu_verbinden&quot;&gt;Was brauche ich an Hardware um mich zu verbinden ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im günstigsten Fall, wenn Sie ganz in der Nähe eines WLAN-Hotspots sind, nur ein Notebook mit eingesteckter WLAN-Karte, oder ein entsprechend ausgerüsteter PDA. Je nach zunehmender Entfernung von Ihnen zum Access Point ist aber mehr Antennen-Aufwand nötig, insbesondere benötigen Sie eine freie, direkte Sichtverbindung zum nächsten Access Point. Üblicherweise reicht ein in einem Notebook integriertes WLAN-Modul, oder ein externer USB WLAN-Stick aus um sich mit dem nächsten WLAN Access Point zu verbinden. Für eine stationäre Haus- oder Firmenanbindung an den nächsten WLAN-Hotspot ist in den meisten Fällen eine Aussenantennen-Installation notwendig, die die notwendige 2-Wege-Verbindung ermöglicht.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was brauche ich an Hardware um mich zu verbinden ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_brauche_ich_an_hardware_um_mich_zu_verbinden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;12413-13192&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;was_hat_das_wlan_auf_dem_olympiaturm_fuer_eine_funktion&quot;&gt;Was hat das WLAN auf dem Olympiaturm für eine Funktion ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Münchner Olympiaturm als höchster Punkt in München dient als Umsetzer, Repeater und Knoten um weite WLAN-Verbindungen in München per 5,8 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt;-Richtfunkstrecke zu überbrücken. Damit alle am WLAN Hotspot München Projekt beteiligten WLAN Access Points synchron laufen und sich WLAN-Nutzer an diesen drahtlosen Netzknotenpunkten anmelden können, muß ein ständiger Abgleich von Daten stattfinden, der über drahtlose Netzknotenpunkte in großer Höhe wie zum Beispiel dem Münchner Olympiaturm stattfindet.
&lt;/p&gt;

&lt;p&gt;
Sie können sich als WLAN-Nutzer also nicht direkt an einem Access Point auf dem Münchner Olympiaturm einbuchen, sondern nutzen diesen quasi nur indirekt wenn Sie sich an einem der WLAN-Hotspots im Münchner Stadtgebiet einloggen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was hat das WLAN auf dem Olympiaturm f\u00fcr eine Funktion ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_hat_das_wlan_auf_dem_olympiaturm_fuer_eine_funktion&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;13193-14010&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;was_ist_das_besondere_am_hotspot_muenchen&quot;&gt;Was ist das besondere am Hotspot München ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das herausragendste ist das offene, autarke, nonkommerzielle Netzwerk-Konzept. Beim Hotspot München Projekt handelt es sich im Gegensatz zu anderen stadtweiten WLAN-Projekten nicht um einen einzelnen Anbieter oder Betreiber, sondern um einen Zusammenschluß von vielen verschiedenen WLAN-Betreibern die den Internetzugang per WLAN als besonderen Kundenservice bzw. Mehrwert sehen. So profitieren unter anderem mobile Internetnutzer die viel in der Stadt unterwegs sind, Touristen die mit ihrem PDA oder Notebook etwas über die Stadt und das Land erfahren möchten, oder Geschäftsleute die beim Cafebesuch weiter mit dem Server in der Firma verbunden bleiben möchten.
&lt;/p&gt;

&lt;p&gt;
Das WLAN Projekt Hotspot München ist zeitsparend, kostensparend, wie das Internet dezentral und autark strukturiert, sowohl für Betreiber als auch Benutzer einfach zu bedienen, bietet professionellen technischen Support durch erfahrene Netzwerkadministratoren und ist unabhängig von kommerziellen Interessen.
&lt;/p&gt;

&lt;p&gt;
Ein besonderes Highlight des WLAN Projekts Hotspot München ist natürlich auch der Olympiaturm München, der mit seiner Funktion als Umsetzer bzw. Repeater die derzeit höchste WLAN-Installation Deutschlands bildet (212 Meter über Grund). Über den Umsetzer bzw. Repeater wickelt der Netzwerk-Betreiber S-NetworkX vom NOC in Krailling aus anfallende Service-Arbeiten über ein Fernwartungssystem durch. Ausserdem werden Authentifizierungsanfragen der RADIUS-Server über den Repeater miteinander synchronisiert.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was ist das besondere am Hotspot M\u00fcnchen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_das_besondere_am_hotspot_muenchen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;14011-15565&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;was_kostet_es&quot;&gt;Was kostet es ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Nutzung der WLAN-Hotspots im Projekt WLAN Hotspot München und der daran angeschlossenen Internet-Gateways ist kostenlos ! Es fallen auch keine Anmelde- oder Registrationskosten an. Die Kosten für den Betrieb der WLAN Access Points und der Internetzugänge übernehmen die Betreiber der Access Points am jeweiligen Standort. Sie können also den Internetzugang gratis und ohne Einschränkung nutzen, solange der Betreiber seinen kostenlosen Service anbietet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was kostet es ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_kostet_es&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;15566-16057&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;welche_geraete_sind_auf_dem_olympiaturm_in_betrieb&quot;&gt;Welche Geräte sind auf dem Olympiaturm in Betrieb ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es sind Geräte des Herstellers LANCOM in Betrieb, da die am Projekt beteiligte Firma WirelessMaxx zertifizierter LANCOM Advanced Partner ist, die Geräte zur Profiklasse gehören und eine ausgezeichnetes Monitoring ermöglichen, zusätzlich zu erweiterten Überwachungs-, Diagnose- und Konfigurationsmöglichkeiten. Befugte und unbefugte Assoziationsversuche, mögliche Angriffsversuche können zentral in Echtzeit überwacht und abgeblockt werden. Zudem können die Sicherheitseinstellungen aller Access-Points, WLAN-Router und der angeschlossenen Clients zentral überwacht werden. Eine Anzeige der Signalqualität und der Lastzustände wird helfen die Verteilung und Einstellung der Access-Points zu optimieren.
&lt;/p&gt;

&lt;p&gt;
Diese kürzlich erst stark erweiterten Funktionen in LANCOM Geräten werden jetzt erstmals in einem Härtetest unter Volllastbedingungen getestet.
&lt;/p&gt;

&lt;p&gt;
Als Antennen kommen sogenannte Sektorantennen (Richtantennen) mit einem relativ breiten horizontalem, aber sehr schmalen vertikalen Öffnungswinkel zum Einsatz, mit ausgezeichneten Strahlungseigenschaften auch bei benachbarten Großsignalen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Ger\u00e4te sind auf dem Olympiaturm in Betrieb ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_geraete_sind_auf_dem_olympiaturm_in_betrieb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;16058-17229&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;welche_hotspot-software_loesung_setzen_sie_ein&quot;&gt;Welche Hotspot-Software Lösung setzen Sie ein ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir setzen keinerlei speziell gefertigte Hotspot-Software Lösung ein, auch keine besondere Hardware-Lösung, denn dafür ist bei unserem offenen Netzwerk-Konzept gar kein Bedarf. Da es keine Notwendigkeit zu einer Abrechnung von Zeit oder Datenvolumen gibt, ist auch kein Bedarf für ein „Billing-System“. Wir werden häufig nach sogenannten „Out-of-the-Box“ Systemen, oder Hotspot-Software gefragt. Wir setzen solche Systeme aber weder ein, noch vertreiben wir solche.
&lt;/p&gt;

&lt;p&gt;
Meistens sind solche Lösungen auf Personen zugeschnitten die von der Materie WLAN wenig oder gar keine Ahnung haben, aber einen gebührenpflichtigen WLAN-Hotspot betreiben möchten. Solche WLAN-Hotspots funktionieren dann meistens nur mit einem Anbieter und man ist dann an diesen gebunden. Für den Kunden, respektive den WLAN-Nutzer, ein wenig transparentes und ein eher hinderliches Konzept bei der täglichen Nutzung, denn für jeden weiteren, anderen Hotspot braucht er wieder andere Zugangsdaten.
&lt;/p&gt;

&lt;p&gt;
WLAN-Hotspots von uns sind jedoch immer plattformübergreifend, nicht an eine spezielle Hardware, an ein Betriebssystem oder einen Betreiber gebunden, funktionieren in jedem IP-basierten Netzwerk, mit jeder Internetanbindung und mit fast jedem WLAN-Router. Wir setzen daher nur Standard-Software ein die mit jedem Betriebssystem und in jeder IP-basierten Netzwerkinfrastruktur läuft. Als Basis wird ein VPN mit mehreren RADIUS-Servern und IPSec-Verschlüsselung verwendet, mehr ist für ein professionell abgesichertes WLAN mit einer Benutzerauthentifizierung für jeden einzelnen Benutzer nicht nötig. Software für VPN, RADIUS und IPSec hat jedes moderne Betriebssystem integriert.
&lt;/p&gt;

&lt;p&gt;
Der Vorteil liegt auf der Hand: man kann die WLAN-Hotspots überall einsetzen, ist an keinerlei Restriktionen gebunden, weder technischer noch logistischer Art und der WLAN-Nutzer kann seine persönlichen Zugangsdaten an allen WLAN-Hotspots einsetzen - weltweit.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Hotspot-Software L\u00f6sung setzen Sie ein ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_hotspot-software_loesung_setzen_sie_ein&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;17230-19217&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;welche_internetanbindung_steht_zur_verfuegung&quot;&gt;Welche Internetanbindung steht zur Verfügung ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Je nach WLAN-Hotzone zwischen 2-50 MBit Downstream und bis zu 10 MBit Upstream, die Sie sich allerdings mit den anderen zeitgleich angeschlossenen WLAN-Nutzern teilen müssen (shared Access). Die Internetgateways werden fast immer über kostensparende ADSL-Zugänge mit Flatrate realisiert, bei der sich alle angeschlossenen Nutzer eine öffentliche IP-Adresse teilen und intern über eine dynamisch vergebene, lokale IP-Adresse aus der Netzklasse C erreichbar sind.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Internetanbindung steht zur Verf\u00fcgung ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_internetanbindung_steht_zur_verfuegung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;19218-19744&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;welche_vorraussetzungen_muss_ich_erfuellen_um_meinen_wlan_access_point_am_wlan_hotspot_muenchen_projekt_anzuschliessen&quot;&gt;Welche Vorraussetzungen muß ich erfüllen um meinen WLAN Access Point am WLAN Hotspot München Projekt anzuschliessen ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Grundvorraussetzungen sind bewusst niedrig gehalten, damit möglichst viele WLAN-Betreiber an dem Projekt mitmachen können.
&lt;/p&gt;

&lt;p&gt;
Diese Vorraussetzungen müssen erfüllt sein (must have):
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN Access Point muß sich im Stadtgebiet München befinden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN Access Point muß jederzeit eingeschaltet und von aussen erreichbar sein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN Access Point hängt an einem Internetzugang und dieser ist kostenlos nutzbar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN Access Point Zugang ist mit einem Zugangsschlüssel geschützt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ihr Internetzugangsprovider erlaubt die Weitergabe des Internetzugangs an Dritte&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Diese Vorraussetzungen sollten erfüllt sein (nice to have):
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sie haben eine eigene Homepage auf der Sie Informationen und eine Kontaktmöglichkeit veröffentlichen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die SSID sollte „hotspot-muenchen.de“ lauten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Am besten ist ein WLAN Access Point unter Dach, damit die Reichweite höher wird&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Internetzugang sollte möglichst schnell sein, als Minimum gilt 2 MBit&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Internetzugang sollte eine Flatrate sein, kein Volumentarif, sonst unkalkulierbare Kosten möglich&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Vorraussetzungen mu\u00df ich erf\u00fcllen um meinen WLAN Access Point am WLAN Hotspot M\u00fcnchen Projekt anzuschliessen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_vorraussetzungen_muss_ich_erfuellen_um_meinen_wlan_access_point_am_wlan_hotspot_muenchen_projekt_anzuschliessen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;19745-20946&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;wie_melde_ich_mich_am_wlan_hotspot_muenchen_an&quot;&gt;Wie melde ich mich am WLAN Hotspot München an ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Da das WLAN-Projekt Hotspot München aus vielen in der Stadt München verteilten WLAN-Hotspots besteht, müssen Sie als erstes über die Hotspot-Karte feststellen wo sich ein WLAN-Hotspot genau befindet, denn der Empfang ist nur in der Nähe eines WLAN-Hotspots möglich.
&lt;/p&gt;

&lt;p&gt;
Dann begeben Sie sich zusammen mit Ihrem mit WLAN ausgerüstetem Computer an den Standort des WLAN-Hotspots und fragen den Betreiber nach dem Zugangsschlüssel. Meistens erhalten Sie den Zugangsschlüssel vom Personal, also beispielsweise den Kellnern oder Kellnerinnen in Cafes oder Restaurant. Weitere Informationen erhalten Sie auf der Homepage des WLAN-Hotspot Betreibers. Einen Link zur Homepage des Betreibers finden Sie ebenfalls in der Hotspot-Karte.
&lt;/p&gt;

&lt;p&gt;
Scannen Sie dann an Ihrem Computer nach vorhandenen WLAN-Hotspots. Wenn Sie mehrere WLAN-Hotspots empfangen dann fragen Sie den Betreiber nach dem Namen (SSID) seines WLAN-Hotspots. In den meisten Fällen lautet die SSID „hotspot-muenchen.de“, kann aber auch anders sein.
&lt;/p&gt;

&lt;p&gt;
Wählen Sie dann an Ihrem PC den richtigen WLAN-Hotspot aus und wählen Sie dann die Option „verbinden“. Der genaue Ablauf und Wortlaut kann sich auch ändern, je nachdem welchen Computer und welches Betriebssystem Sie einsetzen. Im Zweifelsfall lesen Sie die Bedienungsanleitung für Ihre WLAN-Karte. Nachdem Sie „verbinden“ ausgewählt haben werden Sie aufgefordert den Zugangsschlüssel einzugeben. Geben Sie diesen Zugangsschlüssel, den Sie wie oben schon erwähnt vom Betreiber vor Ort erhalten, in Ihren Computer ein. Wenn der Zugangsschlüssel richtig ist wird Ihr Computer mit dem WLAN-Hotspot verbunden.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie eine Verbindung aufgebaut haben weist Ihnen der WLAN-Hotspot automatisch eine private IP-Adresse zu. Sobald Ihnen diese private IP-Adresse zugeteilt ist haben Sie einen Internet-Zugang. Sie können dann beispielsweise einen Webbrowser starten und im WWW surfen, oder Ihre e-Mails mit einer e-Mail Software abholen, bearbeiten und versenden.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie den Internetzugang über WLAN nicht mehr benötigen dann trennen Sie einfach die Verbindung zum WLAN-Hotspot über Ihre WLAN-Karte.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie melde ich mich am WLAN Hotspot M\u00fcnchen an ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_melde_ich_mich_am_wlan_hotspot_muenchen_an&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;20947-23120&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;wie_weit_reicht_die_wlan-funkversorgung&quot;&gt;Wie weit reicht die WLAN-Funkversorgung ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Höher, besser, weiter - die Reichweite von WLAN-Verbindungen&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Die Reichweite von WLAN-Verbindungen hängt von vielen Faktoren ab:
&lt;/p&gt;

&lt;p&gt;
Je besser die Empfangsleistung und Sendeleistung Ihrer WLAN-Karte ist, umso weiter können Sie zu einem WLAN Access Point senden und ein weiter stehenden Access Point empfangen. Hauptkriterien dafür sind die Strahlungsleistung der Antenne, die Empfangs-Empfindlichkeit und der Standort.
&lt;/p&gt;

&lt;p&gt;
Je besser die Empfangsleistung und Sendeleistung des WLAN Access Points ist, umso weiter kann dieser senden und empfangen. Hauptkriterien dafür sind die Strahlungsleistung der Antenne, die Empfangs-Empfindlichkeit und der Standort.
&lt;/p&gt;

&lt;p&gt;
Generell gilt dabei dass für WLAN-Verbindungen im Idealfall eine direkte Sichtverbindung bestehen sollte. Wenn sich Ihr Standort im Keller, im Erdgeschoss oder auf der Strasse befindet, haben sie oft eine schlechte oder gar keine WLAN-Verbindung. Eine WLAN-Antenne sollte daher im Idealfall frei ohne Hindernisse stehen (auch keine Bäume), am besten auf oder direkt unter dem Dach.
&lt;/p&gt;

&lt;p&gt;
Wenn sich auf dem selben WLAN-Kanal noch andere Verbindungen befinden kann der Empfang stark eingeschränkt, oder gestört werden, oder zum Abbruch der Verbindung führen. Dies müssen nicht unbedingt WLAN-Verbindungen sein, denn der genutzte 2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Funkfrequenzbereich wird auch von vielen anderen Diensten (Babyfon, drahtlose Videoübertragung etc.)
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Reichweite ? Testen Sie selbst !&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Die Reichweite von WLAN-Verbindungen kann man daher in der Praxis nie genau vorhersagen, sondern muß diese immer vor Ort messen, bzw. prüfen. Schon benachbarte WLAN-Hotspots, die vielleicht zufällig auf dem selben Kanal senden, können die Reichweite stark einschränken. Aus diesem Grunde hat es wenig Sinn wenn Sie den Betreiber des WLAN-Hotspots fragen ob Sie Empfang haben oder nicht, denn das können nur Sie selbst herausfinden ! Scannen Sie mit Ihrer WLAN-Karte nach Hotspots in Ihrer Nähe. Der Hotspot-Betreiber nennt Ihnen gerne den Namen (SSID) seines Hotspots.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Access Point oder Richtfunkstrecke&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Bei der Reichweite von WLAN-Verbindungen unterscheiden wir noch zwischen der Reichweite von Richtfunkstrecken mit Point-to-Point Bridges auf 5 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; mit extrem bündelnden Richtfunkantennen und der Reichweite von Access Points auf 2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; mit Rundstrahlantennen.
&lt;/p&gt;

&lt;p&gt;
Bei Access Points auf 2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; mit Rundstrahlantennen hängt die Reichweite stark von den örtlichen Umgebungsbedingungen, dem jeweils eingesetzten Access Point und auch Ihrer eigenen Hardware ab. In der Regel haben die Funkausleuchtungszonen einen Radius von einigen hundert Metern, können in Einzelfällen aber auch deutlich darüber oder darunter liegen. Die Angabe von konkreten Reichweiten bei einer Drahtlostechnik wie WLAN ist generell schwierig, da im gleichen Frequenzband auch andere Funkdienste tätig sind die unter Umständen großen Einfluß auf die Reichweite haben. Auch benachbarte WLAN-Netze (insbesondere auf dem gleichen Kanal arbeitende) können die Reichweite stark einschränken.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; vs. 5 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Richtfunkstrecken auf 5 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; mit Richtantennen erreichen Reichweiten im zweistelligen Kilometerbereich, sind aber nur zur Anbindung von verschiedenen Netzwerken untereinander und zur Synchronisierung der Authentifizierungsserver gedacht.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Auch auf Ihre eigene WLAN-Hardware und Ihren Standort kommt es an&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Selbstverständlich hängt die Reichweite auch von der auf der Empfängerseite (also beim Benutzer) eingesetzten Hardware ab, denn wenn die Empfangsstufe eine schlechte Kanaltrennung hat, oder einfach nur taub ist, oder Störungen direkt neben dem Empfänger sind, oder die Antenne ungeeignet ist, dann kann der Access Point noch so gut senden. Wichtig bei der Frage der Reichweite ist daher immer im Auge zu behalten daß man die Reichweite nicht nur am Access Point und dessen Antenne, sondern auch an der WLAN-Karte und dessen Antenne verbessern kann, denn WLAN ist immer eine Zwei-Wege-Verbindung (jeder ist Sender und Empfänger gleichzeitig) die nur dann gut funktioniert wenn beide Seiten optimal eingestellt sind.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie weit reicht die WLAN-Funkversorgung ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_weit_reicht_die_wlan-funkversorgung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;23121-27247&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit25&quot; id=&quot;was_ist_der_wlan_hotspot_muenchen&quot;&gt;Was ist der WLAN Hotspot München ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das von 5 WLAN-Spezialisten 2005 auf dem Münchner Olympiaturm gestartete, non-kommerzielle Projekt WLAN Hotspot München bietet im Stadtgebiet München für jedermann freie, kostenlos verfügbare Internetzugänge per WLAN an, die an verschiedenen Standorten in der Stadt verteilt sind und von Privatleuten sowie Firmen betrieben werden. Auf der Homepage können die einzelnen Hotspot-Standorte eingesehen werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was ist der WLAN Hotspot M\u00fcnchen ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_der_wlan_hotspot_muenchen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;27248-27709&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;hat_das_wlan_hotspot_muenchen_projekt_etwas_mit_der_fon-community_zu_tun&quot;&gt;Hat das WLAN Hotspot München Projekt etwas mit der FON-Community zu tun ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nein, die beiden Projekte haben miteinander nichts zu tun. Die einzigen gemeinsamen Nenner sind drahtloser, mobiler Internetzugang und die dazu eingesetzte Technik WLAN, ansonsten unterscheiden sich das Projekt WLAN Hotspot München und fon grundsätzlich. In den Details der Umsetzung unterscheiden sich beide Projekte erheblich. Hier stellen wir beide Projekte in den wichtigsten Punkten direkt gegenüber:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Es ist keine Registrierung der WLAN-Nutzer nötig.&lt;/strong&gt; Im WLAN Hotspot München Projekt ist weder eine vorherige Registrierung noch eine Anmeldung nötig um einen Internetzugang via WLAN zu nutzen. Eine spontane Ad-hoc Nutzung z.B. durch Touristen auf Grossveranstaltungen wie dem Münchner Oktoberfest ist daher zum Beispiel jederzeit möglich. Im Fon Projekt müssen sich Nutzer vorher online registrieren um die WLAN-Zugänge zu nutzen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Keine Kosten für WLAN-Nutzer.&lt;/strong&gt; Im WLAN Hotspot München Projekt ist die Internetnutzung über WLAN kostenfrei für den Nutzer. Dies wird als zusätzlicher Service von den Betreibern angeboten und soll die freie Kommunikation fördern. Im Fon Projekt ist die Nutzung nur für diejenigen Personen kostenfrei die auch selbst einen WLAN-Hotspot betreiben, alle anderen Nutzer müssen für den Zugang etwas bezahlen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Unabhängigkeit der WLAN-Betreiber.&lt;/strong&gt; Im WLAN Hotspot München Projekt gibt es keinen zentralen Betreiber. Alle beteiligten WLAN-Netzknoten sind autarke Systeme in eigenverantwortlicher Weise. Allerdings gibt es professionelle Hilfe direkt vor Ort beim Aufbau und Betrieb von Seiten der Initiatoren des Projekts, was für einen stabilen und sicheren Betrieb unentbehrlich ist. Beim Fon Projekt ist jeder Betreiber auf sich alleine gestellt und bekommt nur Hilfe von anderen Betreibern, die meist aber ebenfalls Laien sind.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Keine speziellen WLAN Access Points nötig.&lt;/strong&gt; Im WLAN Hotspot München Projekt kann so gut wie jeder auf dem Markt erhältliche WLAN Access Point eingesetzt werden. Bei bestehenden WLAN-Installationen ist es daher sehr einfach dem WLAN Hotspot München Projekt ohne große Änderungen beizutreten. Beim Fon Projekt wird ein spezieller WLAN Access Point verwendet und die Netzwerkkonfiguration muß umgestellt werden. Das kann zu erheblichen Problemen führen und ist in vielen Netzwerken unvereinbar.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Hilfe direkt vor Ort von Fachleuten.&lt;/strong&gt; Im WLAN Hotspot München Projekt sind die Initiatoren bereits vor Ort, direkt in München und am Stadtrand angesiedelt und können bei Bedarf auch vor Ort direkt eingreifen falls es Probleme oder Fragen gibt. Beim Fon Projekt sitzt die verantwortliche Firma in Spanien.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Keine kommerzielle Organisation.&lt;/strong&gt; Im WLAN Hotspot München Projekt existiert kein zentraler Betreiber oder eine dahinterstehende Firma mit kommerziellen Interessen. Die einzelnen WLAN-Hotspot Betreiber sind völlig frei in ihrer Auswahl was sie anbieten und müssen sich nicht an irgendwelche Geschäftsbedingungen oder vorgeschriebene Konventionen halten. Es reicht aus wenn der WLAN-Hotspot Betreiber seinen Kunden oder Gästen einen kostenlosen Internetzugang als kundenfreundlichen Service anbietet und der WLAN-Zugang verschlüsselt erfolgt. Die Initiatoren des Projekts WLAN Hotspot München stehen den einzelnen Betreibern als professionelle Berater zur Verfügung.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hat das WLAN Hotspot M\u00fcnchen Projekt etwas mit der FON-Community zu tun ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hat_das_wlan_hotspot_muenchen_projekt_etwas_mit_der_fon-community_zu_tun&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;27710-31101&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;gibt_es_am_muenchner_flughafen_kostenloses_wlan&quot;&gt;Gibt es am Münchner Flughafen kostenloses WLAN ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Leider nein. Die am Flughafen München befindlichen WLAN-Hotspots sind leider alle kostenpflichtig. Wir wären froh wenn wir ein Ladengeschäft o.ä. im Flughafenterminal finden würden das bereit ist einen kostenlosen WLAN-Hotspot für ankommende und abfliegende Fluggäste als zusätzlichen, kundenfreundlichen Service zur Verfügung zu stellen. Leider aber geht der Service da nicht soweit und der pure Kommerz herrscht. Das ein kostenloser WLAN-Zugang meist auch mehr Kunden in den eigenen Laden bringt ist im Flughafen scheinbar noch nicht erkannt worden. Stattdessen bietet man einen sehr teuren WLAN-Zugang an den zudem nur ein Bruchteil der potentiellen WLAN-Nutzer überhaupt verwenden kann. Mehr dazu &lt;a href=&quot;http://www.munich-airport.de/de/consumer/aufenthalt_trans/digiWelt/wLan/index.jsp&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.munich-airport.de/de/consumer/aufenthalt_trans/digiWelt/wLan/index.jsp&quot; rel=&quot;ugc nofollow noopener&quot;&gt;hier&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gibt es am M\u00fcnchner Flughafen kostenloses WLAN ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gibt_es_am_muenchner_flughafen_kostenloses_wlan&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;31102-31966&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit28&quot; id=&quot;warum_stehen_die_starbucks_filialen_nicht_hier_drin&quot;&gt;Warum stehen die Starbucks Filialen nicht hier drin ?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Weil der WLAN-Zugang bei Starbucks leider kostenpflichtig ist. Das Management von Starbucks hat die Zeichen der Zeit offenbar noch nicht erkannt, oder noch nicht die richtigen Partner gefunden. Glücklicherweise gibt es in München aber genügend Alternativen in direkter Nachbarschaft zu Starbucks wo es günstigeren Kaffee gibt und der Internetzugang per WLAN kostenlos angeboten wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum stehen die Starbucks Filialen nicht hier drin ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_stehen_die_starbucks_filialen_nicht_hier_drin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;31967-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:27 +0000</pubDate>
        </item>
        <item>
            <title>Fahrradkurier</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/fahrradkurier?do=revisions&amp;rev=1615417200</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;fahrradkurier&quot;&gt;Fahrradkurier&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://courier.itclive.de&quot; class=&quot;media&quot; target=&quot;_blank&quot; title=&quot;http://courier.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/moveit.png?w=200&amp;amp;tok=407cf5&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt; &lt;audio class=&quot;mediacenter&quot; controls=&quot;controls&quot;&gt;
&lt;/audio&gt;
 &lt;strong&gt;I bike to move it&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Seit der Corona Pandemie hat sich ab März 2020 der Fahrradkurier Dienst „move IT Courier“ in Lippstadt etabliert der schnell, leise und kostengünstig kleinere bis mittlere Transportdienstleistungen durchführt. Das Konzept hat so starken Anklang in Lippstadt gefunden und wurde begeistert bei Kunden aufgenommen, das der Service auch nach dem großen Corona-Lockdown weiterhin als „move IT Courier-Services“ angeboten wird. Erst durch die Pandemie wurde sehr vielen Lippstädtern bewusst, das ein gut strukturierter, perfekt organisierter Dienstleister auch in schweren Zeiten zuverlässig weiterhin funktioniert und ausgefallene Transport-Infrastrukturen sogar teilweise ersetzen kann.
&lt;/p&gt;

&lt;p&gt;
Gut als Team organisiert und mobil via App und Website vernetzt sind die Fahrradkuriere täglich im Einsatz, entweder gut mit Kuriertasche erkennbar, oder auf Wunsch auch ganz neutral unterwegs um ihre täglichen Besorgungen zu erledigen. Zuverlässigkeit und kostengünstige, umweltschonende und schnelle Transporte innerhalb von Lippstadt sind dabei herausragende Merkmale der Fahrradkuriere. Das schont nicht nur die Umwelt, sondern ist auch sehr effektiv durch die sehr kurzen Wege, die mit anderen, motorisierten Fahrzeugen nicht möglich sind.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fahrradkurier&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fahrradkurier&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1377&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;move_it_courier_-_die_facts&quot;&gt;move IT Courier - die Facts&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Transporte innerhalb von Lippstadt als sofortige Expresszustellung oder als Same-Day Lieferung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gewicht bis ca. 10 kg, bei größeren Gewichten wird ein Lastenrad (Cargo Bike) eingesetzt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Volumen bis ca. 6 volle Aktenordner (ca. 40&amp;times;50 cm), Rollen bis 120 cm, DIN A3, bei größeren Volumen wird ein Lastenrad (Cargo Bike) eingesetzt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wasserdichter Transport in einer großen Kuriertasche, oder als große Transport-Box auf einem Lastenrad (Cargo Bike)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Transporte erfolgen täglich zwischen 6 und 18 Uhr&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Transporte via Fullsuspension Bike oder mit einem Lastenrad (Cargo Bike)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gute Ortskenntnisse und Berufserfahrung sind vorhanden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Auftragsannahme ist telefonisch, per E-Mail und über eine Website möglich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bezahlung in bar bei Abholung oder Auslieferung, oder bei Daueraufträgen auch per monatlicher Rechnung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nicht transportiert werden: Tiere, Wertsachen, Müll, Schrott, Waffen, Drogen, gefährliche Gegenstände, Giftstoffe, menschliche Organe, Blut, sowie andere Körperflüssigkeiten&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;move IT Courier - die Facts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;move_it_courier_-_die_facts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1378-2446&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;auftragsannahme&quot;&gt;Auftragsannahme&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Nach erster Kontaktaufnahme können Sie ihre Kurier-Aufträge jederzeit vorab telefonisch an ☎ 02941-2737795, per E-Mail oder über die Online-Auftragsannahme &lt;a href=&quot;http://courier.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://courier.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;courier.itclive.de&lt;/a&gt; eingeben und darüber auch den aktuellen Status ihrer Sendung verfolgen. Wenn ihre Sendung am Ziel ankommt erhalten Sie automatisch eine E-Mail mit dem Namen und Unterschrift des Empfängers.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Auftragsannahme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auftragsannahme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2447-2878&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;preise_und_konditionen&quot;&gt;Preise und Konditionen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Anfahrtspauschale inkl. 1 km: 7,50 €&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; jeder weitere angefangene, gefahrene Kilometer 1,00 €&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Geldauslagen +3,00 €&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rücksendungen und Empfangsbestätigung per Brief oder Fax + 3,- €&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wartezeit / Servicezeit bis 5 Minuten frei, jede weiteren 5 Minuten +2,00 €&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; bei neuen Kunden Barzahlung bei Abholung der Sendung, bei Bestandskunden monatliche Rechnung mit Aufstellung aller Fahrten&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Preise und Konditionen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;preise_und_konditionen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2879-3327&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;kontakt&quot;&gt;Kontakt&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenn Sie mehr oder weniger häufig einen schnellen Fahrradkurier in Lippstadt benötigen, z.B. für Postabholungen, regelmäßige Besorgungen z.B. zur Apotheke, Lebensmittel Lieferungen, Schlüsselübergabe, Zustellungen von Waren, Akten oder Dokumenten oder ähnlichem, dann sind ihre Aufträge bei einem schnellen, ortskundigem, zuverlässigen, umweltschonenden und autark arbeitenden Fahrradkurier genau richtig. Bitte nutzen Sie dieses Kontaktformular um ersten Kontakt aufzunehmen.
&lt;/p&gt;
&lt;form class=&quot;bureaucracy__plugin&quot; id=&quot;bureaucracy__plugin2&quot; enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; action=&quot;&quot; accept-charset=&quot;utf-8&quot;&gt;&lt;div class=&quot;no&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;sectok&quot; value=&quot;&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;bureaucracy[$$id]&quot; value=&quot;2&quot; /&gt;&lt;fieldset &gt;&lt;legend&gt;Name&lt;/legend&gt;
&lt;label&gt;&lt;span&gt;Name &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[1]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;label&gt;&lt;span&gt;E-Mail &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt; &lt;input type=&quot;text&quot; name=&quot;bureaucracy[2]&quot; class=&quot;edit required&quot; required=&quot;required&quot; /&gt;&lt;/label&gt;
&lt;/fieldset&gt;
&lt;fieldset &gt;&lt;legend&gt;Nachricht&lt;/legend&gt;
&lt;label class=&quot; textareafield&quot;&gt;
    &lt;span&gt;Nachricht &lt;sup&gt;*&lt;/sup&gt;&lt;/span&gt;
    &lt;textarea name=&quot;bureaucracy[4]&quot; id=&quot;&quot; rows=&quot;10&quot; cols=&quot;10&quot; class=&quot;edit required&amp;quot; required=&amp;quot;required&quot;&gt;&lt;/textarea&gt;
&lt;/label&gt;&lt;button type=&quot;submit&quot;&gt;Absenden&lt;/button&gt;
&lt;/fieldset&gt;
&lt;/div&gt;&lt;/form&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kontakt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kontakt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3328-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt</category>
            <pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Helix</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/antennen/helix?do=revisions&amp;rev=1575021487</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;helix&quot;&gt;Helix&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Wort „Helix“ stammt aus dem griechischen und bedeutet Windung, Spirale, Schraube oder Wendel. Eine Helix-Antenne ist dementsprechend wie eine Spirale aufgebaut. Es wird unterschieden zwischen einer rechtsgängigen und linksgängigen Spirale, je nach Richtungsverlauf. Das Video zeigt eine typische Helixantenne für den 2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Bereich.
&lt;/p&gt;

&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/j82KZdXo5is&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/j82KZdXo5is&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:antennen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:07 +0000</pubDate>
        </item>
        <item>
            <title>Sniffer</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/software/sniffer?do=revisions&amp;rev=1575021503</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sniffer&quot;&gt;Sniffer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Sniffer (engl. „to sniff“ für riechen, schnüffeln) ist eine Software, die den Datenverkehr eines Netzwerks empfangen, aufzeichnen, darstellen und ggf. auswerten kann. Es handelt sich also um ein Werkzeug der &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;herkunft_des_begriffs&quot;&gt;Herkunft des Begriffs&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
„Sniffer“ ist ein eingetragenes Warenzeichen des Herstellers Network General. Es bezeichnet ein Produkt der sogenannten &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse. Da dieses Produkt als eines der ersten auf dem Markt war, und da sein Name so eingängig ist, hat sich der Name Sniffer allgemein durchgesetzt zur Bezeichnung vielfältigster Produkte der &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse, ist also inzwischen auch als Gattungs-Begriff gebräuchlich.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;technik&quot;&gt;Technik&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Ein Sniffer kennt den so genannten „Non-promiscuous mode“ und den Promiscuous Mode. Im Non-promiscuous mode wird der ankommende und abgehende Datenverkehr des eigenen Computers gesnifft. Im Promiscuous Mode sammelt der Sniffer den gesamten Datenverkehr an die in diesen Modus geschaltete Netzwerkschnittstelle. Es werden also nicht nur die an ihn adressierten Datenframes empfangen, sondern auch die nicht an ihn adressierten. Der Adressat eines Frames wird in Ethernet-Netzwerken anhand der MAC-Adresse festgelegt.
&lt;/p&gt;

&lt;p&gt;
Weiterhin ist es von der Netzwerkstruktur abhängig, welche Daten ein Sniffer sehen kann. Werden die Computer mit Hubs verbunden, kann sämtlicher Traffic von den anderen Hosts mitgeschnitten werden. Wird ein Switch verwendet, ist nur wenig oder gar kein Datenverkehr zu sehen, der nicht für das sniffende System selbst bestimmt ist. Allerdings gibt es in diesem Fall mehrere Möglichkeiten wie ARP-Spoofing, ICMP Redirects, DHCP Spoofing oder MAC-Flooding, um trotzdem die Frames empfangen zu können. Ein Switch darf also nicht als Sicherheitsfeature gesehen werden.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:software</category>
            <pubDate>Fri, 29 Nov 2019 10:58:23 +0000</pubDate>
        </item>
        <item>
            <title>Free WLAN everywhere</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/free_wlan_everywhere?do=revisions&amp;rev=1575021505</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;free_wlan_everywhere&quot;&gt;Free WLAN everywhere&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/3lNqqryPBNU&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/3lNqqryPBNU&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:25 +0000</pubDate>
        </item>
        <item>
            <title>Hotspot-based Localization</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/hotspot-based_localization?do=revisions&amp;rev=1575021505</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hotspot-based_localization&quot;&gt;Hotspot-based Localization&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
WLAN-Hotspot basierte Standortbestimmung.
&lt;/p&gt;

&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/c8BTvF9y5l8&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/c8BTvF9y5l8&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:25 +0000</pubDate>
        </item>
        <item>
            <title>WLAN-Signal verstärken</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/video/wlan-signal_verstaerken?do=revisions&amp;rev=1575021506</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;wlan-signal_verstaerken&quot;&gt;WLAN-Signal verstärken&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/LY8Wi7XRXCA&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/LY8Wi7XRXCA&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:video</category>
            <pubDate>Fri, 29 Nov 2019 10:58:26 +0000</pubDate>
        </item>
        <item>
            <title>VDSL in Lippstadt</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/blog/vdsl_in_lippstadt?do=revisions&amp;rev=1565564400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;vdsl_in_lippstadt&quot;&gt;VDSL in Lippstadt&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die &lt;a href=&quot;http://www.lippstadt.de/pressemitteilungen/2013/presseservice867875.php&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.de/pressemitteilungen/2013/presseservice867875.php&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Stadt Lippstadt und die Deutsche Telekom&lt;/a&gt; haben diese Woche die Ausbaupläne für das VDSL2-Netz vorgestellt. Demnach soll Lippstadt ab Ende 2014 mit Internetgeschwindigkeiten von bis zu 100 MBit rechnen können. Dazu werden in Lippstadt ab nächstes Jahr über 110 neue Verteilerkästen mit der neuen Glasfasertechnik aufgebaut. Die Nutzung ist nicht nur für Privathaushalte interessant die immer mehr schnelle Internetzugänge benötigen, sondern vor allem für die Gewerbebetriebe in Lippstadt, für die schnelles Internet ein entscheidender Standortfaktor ist.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VDSL in Lippstadt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vdsl_in_lippstadt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-679&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;update_vom_1112014&quot;&gt;Update vom 1.11.2014&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es ist jetzt der 1.November 2014 und VDSL ist zumindest in Lipperode immer noch nicht verfügbar. Wenn Sie über VDSL in Lippstadt ständig auf dem aktuellen Stand bleiben möchten, tragen Sie sich am besten als &lt;a href=&quot;http://www.lippstadt.org/start?do=register&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.org/start?do=register&quot; rel=&quot;ugc nofollow noopener&quot;&gt;registrierter Benutzer&lt;/a&gt; ein und nutzen Sie die &lt;a href=&quot;http://itclive.spdns.de/wiki/wiki/talk/blog/vdsl_in_lippstadt&quot; class=&quot;wikilink2&quot; title=&quot;wiki:talk:blog:vdsl_in_lippstadt&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wiki:talk:blog:vdsl_in_lippstadt&quot;&gt;Diskussionseite zum Thema&lt;/a&gt;. Fast jeden Tag schauen Besucher aus Lippstadt auf diese Seite um genaue Informationen zum Thema VDSL in Lippstadt zu bekommen. Je mehr Lippstädter sich hier mit ihren Erfahrungen zusammentun, umso mehr kann jeder einzelne davon partizipieren.
&lt;/p&gt;

&lt;p&gt;
Es gibt eine &lt;a href=&quot;http://itclive.spdns.de/wiki/wiki/talk/blog/vdsl_in_lippstadt&quot; class=&quot;wikilink2&quot; title=&quot;wiki:talk:blog:vdsl_in_lippstadt&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wiki:talk:blog:vdsl_in_lippstadt&quot;&gt;Diskussionsseite&lt;/a&gt; auf der Sie auch als Gast schreiben können, also auch - wenn Sie möchten - anonym. Besser ist es natürlich immer unter einem Namen zu schreiben, sodass auch andere Benutzer einen Ansprechpartner haben, oder sich bei Namen nennen können. Der Name kann dabei ein beliebiger Benutzername sein. Solange der Name nicht anstößig ist sind sie in ihrer Wahl frei.
&lt;/p&gt;

&lt;p&gt;
Am besten ist es immer wenn sie ihre persönlichen Erfahrungen vortragen können, also beispielsweise wenn sie beobachtet haben wo Bauarbeiten aktuell laufen oder abgeschlossen sind. Wir wissen von vielen DSLAM Installationen in der Stadt, aber alle scheinen zum derzeitigen Stand noch nicht beschaltet zu sein. Warum es sich weiter verzögert konnten wir noch nicht in Erfahrung bringen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Update vom 1.11.2014&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;update_vom_1112014&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;680-2145&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;update_vom_1122014&quot;&gt;Update vom 1.12.2014&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/blog/vdsl_immer_noch_nicht_in_sicht&quot; class=&quot;wikilink2&quot; title=&quot;blog:vdsl_immer_noch_nicht_in_sicht&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;blog:vdsl_immer_noch_nicht_in_sicht&quot;&gt;Lesen Sie hier weiter ...&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Update vom 1.12.2014&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;update_vom_1122014&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2146-2244&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;was_ist_vdsl_bzw_vdsl2&quot;&gt;Was ist VDSL bzw. VDSL2?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In Lippstadt kommt VDSL2 Vectoring zum Einsatz. Mehr Informationen dazu finden Sie in dem entsprechenden &lt;a href=&quot;http://de.wikipedia.org/wiki/VDSL2-Vectoring&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/VDSL2-Vectoring&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wikipedia-Eintrag zu VDSL2 Vectoring&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was ist VDSL bzw. VDSL2?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_vdsl_bzw_vdsl2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2245-2473&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;alle_artikel_zum_thema_vdsl_in_lippstadt&quot;&gt;Alle Artikel zum Thema VDSL in Lippstadt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.lippstadt.org/wiki/tag/vdsl?do=showtag&amp;amp;tag=VDSL&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.lippstadt.org/wiki/tag/vdsl?do=showtag&amp;amp;tag=VDSL&quot; rel=&quot;ugc nofollow noopener&quot;&gt;VDSL Übersicht&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Alle Artikel zum Thema VDSL in Lippstadt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;alle_artikel_zum_thema_vdsl_in_lippstadt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2474-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:blog</category>
            <pubDate>Mon, 12 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>OpenLife</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/openlife?do=revisions&amp;rev=1575021514</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;openlife&quot;&gt;OpenLife&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
OpenLife ist sowohl der Name eines der bekanntesten &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/opensim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:opensim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:opensim&quot;&gt;OpenSIM&lt;/a&gt; &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/grid&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:grid&quot; data-wiki-id=&quot;archiv:opensim:begriffe:grid&quot;&gt;Grid&lt;/a&gt;s, als auch der Name eines alternativen &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/viewer&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:viewer&quot; data-wiki-id=&quot;archiv:opensim:begriffe:viewer&quot;&gt;Viewer&lt;/a&gt;. Die Benutzer des OpenLife Grids haben eigene Viewer entwickelt, die beispielsweise unter Namen wie „KirstenLee OpenLife Viewer“ oder „RealXtend OpenLife Edition Viewer“ erhältlich sind. Diese Viewer sind optimierte Versionen des ursprünglichen Second Life Viewers und wie alle Viewer kann man sich diese kostenlos im Internet herunterladen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenLife&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openlife&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-490&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;openlife_grid_website&quot;&gt;OpenLife Grid Website&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://openlifegrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://openlifegrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenLifeGrid&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenLife Grid Website&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openlife_grid_website&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;491-570&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;openlife_viewer_download&quot;&gt;OpenLife Viewer Download&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.openlifegrid.com/Downloads/ViewerDownloads/tabid/188/Default.aspx&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.openlifegrid.com/Downloads/ViewerDownloads/tabid/188/Default.aspx&quot; rel=&quot;ugc nofollow noopener&quot;&gt;KirstenLee Openlife Viewer&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.openlifegrid.com/Downloads/ViewerDownloads/tabid/188/Default.aspx&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.openlifegrid.com/Downloads/ViewerDownloads/tabid/188/Default.aspx&quot; rel=&quot;ugc nofollow noopener&quot;&gt;RealXtend Openlife Edition Viewer&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenLife Viewer Download&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openlife_viewer_download&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;571-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:34 +0000</pubDate>
        </item>
        <item>
            <title>Neue Region erstellen</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/neue_region?do=revisions&amp;rev=1575021529</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;neue_region_erstellen&quot;&gt;Neue Region erstellen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Um eine neue Region der bestehenden Sim hinzuzufügen kopiert man die bestehende Datei „default.xml“ im Ordner „Regions“ und gibt der kopierten Datei einen neuen Namen und speichert diese im Ordner „Regions“ wieder ab. Die neue Datei heisst dann zum Beispiel „neueregion.xml“. Der Name der Datei kann frei gewählt werden. Allerdings müssen in der neuen Datei einige Anpassungen gemacht werden. Die einzelnen Schritte sind hier erläutert:
&lt;/p&gt;

&lt;p&gt;
1. Datei „default.xml“ im Ordner „Regions“ in einen Texteditor laden
2. Den Wert „sim_UUID“ mit einer neuen &lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/uuid&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:uuid&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:uuid&quot;&gt;UUID&lt;/a&gt; austauschen. Dazu wird ein UUID-Generator benötigt, wie ihn &lt;a href=&quot;http://www.famkruithof.net/uuid/uuidgen&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.famkruithof.net/uuid/uuidgen&quot; rel=&quot;ugc nofollow noopener&quot;&gt;diese Webseite&lt;/a&gt; erzeugen kann.
3. Den neuen UUID-Wert gegen den alten UUID-Wert austauschen
4. Den Wert „sim_name“ gegen einen anderen, gewünschten Namen austauschen
5. Die Position der neuen Region in den Werten „sim_location_x“ und „sim_location_y“ anpassen. Dieser Wert kann, muss aber nicht, in der Nachbarschaft zur bestehenden Region stehen, indem man die Ziffern jeweils um 1 erhöht oder um 1 verkleinert
6. Den Wert „internal_ip_port“ anpassen. Jeder Region bekommt einen eigenen Port, den Sie dann auch im Router freigeben müssen.
7. Die Datei unter einem neuen Namen mit der Dateiendung .xml wieder abspeichern
8. OpenSIM neu starten. Die neue Region ist nun zu sehen.
&lt;/p&gt;

&lt;p&gt;
Die anderen Werte können, müssen aber nicht zwangsläufig geändert oder angepasst werden. Da es in dieser Anleitung nur um die grundsätzliche Möglichkeit geht der bestehenden Sim eine neue Region hinzuzufügen, werden die Ausnahmefälle hier voerst nicht behandelt.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:49 +0000</pubDate>
        </item>
        <item>
            <title>Sims per Hypergrid miteinander verbinden</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/sims_verbinden?do=revisions&amp;rev=1575021530</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sims_per_hypergrid_miteinander_verbinden&quot;&gt;Sims per Hypergrid miteinander verbinden&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/hypergrid&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:hypergrid&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:hypergrid&quot;&gt;Hypergrid&lt;/a&gt; ist eine ideale Lösung um aus einer Standalone-Sim eine Sim mit Anschluss an andere Sims zu machen. So kann man sich zum Beispiel mit der Sim seines Freundes verbinden, sodaß man mit seinem Avatar von einer Sim zur anderen teleportieren kann. Wenn noch weitere Freunde dazukommen kann man diese virtuellen Welten nach und nach erweitern.
&lt;/p&gt;

&lt;p&gt;
Um Hypergrid zu nutzen muß man zunächst sein eigenes OpenSIM-Programm im Hypergrid-Modus betreiben. Die Sim mit der man sich verbinden möchte muß ebenfalls im Hypergrid-Modus laufen, ansonsten kann man sich nicht verbinden. Dazu wird OpenSIM mit dem Startparameter „-hypergrid=true“ gestartet. Ein kompletter Programmpfad würde dann zum Beispiel auf einem Windows-Betriebssystem etwa so aussehen:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;C:\OpenSim\OpenSim.exe -hypergrid=true&lt;/pre&gt;

&lt;p&gt;
Man kann sich beispielsweise auf den Desktop eine neue Verknüpfung zu OpenSIM einrichten und dort im Feld „Ziel“ den Startparameter mit eintragen, dann wird OpenSIM mit Doppelklick auf die neue Desktop-Verknüpfung automatisch im Hypergrid-Modus gestartet. Ob OpenSIM im Hypergrid-Modus läuft können Sie so feststellen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; direkt beim Start von OpenSIM erscheint ganz oben in eingerahmten Sternchen der Hinweis das Hypergrid aktiv ist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wenn OpenSIM bereits läuft geben Sie im Programmfenster den Befehl „link-region“ ein. Wenn eine Fehlermeldung erscheint ist Hypergrid nicht aktiv.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sims per Hypergrid miteinander verbinden&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sims_per_hypergrid_miteinander_verbinden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1469&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;regionen_bzw_sims_miteinander_verlinken&quot;&gt;Regionen bzw. Sims miteinander verlinken&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit Hypergrid verlinkte Regionen bzw. Sims erscheinen auf der grossen Karte (Map) als normale Regionen. Um Regionen bzw. Sims miteinander zu verlinken kann man direkt im Programmfenster von OpenSIM das „link-region“-Kommando nutzen, beispielsweise so:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;link-region 1001 1001 opensimserver.example.com 9000 SimName&lt;/pre&gt;

&lt;p&gt;
Wenn die Verbindung geklappt hat wird dies im Programmfenster von OpenSIM mit einer entsprechenden Meldung bestätigt. Man sieht nun die neue Region auf der grossen Karte und kann mit einem Doppelklick auf die neue Region bzw. Sim mit seinem Avatar dorthin teleportieren - mitsamt seinem Inventar. Allerdings ist man auf der anderen Sim nur Gast und hat nur sehr eingeschränkte Rechte.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Regionen bzw. Sims miteinander verlinken&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;regionen_bzw_sims_miteinander_verlinken&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1470-2239&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;unsere_sim_verbinden&quot;&gt;Unsere Sim verbinden&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wer die von uns betriebene Sim an seine eigene Sim anschliessen möchte, nimmt dieses Kommando
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;link-region 1001 1001 opensim.DOMAIN 9090 M34&lt;/pre&gt;

&lt;p&gt;
Die Beispiel-Koordinaten 1001 1001 müssen an Ihre Sim angepasst werden. Wenn Sie nur 1 Sim mit 1 Region haben mit den Standard-Koordinaten 1000 1000 können Sie dieses Beispiel so übernehmen. Falls Sie mehr als 1 Region haben oder Sie die Sim-Koordinaten geändert haben müssen Sie die Werte an Ihre Sim anpassen. Lassen Sie aber immer mindestens 1 Region zwischen den eigenen und den externen Regionen frei.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Unsere Sim verbinden&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;unsere_sim_verbinden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2240-2842&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;es_gelten_fuer_externe_hypergrid-regionen_folgende_einschraenkungen&quot;&gt;Es gelten für externe Hypergrid-Regionen folgende Einschränkungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen bzw. dessen Koordinaten dürfen keine direkten Nachbarn der eigenen Regionen sein, am besten mindestens 1 Region dazwischen freilassen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen sind nur auf der grossen Karte (Map) zu sehen, aber nicht wenn man z.B. am Rand einer Nachbar-Region steht&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen bzw. dessen Koordinaten müssen unbenutzt sein, dürfen also nicht auf der eigenen Sim ebenfalls verwendet werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen dürfen maximal 4096 Positionen von den eigenen Koordinaten entfernt sein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen müssen auf einem OpenSIM-Server liegen der im Hypergrid-Modus gestartet wurde&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die per Hypergrid verlinkten Regionen sind nur per Teleport erreichbar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die Avatare sollten unbedingt ihre Home-Position gesetzt haben, ansonsten ist u.U. keine Rückkehr mit der Tastenfolge STRG-SHIFT-H zur Ursprungs-Sim möglich wo man sich eingeloggt hat, wenn auf der Ziel-Sim keine ebenfalls gesetzte Teleportmöglichkeit zur eigenen Sim zurück existiert. Man müsste sich dann erst wieder ausloggen und wieder neu einloggen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Es gelten f\u00fcr externe Hypergrid-Regionen folgende Einschr\u00e4nkungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;es_gelten_fuer_externe_hypergrid-regionen_folgende_einschraenkungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2843-4080&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_ueber_das_internet_erreichen&quot;&gt;OpenSIM über das Internet erreichen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Damit man sich mit dem OpenSIM eines Freundes verbinden kann muß man die Internetadresse des Freundes kennen. In den meisten Fällen wird der Freund aber keine feste Internetadresse haben, sondern nur einen ADSL-Internetzugang mit täglich wechselnder IP-Adresse. Wenn man OpenSIM nur für einen Tag testen möchte kann man die IP-Adresse des Freundes verwenden die er von seinem Internetprovider bekommen hat. Diese IP-Adresse kann man z.B. auf der Webseite &lt;a href=&quot;http://www.wieistmeineip.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.wieistmeineip.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.wieistmeineip.de&lt;/a&gt; ablesen. Diese Internetadresse wird dann für das „link-region“-Kommando wie im obigen Beispiel gezeigt verwendet. Statt „opensimserver.example.com“ wird dort die IP-Adresse eingetragen.
&lt;/p&gt;

&lt;p&gt;
Wer die Verbindung längere Zeit aufrechterhalten möchte, sollte über eine feste Internetadresse verfügen, damit man sich die täglich Anpassung der IP-Adresse in der Konfiguration erspart. Eine feste Internetadresse bekommt man z.B. bei dem bekanntesten aller DYNDNS-Anbieter &lt;a href=&quot;https://www.dyndns.com/account/create.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.dyndns.com/account/create.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.dyndns.com&lt;/a&gt; . Dort kann man sich kostenlos einen oder mehrere Sub-Domains registrieren die man für OpenSIM verwenden kann. Statt der IP-Adresse wird fortan die Sub-Domain verwendet die sich automatisch an die täglich wechselnde IP-Adresse anpasst. Bei den meisten Routern kann man die Sub-Domain von DYNDNS in der Router-Konfiguration eintragen, sodaß der Abgleich automatisch stattfindet.
&lt;/p&gt;

&lt;p&gt;
Editieren Sie dann die Datei „Regions/default.xml“ und ändern Sie den Wert von „external_host_name“ auf Ihre DYNDNS-Internetadresse. Beispiel: external_host_name=„yourcomputer.ath.cx“. Lassen Sie den Wert von „internal_ip_address“ auf „0.0.0.0“ und „port“ auf „9000“. Nun müssen Sie die Firewall Ihres Routers konfigurieren, damit eingehende Anfragen von aussen auf Ihren OpenSIM Server erfolgen können. In den NAT-Einstellungen muss bei Port-Forwarding der Port 9000 (TCP &lt;strong&gt;und&lt;/strong&gt; UDP) für ein- und ausgehenden Datenverkehr (Traffic) freigegeben werden. Der Port 9000 muss dabei als weiterleitendes Ziel die interne IP-Adresse Ihres OpenSIM Servers bekommen. Vergessen Sie nicht auch eine entsprechende Desktop-Firewall wie z.B. die in Windows integrierte Windows Firewall zu konfigurieren. Sobald Sie den Server starten wird die Windows Firewall sich melden und fragen ob diese Verbindung freigegeben werden darf. Beantworten Sie mit Ja.
&lt;/p&gt;

&lt;p&gt;
Wenn Ihr NAT-Router nicht korrekt mit NAT-Loopback umgehen kann und sich Clients von aussen nicht anmelden können, probieren Sie auf dem OpenSIM Server zusätzlich noch folgende Einstellung: editieren Sie unter Windows die Datei C:\Windows\System32\Drivers\etc\hosts und fügen Sie eine neue Zeile hinzu: &lt;code&gt;192.168.1.10 yourcomputer.ath.cx&lt;/code&gt;
Ersetzen Sie „192.168.1.10“ durch die interne IP-Adresse Ihres OpenSIM Servers und „yourcomputer.ath.cx“ durch Ihre eigene DYNDNS-Adresse. Machen Sie zwischen der IP-Adresse und der DYNDNS-Adresse mindestens ein oder mehr Leerzeichen, oder ein TAB. Starten Sie den Windows PC neu, damit die Host-Datei eingelesen wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenSIM \u00fcber das Internet erreichen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_ueber_das_internet_erreichen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4081-7160&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;tipp&quot;&gt;Tipp&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Am besten ist es wenn die per Hypergrid verlinkten Regionen bzw. Sims nicht exakt diesselben Koordinaten für die Regionen benutzen, also beispielsweise beide 1000/1000 (Standardeinstellung von OpenSIM). Der Abstand darf allerdings aus technischen Gründen wegen eines Fehlers im Second Life Viewer auch nicht zu gross gewählt werden. Der Regionenabstand darf maximal 4096 Positionskoordinaten weit gewählt sein. Eine Abweichung im Hunderterbereich ist zum Beispiel sinnvoll. So kann der eine Sim-Betreiber seine Region unter den Koordinaten 1200/1200 konfigurieren, der andere 1300/1300. Diese Konfiguration nimmt man in den Konfigurationsdateien im Verzeichnis „Regions“ vor. Die darin enthaltene Datei default.xml muss dann angepasst werden.
&lt;/p&gt;

&lt;p&gt;
Hat man mehr als eine Region installiert müssen auch alle anderen xml-Dateien in diesem Verzeichnis angepasst werden. Die Konfiguration nimmt man immer im ausgeschalteten Zustand von OpenSIM vor und bearbeitet die xml-Dateien immer mit einem normalen &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt;-Texteditor. Niemals Wordpad, Windows Word oder eine andere Textverarbeitung nutzen, sondern immer nur reine Texteditoren die keine Steuerzeichen in die Datei einfügen.
&lt;/p&gt;

&lt;p&gt;
Achten Sie darauf daß sich im Verzeichnis „Regions“ ausschliesslich nur verwendete Konfigurationsdateien mit der Dateiendung .xml befinden dürfen, denn beim Start von OpenSIM durchsucht das Programm dieses Verzeichnis und entnimmt aus den darin enthaltenen Dateien die Konfiguration für die Regionen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tipp&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tipp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7161-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:50 +0000</pubDate>
        </item>
        <item>
            <title>Helix</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/antennen/helix?do=revisions&amp;rev=1575021547</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;helix&quot;&gt;Helix&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Wort „Helix“ stammt aus dem griechischen und bedeutet Windung, Spirale, Schraube oder Wendel. Eine Helix-Antenne ist dementsprechend wie eine Spirale aufgebaut. Es wird unterschieden zwischen einer rechtsgängigen und linksgängigen Spirale, je nach Richtungsverlauf. Das Video zeigt eine typische Helixantenne für den 2,4 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Bereich.
&lt;/p&gt;

&lt;p&gt;

&lt;object width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/j82KZdXo5is&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/j82KZdXo5is&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:antennen</category>
            <pubDate>Fri, 29 Nov 2019 10:59:07 +0000</pubDate>
        </item>
        <item>
            <title>Sniffer</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/software/sniffer?do=revisions&amp;rev=1575021556</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sniffer&quot;&gt;Sniffer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Sniffer (engl. „to sniff“ für riechen, schnüffeln) ist eine Software, die den Datenverkehr eines Netzwerks empfangen, aufzeichnen, darstellen und ggf. auswerten kann. Es handelt sich also um ein Werkzeug der &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;herkunft_des_begriffs&quot;&gt;Herkunft des Begriffs&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
„Sniffer“ ist ein eingetragenes Warenzeichen des Herstellers Network General. Es bezeichnet ein Produkt der sogenannten &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse. Da dieses Produkt als eines der ersten auf dem Markt war, und da sein Name so eingängig ist, hat sich der Name Sniffer allgemein durchgesetzt zur Bezeichnung vielfältigster Produkte der &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Analyse, ist also inzwischen auch als Gattungs-Begriff gebräuchlich.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;technik&quot;&gt;Technik&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Ein Sniffer kennt den so genannten „Non-promiscuous mode“ und den Promiscuous Mode. Im Non-promiscuous mode wird der ankommende und abgehende Datenverkehr des eigenen Computers gesnifft. Im Promiscuous Mode sammelt der Sniffer den gesamten Datenverkehr an die in diesen Modus geschaltete Netzwerkschnittstelle. Es werden also nicht nur die an ihn adressierten Datenframes empfangen, sondern auch die nicht an ihn adressierten. Der Adressat eines Frames wird in Ethernet-Netzwerken anhand der MAC-Adresse festgelegt.
&lt;/p&gt;

&lt;p&gt;
Weiterhin ist es von der Netzwerkstruktur abhängig, welche Daten ein Sniffer sehen kann. Werden die Computer mit Hubs verbunden, kann sämtlicher Traffic von den anderen Hosts mitgeschnitten werden. Wird ein Switch verwendet, ist nur wenig oder gar kein Datenverkehr zu sehen, der nicht für das sniffende System selbst bestimmt ist. Allerdings gibt es in diesem Fall mehrere Möglichkeiten wie ARP-Spoofing, ICMP Redirects, DHCP Spoofing oder MAC-Flooding, um trotzdem die Frames empfangen zu können. Ein Switch darf also nicht als Sicherheitsfeature gesehen werden.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:software</category>
            <pubDate>Fri, 29 Nov 2019 10:59:16 +0000</pubDate>
        </item>
        <item>
            <title>Der Zusammenhang zwischen Lippe und Lipperode (aus dem Band 2 des Lipperoder Heimatvereins, 1989)</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/ortsteile/lipperode/lippe_und_lipperode?do=revisions&amp;rev=1587510000</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;der_zusammenhang_zwischen_lippe_und_lipperode_aus_dem_band_2_des_lipperoder_heimatvereins_1989&quot;&gt;Der Zusammenhang zwischen Lippe und Lipperode (aus dem Band 2 des Lipperoder Heimatvereins, 1989)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der Name „Lippe“ ist vom gleichnamigen Fluß auf das in der Gegend um Lipperode und Lippstadt ansässige Herrschergeschlecht übergegangen und von diesen weiter auf das spätere Land Lippe als Herrschaftsgebiet dieses Edelgeschlechts übertragen worden. Die Edelherren zur Lippe bezeichnen sich in den lateinischen Urkunden mit dem Familiennamen „de Lippia“, in den deutschen Bezeichnungen des Mittelalters taucht „von der Lippe“, „van der Lippe“, „zur Lippe“, „tho der Lippe“ auf. Gegen Ende des 14. Jahrhunderts setzt sich der Name „zur Lippe“ durch. Die Edelherren zur Lippe treten erstmals 1113, noch ohne Herkunftsbezeichnung, mit den Brüdern Bernhard und Hermann ins Licht der Geschichte. Sie werden in einer Urkunde des Abtes Erkanbert von Corvey als Zeugen aufgeführt. Bernhard wird urkundlich letztmalig im Jahr 1158 erwähnt, während Hermann wahrscheinlich im Jahre 1167 an einer Seuche starb, die in Rom nach der Krönung Friedrichs I. zum Kaiser ausbrach. Mit Bernhard II., der um 1140 als Sohn des Hermann I. geboren wurde, tritt 1168 das Geschlecht derer zu Lippe deutlich in Erscheinung. Er war es, der um 1158 die Stadt thor Lippe (Lippstadt) gründete. Um 1170 heiratete er die Niederländerin Heilwig von Are, deren Verwandte bedeutende Aufgaben wahrnahmen; so z.B. Friedrich II. v. Are als Bischof von Münster und Dietrich von Are als Bischof von Utrecht.
&lt;/p&gt;

&lt;p&gt;
Bis 1158 blieben die zur Lippe im Stand der Liberi (lat. Ausdruck für Freie). Der „Stand“ bedeutete die rechtlich und sozial abgeschlossene Schicht, in die der Einzelne hineingeboren wird. Liberi waren diejenigen, die in keinerlei persönlichem Abhängigkeitsverhätnis standen. 1160 wird Hermann I. als „nobilis“ (Freier) und 1167 als „comes“ (Graf) bezeichnet. Die rechtliche Einordnung ist als Edelherr (Freiherr) korrekt. Dies war der (Adels-) Stand unter den Grafen. In dieser gesellschaftlichen Schicht befanden sich die Reste der selbstständigen freien Grundbesitzer, die als Ritter leben konnten. Sie bildeten im wesentlichen den Stand der älteren, freien Ritter. Nach dem Sachsenspiegel gehörten diese Freiherren teils dem fünften Heerschild an. Seit dem 14. Jahrhundert gehören die alten Freiherr-Familien zum hohen Adel und namen meist den Grafentitel an.
&lt;/p&gt;

&lt;p&gt;
Geht man vom Titel aus, stammen die Lipper nicht von den „höheren“ Familien ab. Ihre Verbindungen zeigen jedoch, daß sie von anderen Grafen als ebenbürtig geachtet wurden. Das Zentrum der Lipper befand sich um Lippstadt. So entstand um 1140 in Cappel ein Prämonstratenserinnen-Stift, 1158 die neue „Stadt thor Lippe“, 1189 die Burg in Lippborg und um 1243 die Burg in Lipperode. Daneben besaßen sie noch an vielen Orten Grundbesitz, hauptsächlich nördlich der Lippe. Die Größe des gesamten Besitzes, der in keinem Fall ein zusammenhängendes Territorium nach heutigen Begriffen bildete, sondern aus einzelnen, mehr oder weniger grossem Grundbesitz bestand, kann nicht genau bestimmt werden. Doch Justins „Lippiflori“ ist zu entnehmen, daß der Umfang in älterer Zeit nicht groß gewesen sein kann. Erst 1194 erhielten die Lipper als Vasallen des Bischofs von Paderborn praktisch die Vogteirechte über den Hauptteil des heutigen Landes Lippe. Es wurde ihnen der militärische Schutz, die Gerichtsbarkeit und die Erhebung der Einkünfte übertragen. Sie haben diese Stellung nach und nach ausgebaut und ihre Aktivitäten mehr und mehr in dieses Gebiet verlegt und den eigentlichen Stammbesitz in Lippstadt und Lipperode immer mehr vernachlässigt. Um die Mitte der neunziger Jahre des vorigen Jahrhunderts behauptete ein lippischer Landtagsabgeordneter: „Lipperode ist für den lippischen Staat dasselbe, was Deutsch-Ostafrika für Deutschland ist“. Er kannte die Geschichte nicht.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile:lipperode</category>
            <pubDate>Wed, 22 Apr 2020 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Dimmen</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/dimmen?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;dimmen&quot;&gt;Dimmen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit dem diesem Script kann ein Objekt generiert werden dass bei Berührung ein Menü öffnet und mit dem dann die Transparanz anderer Objekte kontrolliert werden kann.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-189&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;kontrollobjekt&quot;&gt;Kontrollobjekt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dieses Script muss in das Objekt, das quasi als Fernbedienung dienen soll. Die Namen werden dabei im Array WALL_OPTIONS festgelegt.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// (C) 2007 Abba Thiebaud&amp;gt;SecondLifer  
// Please remember, I do not offer support for this script; your use of
// this script is your acknowledgement and agreement to the above
// terms.
//
// DO NOT REMOVE THE ABOVE HEADER FOR ANY REASON WHATSOEVER.
 
// Window Controller Script (put into controller prim)
list TINT_OPTIONS = [&amp;quot;40%&amp;quot;, &amp;quot;20%&amp;quot;, &amp;quot;None&amp;quot;, &amp;quot;100%&amp;quot;, &amp;quot;80%&amp;quot;, &amp;quot;60%&amp;quot;];
list WALL_OPTIONS = [&amp;quot;Lower Front&amp;quot;, &amp;quot;Lower Back&amp;quot;, &amp;quot;Lower Sides&amp;quot;, &amp;quot;Upper Front&amp;quot;, &amp;quot;Upper Back&amp;quot;, &amp;quot;Upper Sides&amp;quot;, &amp;quot;Ceiling&amp;quot;, &amp;quot;All&amp;quot;];
integer UPPER_FRONT = -28394;
integer LOWER_FRONT = -28395;
integer UPPER_BACK  = -28396;
integer LOWER_BACK  = -28397;
integer UPPER_SIDE  = -28398;
integer LOWER_SIDE  = -28399;
integer CEILING     = -28400;
integer CHANNEL     = -28393;
integer wallChannel;
integer allWalls;
 
PaintAllWalls(string tintLevel)
{
    integer i;
    integer j;
    
    j = -28394;
 
    for (i = 0; i &amp;lt; 7; i++)
    {
        llSay(j, tintLevel);
        j--;
    } // end for
} // end PaintAllWalls
   
default {
    state_entry()
    {
        llListen(CHANNEL, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;); // listen for dialog answers (from multiple users)
    } // end state_entry()
 
    touch_start(integer total_number)
    {
        llDialog(llDetectedKey(0), &amp;quot;Which wall would you like to tint?&amp;quot;, WALL_OPTIONS, CHANNEL); // present dialog on click
        allWalls = 0;
    } // end touch_start()
 
    listen(integer channel, string name, key id, string message)
    {
        if (llListFindList(TINT_OPTIONS + WALL_OPTIONS, [message]) != -1)  // verify dialog choice
        {
            if (message == &amp;quot;Upper Front&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = UPPER_FRONT;
            }
            else if (message == &amp;quot;Upper Back&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = UPPER_BACK;
            }
            else if (message == &amp;quot;Upper Sides&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = UPPER_SIDE;
            }
            else if (message == &amp;quot;Lower Front&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = LOWER_FRONT;
            }
            else if (message == &amp;quot;Lower Back&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = LOWER_BACK;
            }
            else if (message == &amp;quot;Lower Sides&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = LOWER_SIDE;
            }
            else if (message == &amp;quot;Ceiling&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                wallChannel = CEILING;
            }
            else if(message == &amp;quot;All&amp;quot;)
            {
                llDialog(id, &amp;quot;How much tint would you like?&amp;quot;, TINT_OPTIONS, CHANNEL);
                allWalls = 1;
             }
 
            if (message == &amp;quot;100%&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;100&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;100&amp;quot;);
                }
             }
            else if (message == &amp;quot;80%&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;80&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;80&amp;quot;);
                }
             }
            else if (message == &amp;quot;60%&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;60&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;60&amp;quot;);
                }
             }
            else if (message == &amp;quot;40%&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;40&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;40&amp;quot;);
                }
             }
            else if (message == &amp;quot;20%&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;20&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;20&amp;quot;);
                }
             }
            else if (message == &amp;quot;None&amp;quot;)
            {
                if(allWalls == 1)
                {
                    PaintAllWalls(&amp;quot;0&amp;quot;);
                }
                else
                {
                    llSay(wallChannel, &amp;quot;0&amp;quot;);
                }
             }
          } // end if (valid message)
    }  // end listen
} // end default&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kontrollobjekt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kontrollobjekt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;190-5776&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;dimm-objekt&quot;&gt;Dimm-Objekt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dieses Script muss in alle wählbaren Objekte. Dabei muss ein Channel durch Entfernen des Platzhalters aktiviert werden, wodurch das Objekt durch das Kontrollscript ansprechbar wird.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;//Here the target aka Windows, put this script into them.
//integer chan = -28394; // uncomment for UPPER_FRONT
//integer chan = -28395; // uncomment for LOWER_FRONT
//integer chan = -28396; // uncomment for UPPER_BACK
//integer chan = -28397; // uncomment for LOWER_BACK
//integer chan = -28398; // uncomment for UPPER_SIDE
//integer chan = -28399; // uncomment for LOWER_SIDE
//integer chan = -28400; // uncomment for CEILING
 
default
{
        state_entry()
        {
                llListen(chan, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        }
 
        listen( integer channel, string name, key id, string message )
        {
                if ( message == &amp;quot;100&amp;quot; )
                {
                        llSetAlpha(1.0, ALL_SIDES);
                }
                else if ( message == &amp;quot;80&amp;quot; )
                {
                        llSetAlpha(0.8, ALL_SIDES);
                }
                else if ( message == &amp;quot;60&amp;quot; )
                {
                        llSetAlpha(0.6, ALL_SIDES);
                }
                else if ( message == &amp;quot;40&amp;quot; )
                {
                        llSetAlpha(0.4, ALL_SIDES);
                }
                else if ( message == &amp;quot;20&amp;quot; )
                {
                        llSetAlpha(0.2, ALL_SIDES);
                }
                else if ( message == &amp;quot;0&amp;quot; )
                {
                        llSetAlpha(0.0, ALL_SIDES);
                }
        }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dimm-Objekt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dimm-objekt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5777-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Fire Particle</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/fire_particle?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;fire_particle&quot;&gt;Fire Particle&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//// &amp;quot;Fire&amp;quot; PARTICLE TEMPLATE v1 - by Jopsy Pendragon - 4/8/2008
//// You are free to use this script as you please, so long as you include this line:
//** The original &amp;#039;free&amp;#039; version of this script came from THE PARTICLE LABORATORY. **//

// SETUP:  Drop one optional particle texture and this script into a prim.
// Particles should start automatically. (Reset) the script if you insert a
// particle texture later on.  Add one or more CONTROLLER TEMPLATES to any
// prims in the linked object to control when particles turn ON and OFF.

// Customize the particle_parameter values below to create your unique 
// particle effect and click SAVE.  Values are explained along with their
// min/max and default values further down in this script.


string  CONTROLLER_ID = &amp;quot;A&amp;quot;; // See comments at end regarding CONTROLLERS.
integer AUTO_START = TRUE;   // Optionally FALSE only if using CONTROLLERS.

list particle_parameters=[]; // stores your custom particle effect, defined below.
list target_parameters=[]; // remembers targets found using TARGET TEMPLATE scripts.

default {
    state_entry() {
        particle_parameters = [  // start of particle settings
           // Texture Parameters:
           PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0), 
           PSYS_PART_START_SCALE, &amp;lt;.4,.4,FALSE&amp;gt;,  PSYS_PART_END_SCALE, &amp;lt;.5,.5, FALSE&amp;gt;, 
           PSYS_PART_START_COLOR, &amp;lt;1,1,1&amp;gt;,    PSYS_PART_END_COLOR, &amp;lt;.4,.1,0&amp;gt;, 
           PSYS_PART_START_ALPHA, (float).8,            PSYS_PART_END_ALPHA, (float).0,     
         
           // Production Parameters:
           PSYS_SRC_BURST_PART_COUNT, (integer)1, 
           PSYS_SRC_BURST_RATE, (float) 0.0,  
           PSYS_PART_MAX_AGE, (float)1.5, 
           PSYS_SRC_MAX_AGE,(float) 0.0,  
        
           // Placement Parameters:
           PSYS_SRC_PATTERN, (integer)2, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,
           
           // Placement Parameters (for any non-DROP pattern):
           PSYS_SRC_BURST_SPEED_MIN, (float).1,   PSYS_SRC_BURST_SPEED_MAX, (float).3, 
        // PSYS_SRC_BURST_RADIUS, 0.0,
        
           // Placement Parameters (only for ANGLE &amp;amp; CONE patterns):
           PSYS_SRC_ANGLE_BEGIN, (float) .03*PI,     PSYS_SRC_ANGLE_END, (float)0.00*PI,  
        // PSYS_SRC_OMEGA, &amp;lt;0,0,0&amp;gt;, 
        
           // After-Effect &amp;amp; Influence Parameters:
           PSYS_SRC_ACCEL, &amp;lt;0.0,0.0,1.5&amp;gt;,  
        // PSYS_SRC_TARGET_KEY,      llGetLinkKey(llGetLinkNum() + 1),       
              
           PSYS_PART_FLAGS, (integer)( 0         // Texture Options:     
                                | PSYS_PART_INTERP_COLOR_MASK   
                                | PSYS_PART_INTERP_SCALE_MASK   
                                | PSYS_PART_EMISSIVE_MASK   
                                | PSYS_PART_FOLLOW_VELOCITY_MASK
                                                  // After-effect &amp;amp; Influence Options:
                                | PSYS_PART_WIND_MASK            
                                | PSYS_PART_BOUNCE_MASK          
                             // | PSYS_PART_FOLLOW_SRC_MASK     
                             // | PSYS_PART_TARGET_POS_MASK     
                             // | PSYS_PART_TARGET_LINEAR_MASK   
                            ) 
            //end of particle settings                     
        ];
        
        if ( AUTO_START ) llParticleSystem( particle_parameters );
        
    }
    
    link_message( integer sibling, integer num, string mesg, key target_key ) {
        if ( mesg != CONTROLLER_ID ) { // this message isn&amp;#039;t for me.  Bail out.
            return;
        } else if ( num == 0 ) { // Message says to turn particles OFF:
            llParticleSystem( [ ] );
        } else if ( num == 1 ) { // Message says to turn particles ON:
            llParticleSystem( particle_parameters + target_parameters );
        } else if ( num == 2 ) { // Turn on, and remember and use the key sent us as a target:
            target_parameters = [ PSYS_SRC_TARGET_KEY, target_key ];
            llParticleSystem( particle_parameters + target_parameters );
        } else { // bad instruction number
            // do nothing.
        }            
    }
        
}


//============================= About Parameters =============================
// There are 22-ish NAMED attributes that affect a particle display.
// To customize a display you give each a VALUE.
// For example: PSYS_PART_START_COLOR is a named attribute,
// and &amp;lt;1.0, 0.5, 0.0&amp;gt; is a color VALUE (orange, in this case).
// 
// As long as your &amp;#039;names&amp;#039; and &amp;#039;values&amp;#039; are paired up properly, they can
// be in any order!  Any you omit a pair, it reverts to a default value.

//============================= Texture Parameters =============================
//
// TEXTURE, can be an &amp;quot;Asset UUID&amp;quot; key copied from a texture 
//          that you have full permissions to, or the name of
//          a texture in the prim&amp;#039;s inventory.
//
// SCALE, (size) 0.0 to 4.0 meters wide, by 0.0 to 4.0 meters tall. (default 1x1)
//          Textures are FLAT, so the &amp;#039;z&amp;#039; part of the vector is ignored.
//          Values smaller than 0.04x0.04 may not get rendered at all.
//          Tiny particles vanish if the viewer is not near them.
//
// BEGIN_SCALE sets particle start size.  
// END_SCALE (end size) is ignored, if the INTERP_SCALE_MASK option is disabled.
//
// COLOR, &amp;lt; RED, GREEN, BLUE &amp;gt; from &amp;lt;0.00,0.00,0.00&amp;gt; (black) to &amp;lt;1.00,1.00,1.00&amp;gt; (white/default)
// ALPHA, 1.0 = 100% visible(default), 0.0 = invisible.  Less than 0.1 might not get seen.
// START_COLOR and START_ALPHA set the color and transparency of newly created particles. 
// END_COLOR and END_ALPHA are ignored, if the INTERP_COLOR_MASK option is disabled.
         
         
//============================= Production Parameters =============================
//
// BURST_PART_COUNT: quantity of particles per burst, 1 to 4096 (default 1), 
//
// BURST_RATE: seconds to delay between particle bursts. 0.0 to 30.0 (default 0.1)
//
// PART_MAX_AGE: particle lifespan in seconds, 0.00 to 30.0 (default=10.0)
//               PART_MAX_AGE less than 0.5 might not be visible.
//
// The default total number of particles that can be seen is 4096, if one or more 
// emitters try to create more than that, many will not be seen, and it may cause
// viewer lag.  Use as few particles as you can for your effect:
// AGE/RATE * COUNT will tell you approximately how many particles your emitter creates.
//
// SRC_MAX_AGE: emitter auto shut-off timer. 1.0 to 60.0 seconds. 0.0 = never stop. (default)


//============================= Placement Parameters =============================
//                
// PATTERN:   
//      DROP, ignores all other placement settings.
//      EXPLODE, spray particles in all directions
//      ANGLE, sprays a flat &amp;quot;fan&amp;quot; shape defined by ANGLE_BEGIN and END values
//      CONE, sprays &amp;quot;ring&amp;quot; or &amp;quot;cone&amp;quot; shapes defined by ANGLE_BEGIN and END values
//
// RADIUS:  0.0 to 50.0?  distance from emitter to create new particles
//      (RADIUS is disabled with DROP pattern and the FOLLOW_SRC &amp;amp; TARGET_LINEAR options)
//        
// SPEED: 0.00 to 50.0?  Sets min/max starting velocities for non-drop patterns. (default: 1.0)
//        
// ANGLE_BEGIN &amp;amp; END:  0.00*PI (up) to 1.00*PI (down),  (Only for ANGLE &amp;amp; CONE patterns)
//       (Values work much like the Sphere-prim&amp;#039;s DIMPLE attributes.) (defaults: 0.0)
//
// OMEGA: &amp;lt;x,y,z&amp;gt; Sets how much to rotate angle/cone spray direction after
//                every burst. 0.0 to PI?  (default: &amp;lt;0,0,0&amp;gt;)

//======================== After-Effects &amp;amp; Influence Parameters ================
//
// ACCEL, x,y,z 0.0 to 50.0?  sets a constant force, (affects all patterns)
//          Causes particles to drift up/down or in a compass direction.
//          Use ACCEL to create the illusion of (anti-)gravity or a directional wind.
//          (ineffective with TARGET_LINEAR option)
//       
// TARGET_KEY,  &amp;quot;key&amp;quot;, (requires the TARGET option be enabled).  
//       &amp;quot;key&amp;quot; can be a variety of many different things:
         // llGetOwner()
         // llGetKey() target self 
         // llGetLinkKey(1) target parent prim
         // llGetLinkKey(llGetLinkNum() + 1) target next prim in link set 
         //
         // WARNING: New copies of objects get new keys, you can&amp;#039;t simply paste
         // a prim&amp;#039;s key into your script and expect it to always work.  Visit
         // the Particle Laboratory&amp;#039;s section on TARGETS for a variety of ways
         // to dynamically find your target&amp;#039;s key. There are different &amp;#039;best ways&amp;#039;
         // depending on if your target is linked to your emitter or not.


//============================= About Options =============================
//    
// Each option may be ON/ENABLED (no leading // )
// or OFF/DISABLED (by putting a // in front of it.)
// Options are combined together in a special way, (using the | symbol).
// This creates one single Parameter for PSYS_PART_FLAGS.

              
//============================= Texture Options =============================
//
// EMISSIVE: identical to &amp;quot;full bright&amp;quot; setting on prims     
//   
// FOLLOW_VELOCITY: particle texture &amp;#039;tilts&amp;#039; towards the direction it&amp;#039;s moving
//
// INTERP_COLOR: causes particle COLOR and ALPHA(transparency) to change over it&amp;#039;s lifespan
//
// INTERP_SCALE: causes particle SCALE(size) to change over it&amp;#039;s lifespan


//======================== After-Effects &amp;amp; Influences Options ================
//
// BOUNCE:  particles bounce up from the z-altitude of emitter, and cannot fall below it.
//
// WIND: the sim&amp;#039;s wind will push particles around
//
// FOLLOW_SRC: makes particles move (but not rotate) if their emitter moves, (disables RADIUS)
//
// TARGET_POS: causes particles to arrive at a some target at end of of their lifespan.
//
// TARGET_LINEAR: forces particles to form into an even line from emitter to target
//                and forces a DROP-like pattern and disables effects of WIND and ACCEL



//========================================================================
//======================== USING CONTROL TEMPLATES =======================
//
// Want to control when your particles turn ON and OFF?   You can!
// 
// Drop one (or more) of the CONTROL TEMPLATES from the particle laboratory
// into your object containing this script.  That&amp;#039;s it!

// Your controls should be effective immediately.  (Some controllers can be
// adjusted and tuned, open them and read the USAGE notes to see.)
//
// One control template can control several particle templates in the
// same object.   (keep in mind that each prim can only have ONE
// particle effect active at a time).
//
// The &amp;#039;particle_effect_name&amp;#039; value must be the same in both the control
// and particle template to work.  You can change that value and have
// a controller for one effect, and a different controller for a different
// effect in the same object.
//


//======================================== END ===============================default&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:40 +0000</pubDate>
        </item>
        <item>
            <title>Skype Online Status - Multi-User Version</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/skype_multiuser?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;skype_online_status_-_multi-user_version&quot;&gt;Skype Online Status - Multi-User Version&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// zwischen die Anführungszeichen Deinen Skype-Name einfügen
string skype_handle = &amp;quot;&amp;quot;;
// you are done!  no more changes!

key     notecode;
string  notecard;
integer noteline;
key skype_request_id = NULL_KEY; // id of http request

showStatus(string skype_status)
{
    // build up our message
    string message = &amp;quot;Skype&amp;quot;;
    message += &amp;quot;\nName: &amp;quot; + skype_handle;
    message += &amp;quot;\nStatus: &amp;quot; + skype_status;
    
    // write out the message as hovering text
    llSetText(message, &amp;lt;.5,.5,1&amp;gt;, 1);
}

// AMD64 ADD: readnotecard() liest eine zeile
// Im Dataserver Event wird die gewünschte Variable dann gefüllt
// Sollte einmal beim rezzen/reseten und Inventory Change durchgeführt werden
readnotecard()
{
    // Der name der NC ist egal
    notecard = llGetInventoryName(INVENTORY_NOTECARD, 0);
    // Wenn aber keine da ist, setze die Variable auch auf leer und beende das ganze
    if (notecard == &amp;quot;&amp;quot;)
    {
        skype_handle = &amp;quot;&amp;quot;;
        return;
    }
    // Lesen beginnen bei Zeile Null (anfang)
    noteline = 0;
    // Ab hier gehts im Dataserver Event weiter
    notecode = llGetNotecardLine(notecard, noteline);
}

default
{
    on_rez(integer start_param)
    {
        readnotecard();
    }
    state_entry()
    {
        llSetTimerEvent(0);
        readnotecard();
    }
    changed(integer change)
    {
        // Änderung im Inventar des Objekts
        if (change &amp;amp; CHANGED_INVENTORY)
        {
            // NC am besten neu einlesen
            readnotecard();
        }
    }
    dataserver(key queryid, string data)
    {
        if (queryid == notecode)
        {
            // Für den Fall dass die NC leer ist
            if (data != EOF) 
            {
                skype_handle = data;
            }
            else
            {
                skype_handle = &amp;quot;&amp;quot;;
            }
        }
    }
    touch_start(integer total_number)
    {
        // make sure owner has specified handle
        if(skype_handle == &amp;quot;&amp;quot;)
        {
            // send message to debugger
            llWhisper(DEBUG_CHANNEL, &amp;quot;skype_handle can not be empty.&amp;quot;);
            return;
        }
        
        // prevent extra requests happening at the same time
        if(skype_request_id != NULL_KEY) return;
        
        // make a request over the internet
        skype_request_id = llHTTPRequest(&amp;quot;http://mystatus.skype.com/&amp;quot; + skype_handle + &amp;quot;.txt&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;], &amp;quot;&amp;quot;);
        
        // set a timeout for http request
        llSetTimerEvent(5);
    }
    http_response(key request_id, integer status, list metadata, string body)
    {
        // is this a response to our request?
        if(request_id == skype_request_id) 
        {
            // show status
            showStatus(body);
            
            // change to view state
            state viewing;
        }

    }
    timer()
    {
        // Didn&amp;#039;t get a response in time.
        showStatus(&amp;quot;No Response&amp;quot;);
        
        // change to view state
        state viewing;
    }
}
state viewing
{
    state_entry()
    {
        // Set next timer for 3 minutes
        llSetTimerEvent(180);
    }
    timer()
    {
        state default;
    }
    state_exit()
    {
        // stop the timer
        llSetTimerEvent(0);

        // hide the text
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0);
        
        // reset the request id
        skype_request_id = NULL_KEY;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Hotspot München</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/hotspot-muenchen?do=revisions&amp;rev=1616058805</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hotspot_muenchen&quot;&gt;Hotspot München&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_center wrap_round wrap_important plugin_wrap&quot; style=&quot;width: 60%;&quot;&gt;
&lt;p&gt;
&lt;strong&gt;Bitte beachten:&lt;/strong&gt;
Dies ist ein Archiv mit nicht mehr aktuellen Informationen und Links!
Das Archiv dient nur zur Recherche und kann veraltete und tote Links enthalten.
Die Domain hotspot-muenchen.de wurde nach 16 Jahren Betrieb (2005-2021) am 26.3.2021 eingestellt.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/mobile-internet.png?id=archiv%3Ahotspot-muenchen%3Ahotspot-muenchen&quot; class=&quot;media&quot; title=&quot;mobile-internet.png&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/mobile-internet.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Hier finden Sie auf einer übersichtlichen Hotspot-Karte alle aktuellen, kostenlos nutzbaren WLAN-Hotspots mit Internetzugang die sich im Stadtgebiet München befinden. Als WLAN-Nutzer brauchen Sie weder etwas zu bezahlen noch sich irgendwo zu registrieren. Schalten Sie am Standort eines WLAN-Hotspots einfach Ihr WLAN-fähiges Endgerät wie z.B. Notebook, Netbook, PDA oder Smartsphone ein, fragen den Hotspot-Betreiber am Standort nach dem aktuellen WLAN-Zugangsschlüssel und schon können Sie im Internet surfen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hotspot M\u00fcnchen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hotspot_muenchen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-888&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;free_wifi_access_munich&quot;&gt;Free Wifi Access Munich&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Kostenlosen Internetzugang per WLAN bekommen Sie in München in vielen Hotels, Cafes, Restaurants, an den Universitäten, in öffentlichen Einrichtungen, sowie bei Firmen und Privatleuten. Das nonkommerzielle, stadtweite Internet-Projekt „WLAN Hotspot München“ wurde im Juli 2005 von fünf TK-Spezialisten unter dem Team-Namen „High 5“ gestartet, zu denen unter anderem der Wireless Internet Access Provider S-NetworkX und der WLAN Profitechnik-Ausrüster WirelessMaxx gehören. Begonnen wurde das WLAN-Projekt durch den Aufbau von zwei Richtfunkstrecken auf dem Münchner Olympiaturm in 212 Metern Höhe, das derzeit die vom Boden aus gemessene höchste WLAN-Installation in Deutschland ist.
&lt;/p&gt;

&lt;p&gt;
Da der WLAN Hotspot München ein offenes Netzwerkkonzept ist, ist auch diese Website ein bewusst offenes Wiki-System das davon lebt das seine Benutzer es aktiv mitgestalten. Netzwerk-Administratoren sorgen im Hintergrund für den technisch reibungslosen Ablauf und wegen der inhaltlichen Verantwortung für rechtlich einwandfreie Ordnung. Sie können über WLAN-Hotspots diskutieren, die Empfangsreichweite anderen Benutzern mitteilen, auf eigenen Benutzer-Webseiten sich persönlich vorstellen und und und …
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Free Wifi Access Munich&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;free_wifi_access_munich&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;889-2130&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;kostenlos_per_wlan_in_muenchen_im_internet_surfen&quot;&gt;Kostenlos per WLAN in München im Internet surfen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
WLAN wird immer mehr von privaten als auch gewerblichen Internetnutzern als mobiles und kostensparendes Kommunikationsmedium wahrgenommen. Doch die meisten WLAN-Betreiber haben nur Zugang zu ihrem eigenen Netzwerk und betreiben damit eine Insellösung - dabei kann man es viel komfortabler haben: mit dem WLAN Hotspot München Projekt. Verbinden Sie per WLAN und VPN Ihr lokales Netzwerk mit dem Netzwerk von anderen Benutzern und nutzen Sie die maximale Reichweite von drahtlosen Zugriffspunkten durch die Kombination von &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;, WLAN und VPN.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kostenlos per WLAN in M\u00fcnchen im Internet surfen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kostenlos_per_wlan_in_muenchen_im_internet_surfen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2131-2733&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;wireless_metropolitan_area_network&quot;&gt;Wireless Metropolitan Area Network&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Hotspot München Projekt verfügt über ein sehr ausgedehntes Netzwerk an lokalen (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;), drahtlosen (WLAN) und virtuellen (VPN) Verbindungen, unter anderem durch WLAN-Richtfunkstrecken auf dem Münchner Olympiaturm als höchstmöglicher Knotenpunkt in der Stadt und anderen hohen Gebäuden in München und der näheren Umgebung. Es existieren zudem direkte Anbindungen an andere WMAN´s in benachbarten Regionen, zum Beispiel zum „Würmtal Wireless Network“ am südwestlichen Stadtrand von München.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wireless Metropolitan Area Network&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wireless_metropolitan_area_network&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2734-3283&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;hotzone_muenchen&quot;&gt;Hotzone München&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das High 5 Team setzt für seine eigenen WLAN-Hotspots unter der einprägsamen ESSID „hotspot-muenchen.de“ nur ausgewählt hohe Standorte und Profi-Technik ein, bei dem die erzielbaren Reichweiten hoch und damit die Funkausleuchtungszonen besonders für den gewerblichen Einsatz bei Messen, Präsentationen, Großveranstaltungen, Video-, TV- und Audioübertragungen, VoIP-Technologie und vieles weitere mehr interessant sind.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hotzone M\u00fcnchen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hotzone_muenchen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3284-3737&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;neuen_wlan-hotspot_eintragen&quot;&gt;Neuen WLAN-Hotspot eintragen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Auch als nicht registrierter Benutzer bzw. Gast dieser Website können Sie neue WLAN-Hotspots eintragen. Nutzen Sie dazu einfach die auf jeder Webseite vorhandene Diskussions-Funktion und tragen Sie dort möglichst detaillierte Angaben zum WLAN-Hotspot ein (Name, Adresse, Telefon, Homepage). Nach einer Überprüfung der Angaben werden neue WLAN-Hotspots in die Hotspot Karte übertragen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Neuen WLAN-Hotspot eintragen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;neuen_wlan-hotspot_eintragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3738-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen</category>
            <pubDate>Thu, 18 Mar 2021 10:13:25 +0000</pubDate>
        </item>
        <item>
            <title>Registration</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/registration?do=revisions&amp;rev=1575021508</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;registration&quot;&gt;Registration&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_round wrap_center wrap_important plugin_wrap&quot; style=&quot;width: 480px; max-width: 100%;&quot;&gt;
&lt;p&gt;
&lt;strong&gt; Zur Nutzung der kostenlosen WLAN-Hotspots in keine Registration nötig !
Die Registration bezieht sich ausschliesslich nur auf diese Website um eigene Beiträge verfassen zu können. &lt;/strong&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
Wenn Sie Wiki-Seiten editieren möchten, müssen Sie sich vorher als Benutzer registrieren. Für eine Registration benötigen Sie nur eine E-Mail Adresse und einen Benutzernamen. Die Registration ist kostenfrei und ermöglicht Ihnen eigene Beiträge unter Ihrem Namen zu schreiben. Registrierte Benutzer haben ausserdem eine persönliche Webseite auf der sie sich zum Beispiel vorstellen und eigene WLAN-bezogene Themen diskutieren können. Nichtregistrierte Benutzer und Gäste können in diesem Wiki lesen und Kommentare zu Webseiten schreiben. Wenn Sie sich registrieren möchten klicken Sie bitte oben rechts auf „Anmelden“ und dann auf „Registrieren“.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Registration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;registration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-918&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;benutzernamen&quot;&gt;Benutzernamen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der gewählte Benutzername darf ein Pseudonym, aber auch der echte Name sein. Echte Namen werden bevorzugt, denn es handelt sich hier ja um eine Wissensdatenbank mit verifizierbaren Daten, deren Herkunft bzw. Quelle bekannt sein muß. Beiträge von Leuten mit Pseudonym mit Beiträgen aus nichtverifizierbaren Quellen oder deren Herkunft können unter Umständen von den Administratoren als Löschkandidat gewertet werden. Der gewählte Benutzername darf ausserdem weder anstössig sein, noch gegen gute Sitten verstoßen, noch aus rechtlichen Gründen ein gesetzlich geschütztes Warenzeichen oder Markenname sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Benutzernamen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benutzernamen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;919-1560&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;passwoerter&quot;&gt;Passwörter&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei der Registration werden Ihnen die Zugangsdaten und ein zufällig generiertes Passwort an Ihre E-Mail Adresse geschickt. Das Passwort können Sie nach der erstmaligen Anmeldung nachträglich ändern. Das Passwort darf beliebig sein und sollte so gewählt werden das es nicht von jemand anderes erraten werden kann. Ein Passwort sollte mindestens aus 8 Zeichen oder mehr bestehen und eine Kombination aus großen und kleinen Buchstaben, Ziffern und Sonderzeichen sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Passw\u00f6rter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;passwoerter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1561-2055&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;e-mail_adresse&quot;&gt;E-Mail Adresse&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ihre E-Mail Adresse muß dauerhaft gültig und erreichbar sein, denn dies ist oft der einzige Weg die Autoren von Wiki-Beiträgen über wichtige Änderungen oder Nachrichten zu erreichen. Sollten E-Mails an registrierte Benutzer mit einer Fehlermeldung zurückkommen, behalten sich die Administratoren eine Sperrung des betreffenden Benutzers vor.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;E-Mail Adresse&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;e-mail_adresse&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2056-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:28 +0000</pubDate>
        </item>
        <item>
            <title>Datenschutzerklärung</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/datenschutzerklaerung?do=revisions&amp;rev=1557788400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;datenschutzerklaerung&quot;&gt;Datenschutzerklärung&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf. (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Datenschutzerkl\u00e4rung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;datenschutzerklaerung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-611&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;arten_der_verarbeiteten_daten&quot;&gt;Arten der verarbeiteten Daten:&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
– Bestandsdaten (z.B., Namen, Adressen).
– Kontaktdaten (z.B., E-Mail, Telefonnummern).
– Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).
– Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).
– Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Arten der verarbeiteten Daten:&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;arten_der_verarbeiteten_daten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;612-965&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;zweck_der_verarbeitung&quot;&gt;Zweck der Verarbeitung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
– Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.
– Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.
– Sicherheitsmaßnahmen.
– Reichweitenmessung/Marketing
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Zweck der Verarbeitung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zweck_der_verarbeitung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;966-1206&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;verwendete_begrifflichkeiten&quot;&gt;Verwendete Begrifflichkeiten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.
&lt;/p&gt;

&lt;p&gt;
„Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführten Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.
&lt;/p&gt;

&lt;p&gt;
Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Verwendete Begrifflichkeiten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;verwendete_begrifflichkeiten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1207-2384&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;massgebliche_rechtsgrundlagen&quot;&gt;Maßgebliche Rechtsgrundlagen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, gilt Folgendes: Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO, die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO, und die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ma\u00dfgebliche Rechtsgrundlagen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;massgebliche_rechtsgrundlagen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2385-3377&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;sicherheitsmassnahmen&quot;&gt;Sicherheitsmaßnahmen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir bitten Sie sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) oder eine sonstige individuelle Benachrichtigung erforderlich wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sicherheitsma\u00dfnahmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sicherheitsmassnahmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3378-3819&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;zusammenarbeit_mit_auftragsverarbeitern_und_dritten&quot;&gt;Zusammenarbeit mit Auftragsverarbeitern und Dritten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, gem. Art. 6 Abs. 1 lit. b DSGVO zur Vertragserfüllung erforderlich ist), Sie eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.).
&lt;/p&gt;

&lt;p&gt;
Sofern wir Dritte mit der Verarbeitung von Daten auf Grundlage eines sog. „Auftragsverarbeitungsvertrages“ beauftragen, geschieht dies auf Grundlage des Art. 28 DSGVO.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Zusammenarbeit mit Auftragsverarbeitern und Dritten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zusammenarbeit_mit_auftragsverarbeitern_und_dritten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3820-4662&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;uebermittlungen_in_drittlaender&quot;&gt;Übermittlungen in Drittländer&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR)) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an Dritte geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der besonderen Voraussetzungen der Art. 44 ff. DSGVO verarbeiten. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen (so genannte „Standardvertragsklauseln“).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u00dcbermittlungen in Drittl\u00e4nder&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uebermittlungen_in_drittlaender&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4663-5729&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;rechte_der_betroffenen_personen&quot;&gt;Rechte der betroffenen Personen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend Art. 15 DSGVO.
&lt;/p&gt;

&lt;p&gt;
Sie haben entsprechend. Art. 16 DSGVO das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.
&lt;/p&gt;

&lt;p&gt;
Sie haben nach Maßgabe des Art. 17 DSGVO das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe des Art. 18 DSGVO eine Einschränkung der Verarbeitung der Daten zu verlangen.
&lt;/p&gt;

&lt;p&gt;
Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe des Art. 20 DSGVO zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern.
&lt;/p&gt;

&lt;p&gt;
Sie haben ferner gem. Art. 77 DSGVO das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Rechte der betroffenen Personen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rechte_der_betroffenen_personen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5730-6720&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;widerrufsrecht&quot;&gt;Widerrufsrecht&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie haben das Recht, erteilte Einwilligungen gem. Art. 7 Abs. 3 DSGVO mit Wirkung für die Zukunft zu widerrufen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Widerrufsrecht&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;widerrufsrecht&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6721-6861&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;widerspruchsrecht&quot;&gt;Widerspruchsrecht&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe des Art. 21 DSGVO jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Widerspruchsrecht&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;widerspruchsrecht&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;6862-7112&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;cookies_und_widerspruchsrecht_bei_direktwerbung&quot;&gt;Cookies und Widerspruchsrecht bei Direktwerbung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Staus gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).
&lt;/p&gt;

&lt;p&gt;
Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.
&lt;/p&gt;

&lt;p&gt;
Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.
&lt;/p&gt;

&lt;p&gt;
Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite &lt;a href=&quot;http://www.aboutads.info/choices/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.aboutads.info/choices/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.aboutads.info/choices/&lt;/a&gt; oder die EU-Seite &lt;a href=&quot;http://www.youronlinechoices.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.youronlinechoices.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.youronlinechoices.com/&lt;/a&gt; erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Cookies und Widerspruchsrecht bei Direktwerbung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cookies_und_widerspruchsrecht_bei_direktwerbung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7113-9545&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;loeschung_von_daten&quot;&gt;Löschung von Daten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die von uns verarbeiteten Daten werden nach Maßgabe der Art. 17 und 18 DSGVO gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen.
&lt;/p&gt;

&lt;p&gt;
Nach gesetzlichen Vorgaben in Deutschland, erfolgt die Aufbewahrung insbesondere für 10 Jahre gemäß §§ 147 Abs. 1 AO, 257 Abs. 1 Nr. 1 und 4, Abs. 4 HGB (Bücher, Aufzeichnungen, Lageberichte, Buchungsbelege, Handelsbücher, für Besteuerung relevanter Unterlagen, etc.) und 6 Jahre gemäß § 257 Abs. 1 Nr. 2 und 3, Abs. 4 HGB (Handelsbriefe).
&lt;/p&gt;

&lt;p&gt;
Nach gesetzlichen Vorgaben in Österreich erfolgt die Aufbewahrung insbesondere für 7 J gemäß § 132 Abs. 1 BAO (Buchhaltungsunterlagen, Belege/Rechnungen, Konten, Belege, Geschäftspapiere, Aufstellung der Einnahmen und Ausgaben, etc.), für 22 Jahre im Zusammenhang mit Grundstücken und für 10 Jahre bei Unterlagen im Zusammenhang mit elektronisch erbrachten Leistungen, Telekommunikations-, Rundfunk- und Fernsehleistungen, die an Nichtunternehmer in EU-Mitgliedstaaten erbracht werden und für die der Mini-One-Stop-Shop (MOSS) in Anspruch genommen wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;L\u00f6schung von Daten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;loeschung_von_daten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;9546-11223&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;hosting&quot;&gt;Hosting&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die von uns in Anspruch genommenen Hosting-Leistungen dienen der Zurverfügungstellung der folgenden Leistungen: Infrastruktur- und Plattformdienstleistungen, Rechenkapazität, Speicherplatz und Datenbankdienste, Sicherheitsleistungen sowie technische Wartungsleistungen, die wir zum Zwecke des Betriebs dieses Onlineangebotes einsetzen.
&lt;/p&gt;

&lt;p&gt;
Hierbei verarbeiten wir, bzw. unser Hostinganbieter Bestandsdaten, Kontaktdaten, Inhaltsdaten, Vertragsdaten, Nutzungsdaten, Meta- und Kommunikationsdaten von Kunden, Interessenten und Besuchern dieses Onlineangebotes auf Grundlage unserer berechtigten Interessen an einer effizienten und sicheren Zurverfügungstellung dieses Onlineangebotes gem. Art. 6 Abs. 1 lit. f DSGVO i.V.m. Art. 28 DSGVO (Abschluss Auftragsverarbeitungsvertrag).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hosting&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hosting&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;11224-12020&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;erhebung_von_zugriffsdaten_und_logfiles&quot;&gt;Erhebung von Zugriffsdaten und Logfiles&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir, bzw. unser Hostinganbieter, erhebt auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO Daten über jeden Zugriff auf den Server, auf dem sich dieser Dienst befindet (sogenannte Serverlogfiles). Zu den Zugriffsdaten gehören Name der abgerufenen Webseite, Datei, Datum und Uhrzeit des Abrufs, übertragene Datenmenge, Meldung über erfolgreichen Abruf, Browsertyp nebst Version, das Betriebssystem des Nutzers, Referrer &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; (die zuvor besuchte Seite), IP-Adresse und der anfragende Provider.
&lt;/p&gt;

&lt;p&gt;
Logfile-Informationen werden aus Sicherheitsgründen (z.B. zur Aufklärung von Missbrauchs- oder Betrugshandlungen) für die Dauer von maximal 7 Tagen gespeichert und danach gelöscht. Daten, deren weitere Aufbewahrung zu Beweiszwecken erforderlich ist, sind bis zur endgültigen Klärung des jeweiligen Vorfalls von der Löschung ausgenommen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Erhebung von Zugriffsdaten und Logfiles&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;erhebung_von_zugriffsdaten_und_logfiles&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;12021-12948&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;agenturdienstleistungen&quot;&gt;Agenturdienstleistungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir verarbeiten die Daten unserer Kunden im Rahmen unserer vertraglichen Leistungen zu denen konzeptionelle und strategische Beratung, Kampagnenplanung, Software- und Designentwicklung/-beratung oder Pflege, Umsetzung von Kampagnen und Prozessen/ Handling, Serveradministration, Datenanalyse/ Beratungsleistungen und Schulungsleistungen gehören.
&lt;/p&gt;

&lt;p&gt;
Hierbei verarbeiten wir Bestandsdaten (z.B., Kundenstammdaten, wie Namen oder Adressen), Kontaktdaten (z.B., E-Mail, Telefonnummern), Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos), Vertragsdaten (z.B., Vertragsgegenstand, Laufzeit), Zahlungsdaten (z.B., Bankverbindung, Zahlungshistorie), Nutzungs- und Metadaten (z.B. im Rahmen der Auswertung und Erfolgsmessung von Marketingmaßnahmen). Besondere Kategorien personenbezogener Daten verarbeiten wir grundsätzlich nicht, außer wenn diese Bestandteile einer beauftragten Verarbeitung sind. Zu den Betroffenen gehören unsere Kunden, Interessenten sowie deren Kunden, Nutzer, Websitebesucher oder Mitarbeiter sowie Dritte. Der Zweck der Verarbeitung besteht in der Erbringung von Vertragsleistungen, Abrechnung und unserem Kundenservice. Die Rechtsgrundlagen der Verarbeitung ergeben sich aus Art. 6 Abs. 1 lit. b DSGVO (vertragliche Leistungen), Art. 6 Abs. 1 lit. f DSGVO (Analyse, Statistik, Optimierung, Sicherheitsmaßnahmen). Wir verarbeiten Daten, die zur Begründung und Erfüllung der vertraglichen Leistungen erforderlich sind und weisen auf die Erforderlichkeit ihrer Angabe hin. Eine Offenlegung an Externe erfolgt nur, wenn sie im Rahmen eines Auftrags erforderlich ist. Bei der Verarbeitung der uns im Rahmen eines Auftrags überlassenen Daten handeln wir entsprechend den Weisungen der Auftraggeber sowie der gesetzlichen Vorgaben einer Auftragsverarbeitung gem. Art. 28 DSGVO und verarbeiten die Daten zu keinen anderen, als den auftragsgemäßen Zwecken.
&lt;/p&gt;

&lt;p&gt;
Wir löschen die Daten nach Ablauf gesetzlicher Gewährleistungs- und vergleichbarer Pflichten. die Erforderlichkeit der Aufbewahrung der Daten wird alle drei Jahre überprüft; im Fall der gesetzlichen Archivierungspflichten erfolgt die Löschung nach deren Ablauf (6 J, gem. § 257 Abs. 1 HGB, 10 J, gem. § 147 Abs. 1 AO). Im Fall von Daten, die uns gegenüber im Rahmen eines Auftrags durch den Auftraggeber offengelegt wurden, löschen wir die Daten entsprechend den Vorgaben des Auftrags, grundsätzlich nach Ende des Auftrags.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Agenturdienstleistungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;agenturdienstleistungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;12949-15398&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;registrierfunktion&quot;&gt;Registrierfunktion&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nutzer können optional ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt. Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Angebotes verwendet. Die Nutzer können über angebots- oder registrierungsrelevante Informationen, wie Änderungen des Angebotsumfangs oder technische Umstände per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto gelöscht, vorbehaltlich deren Aufbewahrung ist aus handels- oder steuerrechtlichen Gründen entspr. Art. 6 Abs. 1 lit. c DSGVO notwendig. Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.
&lt;/p&gt;

&lt;p&gt;
Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung der Nutzerkontos, speichern wird die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1 lit. c DSGVO. Die IP-Adressen werden spätestens nach 7 Tagen anonymisiert oder gelöscht.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Registrierfunktion&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;registrierfunktion&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;15399-16949&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;kontaktaufnahme&quot;&gt;Kontaktaufnahme&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei der Kontaktaufnahme mit uns (z.B. per Kontaktformular, E-Mail, Telefon oder via sozialer Medien) werden die Angaben des Nutzers zur Bearbeitung der Kontaktanfrage und deren Abwicklung gem. Art. 6 Abs. 1 lit. b) DSGVO verarbeitet. Die Angaben der Nutzer können in einem Customer-Relationship-Management System („CRM System“) oder vergleichbarer Anfragenorganisation gespeichert werden.
&lt;/p&gt;

&lt;p&gt;
Wir löschen die Anfragen, sofern diese nicht mehr erforderlich sind. Wir überprüfen die Erforderlichkeit alle zwei Jahre; Ferner gelten die gesetzlichen Archivierungspflichten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kontaktaufnahme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kontaktaufnahme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;16950-17552&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;kommentare_und_beitraege&quot;&gt;Kommentare und Beiträge&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn Nutzer Kommentare oder sonstige Beiträge hinterlassen, können ihre IP-Adressen auf Grundlage unserer berechtigten Interessen im Sinne des Art. 6 Abs. 1 lit. f. DSGVO für 7 Tage gespeichert werden. Das erfolgt zu unserer Sicherheit, falls jemand in Kommentaren und Beiträgen widerrechtliche Inhalte hinterlässt (Beleidigungen, verbotene politische Propaganda, etc.). In diesem Fall können wir selbst für den Kommentar oder Beitrag belangt werden und sind daher an der Identität des Verfassers interessiert.
&lt;/p&gt;

&lt;p&gt;
Des Weiteren behalten wir uns vor, auf Grundlage unserer berechtigten Interessen gem. Art. 6 Abs. 1 lit. f. DSGVO, die Angaben der Nutzer zwecks Spamerkennung zu verarbeiten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kommentare und Beitr\u00e4ge&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kommentare_und_beitraege&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;17553-18284&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;kommentarabonnements&quot;&gt;Kommentarabonnements&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Nachfolgekommentare können durch Nutzer mit deren Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO abonniert werden. Die Nutzer erhalten eine Bestätigungsemail, um zu überprüfen, ob sie der Inhaber der eingegebenen Emailadresse sind. Nutzer können laufende Kommentarabonnements jederzeit abbestellen. Die Bestätigungsemail wird Hinweise zu den Widerrufsmöglichkeiten enthalten. Für die Zwecke des Nachweises der Einwilligung der Nutzer, speichern wir den Anmeldezeotpunkt nebst der IP-Adresse der Nutzer und löschen diese Informationen, wenn Nutzer sich von dem Abonnement abmelden.
&lt;/p&gt;

&lt;p&gt;
Sie können den Empfang unseres ABonnemenets jederzeit kündigen, d.h. Ihre Einwilligungen widerrufen. Wir können die ausgetragenen E-Mailadressen bis zu drei Jahren auf Grundlage unserer berechtigten Interessen speichern bevor wir sie löschen, um eine ehemals gegebene Einwilligung nachweisen zu können. Die Verarbeitung dieser Daten wird auf den Zweck einer möglichen Abwehr von Ansprüchen beschränkt. Ein individueller Löschungsantrag ist jederzeit möglich, sofern zugleich das ehemalige Bestehen einer Einwilligung bestätigt wird.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kommentarabonnements&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kommentarabonnements&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;18285-19454&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;reichweitenmessung_mit_matomo&quot;&gt;Reichweitenmessung mit Matomo&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im Rahmen der Reichweitenanalyse von Matomo werden auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) die folgenden Daten verarbeitet: der von Ihnen verwendete Browsertyp und die Browserversion, das von Ihnen verwendete Betriebssystem, Ihr Herkunftsland, Datum und Uhrzeit der Serveranfrage, die Anzahl der Besuche, Ihre Verweildauer auf der Website sowie die von Ihnen betätigten externen Links. Die IP-Adresse der Nutzer wird anonymisiert, bevor sie gespeichert wird.
&lt;/p&gt;

&lt;p&gt;
Matomo verwendet Cookies, die auf dem Computer der Nutzer gespeichert werden und die eine Analyse der Benutzung unseres Onlineangebotes durch die Nutzer ermöglichen. Dabei können aus den verarbeiteten Daten pseudonyme Nutzungsprofile der Nutzer erstellt werden. Die Cookies haben eine Speicherdauer von einer Woche. Die durch das Cookie erzeugten Informationen über Ihre Benutzung dieser Webseite werden nur auf unserem Server gespeichert und nicht an Dritte weitergegeben.
&lt;/p&gt;

&lt;p&gt;
Nutzer können der anonymisierten Datenerhebung durch das Programm Matomo jederzeit mit Wirkung für die Zukunft widersprechen, indem sie auf den untenstehenden Link klicken. In diesem Fall wird in ihrem Browser ein sog. Opt-Out-Cookie abgelegt, was zur Folge hat, dass Matomo keinerlei Sitzungsdaten mehr erhebt. Wenn Nutzer ihre Cookies löschen, so hat dies jedoch zur Folge, dass auch das Opt-Out-Cookie gelöscht wird und daher von den Nutzern erneut aktiviert werden muss.
&lt;/p&gt;

&lt;p&gt;
Die Logs mit den Daten der Nutzer werden nach spätestens 6 Monaten gelöscht.
&lt;/p&gt;

&lt;p&gt;
&lt;iframe style=&quot;border: 0; height: 200px; width: 600px;&quot; src=&quot;http://monitor.itclive.de/index.php?module=CoreAdminHome&amp;action=optOut&amp;language=de&amp;backgroundColor=ffffff&amp;fontColor=&amp;fontSize=12px&amp;fontFamily=Arial&quot;&gt;&lt;/iframe&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Reichweitenmessung mit Matomo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reichweitenmessung_mit_matomo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;19455-21373&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;onlinepraesenzen_in_sozialen_medien&quot;&gt;Onlinepräsenzen in sozialen Medien&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir unterhalten Onlinepräsenzen innerhalb sozialer Netzwerke und Plattformen, um mit den dort aktiven Kunden, Interessenten und Nutzern kommunizieren und sie dort über unsere Leistungen informieren zu können. Beim Aufruf der jeweiligen Netzwerke und Plattformen gelten die Geschäftsbedingungen und die Datenverarbeitungsrichtlinien deren jeweiligen Betreiber.
&lt;/p&gt;

&lt;p&gt;
Soweit nicht anders im Rahmen unserer Datenschutzerklärung angegeben, verarbeiten wir die Daten der Nutzer sofern diese mit uns innerhalb der sozialen Netzwerke und Plattformen kommunizieren, z.B. Beiträge auf unseren Onlinepräsenzen verfassen oder uns Nachrichten zusenden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Onlinepr\u00e4senzen in sozialen Medien&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;onlinepraesenzen_in_sozialen_medien&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;21374-22064&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;einbindung_von_diensten_und_inhalten_dritter&quot;&gt;Einbindung von Diensten und Inhalten Dritter&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir setzen innerhalb unseres Onlineangebotes auf Grundlage unserer berechtigten Interessen (d.h. Interesse an der Analyse, Optimierung und wirtschaftlichem Betrieb unseres Onlineangebotes im Sinne des Art. 6 Abs. 1 lit. f. DSGVO) Inhalts- oder Serviceangebote von Drittanbietern ein, um deren Inhalte und Services, wie z.B. Videos oder Schriftarten einzubinden (nachfolgend einheitlich bezeichnet als “Inhalte”).
&lt;/p&gt;

&lt;p&gt;
Dies setzt immer voraus, dass die Drittanbieter dieser Inhalte, die IP-Adresse der Nutzer wahrnehmen, da sie ohne die IP-Adresse die Inhalte nicht an deren Browser senden könnten. Die IP-Adresse ist damit für die Darstellung dieser Inhalte erforderlich. Wir bemühen uns nur solche Inhalte zu verwenden, deren jeweilige Anbieter die IP-Adresse lediglich zur Auslieferung der Inhalte verwenden. Drittanbieter können ferner so genannte Pixel-Tags (unsichtbare Grafiken, auch als „Web Beacons“ bezeichnet) für statistische oder Marketingzwecke verwenden. Durch die „Pixel-Tags“ können Informationen, wie der Besucherverkehr auf den Seiten dieser Website ausgewertet werden. Die pseudonymen Informationen können ferner in Cookies auf dem Gerät der Nutzer gespeichert werden und unter anderem technische Informationen zum Browser und Betriebssystem, verweisende Webseiten, Besuchszeit sowie weitere Angaben zur Nutzung unseres Onlineangebotes enthalten, als auch mit solchen Informationen aus anderen Quellen verbunden werden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Einbindung von Diensten und Inhalten Dritter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einbindung_von_diensten_und_inhalten_dritter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;22065-23576&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;vimeo&quot;&gt;Vimeo&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir können die Videos der Plattform “Vimeo” des Anbieters Vimeo Inc., Attention: Legal Department, 555 West 18th Street New York, New York 10011, USA, einbinden. Datenschutzerklärung: &lt;a href=&quot;https://vimeo.com/privacy&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://vimeo.com/privacy&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://vimeo.com/privacy&lt;/a&gt;. WIr weisen darauf hin, dass Vimeo Google Analytics einsetzen kann und verweisen hierzu auf die Datenschutzerklärung (&lt;a href=&quot;https://www.google.com/policies/privacy&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.google.com/policies/privacy&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.google.com/policies/privacy&lt;/a&gt;) sowie Opt-Out-Möglichkeiten für Google-Analytics (&lt;a href=&quot;http://tools.google.com/dlpage/gaoptout?hl=de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://tools.google.com/dlpage/gaoptout?hl=de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://tools.google.com/dlpage/gaoptout?hl=de&lt;/a&gt;) oder die Einstellungen von Google für die Datennutzung zu Marketingzwecken (&lt;a href=&quot;https://adssettings.google.com/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://adssettings.google.com/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://adssettings.google.com/&lt;/a&gt;.).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vimeo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vimeo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;23577-24181&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit25&quot; id=&quot;youtube&quot;&gt;Youtube&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir binden die Videos der Plattform “YouTube” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: &lt;a href=&quot;https://www.google.com/policies/privacy/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.google.com/policies/privacy/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.google.com/policies/privacy/&lt;/a&gt;, Opt-Out: &lt;a href=&quot;https://adssettings.google.com/authenticated&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://adssettings.google.com/authenticated&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://adssettings.google.com/authenticated&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Youtube&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;youtube&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;24182-24459&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;google_fonts&quot;&gt;Google Fonts&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir binden die Schriftarten („Google Fonts“) des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: &lt;a href=&quot;https://www.google.com/policies/privacy/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.google.com/policies/privacy/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.google.com/policies/privacy/&lt;/a&gt;, Opt-Out: &lt;a href=&quot;https://adssettings.google.com/authenticated&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://adssettings.google.com/authenticated&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://adssettings.google.com/authenticated&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Fonts&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_fonts&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;24460-24741&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;google_recaptcha&quot;&gt;Google ReCaptcha&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir binden die Funktion zur Erkennung von Bots, z.B. bei Eingaben in Onlineformularen („ReCaptcha“) des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Datenschutzerklärung: &lt;a href=&quot;https://www.google.com/policies/privacy/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.google.com/policies/privacy/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.google.com/policies/privacy/&lt;/a&gt;, Opt-Out: &lt;a href=&quot;https://adssettings.google.com/authenticated&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://adssettings.google.com/authenticated&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://adssettings.google.com/authenticated&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google ReCaptcha&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_recaptcha&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;24742-25082&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit28&quot; id=&quot;google_maps&quot;&gt;Google Maps&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir binden die Landkarten des Dienstes “Google Maps” des Anbieters Google LLC, 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA, ein. Zu den verarbeiteten Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. Die Daten können in den USA verarbeitet werden. Datenschutzerklärung: &lt;a href=&quot;https://www.google.com/policies/privacy/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.google.com/policies/privacy/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.google.com/policies/privacy/&lt;/a&gt;, Opt-Out: &lt;a href=&quot;https://adssettings.google.com/authenticated&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://adssettings.google.com/authenticated&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://adssettings.google.com/authenticated&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Maps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_maps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;25083-25649&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit29&quot; id=&quot;openstreetmap&quot;&gt;OpenStreetMap&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir binden die Landkarten des Dienstes „OpenStreetMap“ ein (&lt;a href=&quot;https://www.openstreetmap.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.openstreetmap.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.openstreetmap.de&lt;/a&gt;), die auf Grundlage der Open Data Commons Open Database Lizenz (ODbL) durch die OpenStreetMap Foundation (OSMF) angeboten werden. Datenschutzerklärung: &lt;a href=&quot;https://wiki.openstreetmap.org/wiki/Privacy_Policy&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://wiki.openstreetmap.org/wiki/Privacy_Policy&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wiki.openstreetmap.org/wiki/Privacy_Policy&lt;/a&gt; —). Nach unserer Kenntnis werden die Daten der Nutzer durch OpenStreetMap ausschließlich zu Zwecken der Darstellung der Kartenfunktionen und Zwischenspeicherung der gewählten Einstellungen verwendet. Zu diesen Daten können insbesondere IP-Adressen und Standortdaten der Nutzer gehören, die jedoch nicht ohne deren Einwilligung (im Regelfall im Rahmen der Einstellungen ihrer Mobilgeräte vollzogen), erhoben werden. Die Daten können in den USA verarbeitet werden. Weitere Informationen können Sie der Datenschutzerklärung von OpenStreetMap entnehmen: &lt;a href=&quot;https://wiki.openstreetmap.org/wiki/Privacy_Policy&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://wiki.openstreetmap.org/wiki/Privacy_Policy&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wiki.openstreetmap.org/wiki/Privacy_Policy&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenStreetMap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openstreetmap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:29,&amp;quot;range&amp;quot;:&amp;quot;25650-26584&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit30&quot; id=&quot;twitter&quot;&gt;Twitter&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Innerhalb unseres Onlineangebotes können Funktionen und Inhalte des Dienstes Twitter, angeboten durch die Twitter Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, USA, eingebunden werden. Hierzu können z.B. Inhalte wie Bilder, Videos oder Texte und Schaltflächen gehören, mit denen Nutzer Ihr Gefallen betreffend die Inhalte kundtun, den Verfassern der Inhalte oder unsere Beiträge abonnieren können. Sofern die Nutzer Mitglieder der Plattform Twitter sind, kann Twitter den Aufruf der o.g. Inhalte und Funktionen den dortigen Profilen der Nutzer zuordnen. Twitter ist unter dem Privacy-Shield-Abkommen zertifiziert und bietet hierdurch eine Garantie, das europäische Datenschutzrecht einzuhalten (&lt;a href=&quot;https://www.privacyshield.gov/participant?id=a2zt0000000TORzAAO&amp;amp;status=Active&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.privacyshield.gov/participant?id=a2zt0000000TORzAAO&amp;amp;status=Active&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.privacyshield.gov/participant?id=a2zt0000000TORzAAO&amp;amp;status=Active&lt;/a&gt;). Datenschutzerklärung: &lt;a href=&quot;https://twitter.com/de/privacy&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://twitter.com/de/privacy&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://twitter.com/de/privacy&lt;/a&gt;, Opt-Out: &lt;a href=&quot;https://twitter.com/personalization&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://twitter.com/personalization&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://twitter.com/personalization&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Twitter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;twitter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:30,&amp;quot;range&amp;quot;:&amp;quot;26585-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt</category>
            <pubDate>Tue, 14 May 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Termine</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/termine?do=revisions&amp;rev=1612306800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;termine&quot;&gt;Termine&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Diese Seite beinhaltet öffentliche Termine. Mit Klick auf einen eingetragenen Termin kann man die Termindetails sehen. Als registrierter und angemeldeter Benutzer kann man auch selbst Termine eintragen, indem man auf das Datum klickt und die Seite ausfüllt und abspeichert.
&lt;/p&gt;

&lt;p&gt;

year=2021;size=12;ns=Termine;name=Termin
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt</category>
            <pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Chat</title>
            <link>http://itclive.spdns.de/wiki/archiv/m34/chat?do=revisions&amp;rev=1575021509</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;chat&quot;&gt;Chat&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Über diesen lokalen Netzwerk-Chat können Sie mit anderen Benutzern im M34-Netzwerk über die Tastatur miteinander kommunizieren. Geben Sie einen beliebigen Chat-Namen im Feld „Nick Name“ ein unter dem sie andere Benutzer ansprechen können. Anschliessend klicken Sie auf „Connect now“! um mit dem Chat-Server (&lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;) verbunden zu werden. Im Chat sehen Sie in der rechten Seitenleiste alle gerade aktiven Benutzer.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;chat_ueber_webbrowser_mit_java&quot;&gt;Chat über Webbrowser mit Java&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;/div&gt;

&lt;h5 id=&quot;chat_ueber_ein_irc-programm_auf_ihrem_computer&quot;&gt;Chat über ein IRC-Programm auf Ihrem Computer&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:m34</category>
            <pubDate>Fri, 29 Nov 2019 10:58:29 +0000</pubDate>
        </item>
        <item>
            <title>Chat</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/chat?do=revisions&amp;rev=1575021543</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;chat&quot;&gt;Chat&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Von hier aus haben Sie direkten Zugriff auf die wichtigsten OpenSIM-Channels im &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt; (Internet Relay Chat). Sie können über die Schaltfläche auswählen bei welchem Channel Sie sich anmelden möchten. Im Channel „opensim“ treffen sich englischsprachige Anwender, Entwickler und Programmierer von OpenSIM. Im Channel „opensim-dev“ treffen sich nur englischsprachige Entwickler (Developer) von OpenSIM. Im Channel „opensim“ treffen sich nur deutschsprachige Anwender von OpenSIM. Im Channel „hypergrid“ treffen sich englischsprachige Anwender und Entwickler der Hypergrid-Technologie.
&lt;/p&gt;

&lt;p&gt;
Im Feld Nick Name überschreiben Sie den voreingestellten Wert „Gast“ mit einem beliebigen Chat-Namen (Nickname) den Sie sich aussuchen können. Die restlichen Felder lassen Sie unverändert und klicken dann auf „Connect Now!“.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Wenn Sie nur Deutsch sprechen und technische Fragen haben und Hilfe zu OpenSIM benötigen nutzen Sie bitte den Support-Chat.&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Chat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;chat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-962&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;alternative_webbasierte_login-moeglichkeit&quot;&gt;Alternative, webbasierte Login-Möglichkeit&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wer den von uns angebotenen, webbasierten &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Zugang auf Basis eines Java-Applets nicht nutzen kann oder will, kann als Alternative auch folgende Links verwenden:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Webbasierter &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Zugang zum Channel OpenSIM&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weiterer webbasierter &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Zugang zum Channel OpenSIM&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Direkter &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Link wenn Sie einen &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Client installiert haben&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Alternative, webbasierte Login-M\u00f6glichkeit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;alternative_webbasierte_login-moeglichkeit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;963-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:03 +0000</pubDate>
        </item>
        <item>
            <title>Nutzungsregeln</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/nutzungsregeln?do=revisions&amp;rev=1575021544</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;nutzungsregeln&quot;&gt;Nutzungsregeln&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Folgende Nutzungsbedingungen und Regeln gelten für die Nutzung der von uns betriebenen OpenSIM-Server, gekennzeichnet als Sims mit dem Namen „&lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/m34&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:m34&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:m34&quot;&gt;M34&lt;/a&gt;“ und angehängter Sim-Nummer. Ein Verstoß gegen die Nutzungsregeln kann und wird in der Regel einen dauerhaften Ausschluss aus OpenSIM und Löschung des Zugangskontos zur Folge haben. Wir behalten uns zudem bei groben Mißbrauch oder Rechtsverletzungen die zusätzliche Einleitung rechtlicher Schritte gegen den OpenSIM-Nutzer vor.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nutzungsregeln&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nutzungsregeln&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-522&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;allgemeines&quot;&gt;1. Allgemeines&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie stimmen zu bei jeder Nutzung der von uns betriebenen Sims die jeweils aktuellen Nutzungsbedingungen zu akzeptieren. Sie sehen sich regelmässig die Nutzungsbedingungen an um Veränderungen zu beachten. Sie stimmen ausserdem zu dass sich die Nutzungsbedingungen jederzeit ändern können ohne dass Sie darüber separat informiert werden, da Sie sich selbst über diese Webseite mit den jeweils aktuellen Nutzungsbedingungen informieren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. Allgemeines&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;allgemeines&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;523-989&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;richtigkeit_der_angaben&quot;&gt;2. Richtigkeit der Angaben&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie bestätigen dass die von Ihnen bei der Registrierung gemachten Angaben der Wahrheit entsprechen und die von Ihnen angegebene E-Mail Adresse existiert und Ihrer natürlichen Person zugeordnet ist. Die von Ihnen angegebene E-Mail Adresse darf keine einmalige Wegwerfadresse sein oder eine nur temporär verwendete E-Mail Adresse. Wir lehnen ausserdem E-Mail Adressen bei bekannten Spam-Relays, sowie auf Dial-in Pools ab die auf unserer Blacklist (RTBL) stehen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. Richtigkeit der Angaben&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;richtigkeit_der_angaben&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;990-1492&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;benutzerkonten&quot;&gt;2. Benutzerkonten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Die Registrierung und Nutzung von OpenSIM ist kostenlos. Pro Person ist jeweils nur 1 Zugangskonto zulässig. Sie bekommen eine E-Mail Bestätigung zugeschickt wenn wir Ihre Registrierung geprüft haben, Ihr OpenSIM-Konto angelegt wurde und der Zugang von uns freigeschaltet wurde. Mehrfachregistrierungen von ein und derselben Person sind nicht erlaubt. Es ist sinnlos eine Registrierung mehrfach hintereinander abzuschicken ohne unsere Bestätigungs-Mail abzuwarten, da wir Ihre Registrierung dann vollständig ignorieren und Sie keinen Zugang zu OpenSIM erhalten. Wenn Sie eine Frage zu Ihrem OpenSIM-Zugang haben, dann nutzen Sie bitte den angebotenen &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/support&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:support&quot; data-wiki-id=&quot;archiv:opensim:support&quot;&gt;Support&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. Benutzerkonten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benutzerkonten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1493-2195&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;umgang_mit_anderen_nutzern&quot;&gt;3. Umgang mit anderen Nutzern&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es sollte eigentlich selbstverständlich sein, das andere Nutzer und deren Privatsphäre respektiert wird, aber es muß trotzdem erwähnt werden, denn es wird allzu gerne vergessen. Unhöflichkeiten oder derbere Ausmaße wie Beleidigungen sind nicht erwünscht. Wir behalten uns auf jeden Fall das Recht vor Nutzer zu sperren oder von der Sim zu entfernen die störend auffallen. Höfliches Nachfragen wenn man sich im Umgang mit noch unbekannten Personen unsicher ist hat noch nie geschadet. Ein freundlicher Umgangston wird in jedem Fall von Ihnen erwartet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. Umgang mit anderen Nutzern&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;umgang_mit_anderen_nutzern&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2196-2797&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;virtuelles_land&quot;&gt;4. Virtuelles Land&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;bauen&quot;&gt;Bauen&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Wenn erkennbar bereits auf einer Region gebaut wurde dann sollte man dies auch respektieren und nicht fremde Gegenstände danebenstellen. Es gibt genug freie Flächen wo sich jeder austoben kann ohne andere zu behindern. Wer eine eigene, kostenlose Region zum bebauen haben möchte wendet sich einfach über den &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/support&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:support&quot; data-wiki-id=&quot;archiv:opensim:support&quot;&gt;Support&lt;/a&gt; an uns. Wer bereits eine eigene Region hat ist dafür verantwortlich und muß über die Regionen-Berechtigungen entsprechend die Rechte für andere Avatare setzen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4. Virtuelles Land&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtuelles_land&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2798-3331&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;belastung_der_sim&quot;&gt;5. Belastung der Sim&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;einsatz_von_scripten_und_physikalischen_objekten&quot;&gt;Einsatz von Scripten und physikalischen Objekten&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Ein maßvoller Umgang beim Einsatz von Scripten und physikalischen Objekten ist angebracht. Serverbelastende Scripte sind unerwünscht, ebenso unnötige physikalische Objekte. Wer dies nur kurzfristig testen möchte muß diese umgehend wieder entfernen. Wir behalten uns vor Scripte die den Betrieb der Sim gefährden umgehend ohne Ankündigung zu löschen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;avatar-mengenansammlungen&quot;&gt;Avatar-Mengenansammlungen&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Die von uns betriebene Sim wird zu Test- und Demonstrationszwecken eingesetzt und eignet sich nicht für große Ansammlungen von Avataren. Grosse Massen verursachen Performance-Probleme für alle eingeloggten Avatare und können daher nicht zugelassen werden.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;netzwerkbandbreite&quot;&gt;Netzwerkbandbreite&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Die Netzwerkbandbreite des von Ihnen verwendeten Viewers darf nicht höher als 200 eingestellt sein, besser sogar noch darunter. Bitte kontrollieren Sie diese Einstellung bevor Sie sich einloggen ! Wer die Bandbreite zu hoch eingestellt hat wird zwangsläufig erhebliche Probleme in OpenSIM haben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;5. Belastung der Sim&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;belastung_der_sim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3332-4407&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;inhalte&quot;&gt;6. Inhalte&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;keine_illegalen_inhalte&quot;&gt;Keine illegalen Inhalte&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Es dürfen keine gewaltverherrlichende, sexistische, pornografische, jugendgefährdende, rassistische oder illegale Inhalte und Links (in welcher Art auch immer) veröffentlicht werden. Die Urheberrechte von Inhalteanbietern (Content-Creators), Autoren, Programmierern u.a. sind zu beachten und einzuhalten. Sie stimmen zu keine Inhalte auf unsere Sims zu übertragen die die Rechte von Dritten verletzt. Sie stimmen weiterhin zu keine Inhalte und Äusserungen auf unseren Sims zu veröffentlichen die gegen geltendes deutsches Recht verstossen.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;keine_kommerzielle_inhalte&quot;&gt;Keine kommerzielle Inhalte&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Die Platzierung von kommerziellen Inhalten ist verboten, ebenso die kommerzielle Nutzung der Sim - in welcher Form auch immer. Nonkommerzielle Werbung ist nach vorheriger Absprache mit uns möglich. Nutzen Sie den &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/support&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:support&quot; data-wiki-id=&quot;archiv:opensim:support&quot;&gt;Support&lt;/a&gt; um das vorher mit uns abzuklären.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;datenbestand&quot;&gt;Datenbestand&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Wir übernehmen keinerlei Garantie für die Dauerhaftigkeit der Sim und dessen Bestandteile, auch nicht für die vom Benutzer hochgeladenen Dateien auf die Sim. Die Sim wird primär zu Testzwecken eingesetzt mit einer Open Source Server-Software die sich noch in der Entwicklungsphase befindet. Aus diesem Grund können und werden wir keinerlei Garantie für den Datenbestand auf der Sim übernehmen. Mit Fehlern oder Datenverlusten ist leider stets zu rechnen. Der Benutzer ist daher aufgefordert auch von seiner Seite her möglichst alle Daten auf seinen eigenen Datenträgern zu sichern.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6. Inhalte&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;inhalte&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4408-5921&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;mindestalter_18_jahre&quot;&gt;7. Mindestalter 18 Jahre&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir setzen ein Mindestalter von 18 Jahren, respektive Volljährigkeit voraus. Kinder und Minderjährige dürfen nicht teilnehmen, auch nicht im Beisein ihrer Eltern. Sie bestätigen volljährig zu sein und mindestens das 18. Lebensjahr vollendet zu haben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;7. Mindestalter 18 Jahre&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mindestalter_18_jahre&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5922-6214&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;avatare&quot;&gt;8. Avatare&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;avatar-namen&quot;&gt;Avatar-Namen&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Als Avatar-Name darf eine beliebige Kombination aus Vor- und Nachname gewählt werden. Sie können sowohl ein Pseudonym, als auch Ihren echten Namen verwenden. Das liegt in Ihrer Entscheidung. Wir empfehlen aus Gründen der Privatsphäre ein Pseudonym zu wählen, das unterschiedlich zu den Avatar-Namen aus Second Life oder anderen OpenSIM´s ist. Ihr OpenSIM Vor- und Nachname darf jeweils zwischen mindestens 4 bis maximal 12 alphanumerischen Zeichen lang sein und enthält weder Sonderzeichen (Bindestrich ist erlaubt) noch deutsche Umlaute und darf nicht mit einer Zahl beginnen. Das von Ihnen gewählte Passwort muss ebenfalls mindestens 4 Zeichen und darf höchstens 12 Zeichen lang sein. Beachten Sie das sowohl bei den Namen als auch beim Passwort zwischen Groß- und Kleinschreibung unterschieden wird. Anstössige, gewaltverherrlichende, rassistische oder sexistische Avatar-Namen werden nicht akzeptiert.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;8. Avatare&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatare&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6215-7180&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;kuendigung_und_ausschluss&quot;&gt;9. Kündigung und Ausschluss&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sie können jederzeit ohne Angabe von Gründen von der Nutzung der von uns betriebenen Sims ausgeschlossen werden. Wenn Sie Ihren OpenSIM-Zugang kündigen möchten, wenden Sie sich bitte über den Support an uns und nennen Sie Ihren Avatar-Namen und Ihr Passwort. Durch die Nutzung der von uns betriebenen Sims enstehen keinerlei rechtliche Ansprüche uns gegenüber.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;9. K\u00fcndigung und Ausschluss&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kuendigung_und_ausschluss&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7181-7589&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;betreiber&quot;&gt;10. Betreiber&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Betreiber der M34-Sims ist S-NetworkX.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;10. Betreiber&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;betreiber&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7590-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:04 +0000</pubDate>
        </item>
        <item>
            <title>Wie kann ich ein registrierter Benutzer werden?</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/faq?do=revisions&amp;rev=1575021559</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;wie_kann_ich_ein_registrierter_benutzer_werden&quot;&gt;Wie kann ich ein registrierter Benutzer werden?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Während der Startphase sind noch keine Registrierungen von unbekannten Benutzern möglich, sondern werden vom Administrator manuell hinzugefügt. Nach der Startphase können Sie sich durch klicken in der Navigation auf den Menüpunkt „Anmelden“ und  dann auf „Registrieren“ einen gewünschten Benutzernamen registrieren. Die Registration ist kostenfrei und ermöglicht Ihnen eigene Beiträge unter Ihrem Namen zu schreiben. Nichtregistrierte Benutzer können in diesem Wiki nur lesen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie kann ich ein registrierter Benutzer werden?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_kann_ich_ein_registrierter_benutzer_werden&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-548&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;wie_heisst_dieses_wiki-system&quot;&gt;Wie heisst dieses Wiki-System?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Es heisst DokuWiki und ist kostenlos erhältlich. DokuWiki hat gegenüber anderen Wiki-Systemen entscheidende Unterschiede, die weiter unten unter dem Punkt „Vorteile“ kurz zusammenfassend beschrieben sind. DokuWiki eignet sich, wie der Name schon andeuten lässt, hervorragend für (technische) Dokumentationen, Wissensdatenbanken und Enzyklopädien an der beliebig viele Autoren teilnehmen können.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie heisst dieses Wiki-System?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_heisst_dieses_wiki-system&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;549-994&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;wie_funktioniert_dieses_wiki&quot;&gt;Wie funktioniert dieses Wiki?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
DokuWiki kommt ohne Datenbank aus und speichert alle Artikel in normalen &lt;abbr title=&quot;American Standard Code for Information Interchange&quot;&gt;ASCII&lt;/abbr&gt;-Textdateien. So kann es sehr einfach auf jedem Webserver installiert werden der PHP-Dateien verarbeiten kann. Kategorien bzw. Namensräume werden als Unterordner angelegt, sodaß die Struktur auf der Festplatte exakt 1:1 der Struktur im Wiki entspricht, was eine perfekte Übersicht über das gesamte System ermöglicht. Änderungen und Datensicherungen sind somit auch ohne spezielle Kenntnisse von Datenbanken jedermann möglich.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie funktioniert dieses Wiki?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_funktioniert_dieses_wiki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;995-1549&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;vorteile_dieses_wiki&quot;&gt;Vorteile dieses Wiki?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; kommt ohne Datenbank aus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; kann auf jeden Server mit PHP installiert werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sehr leicht zu installieren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Benutzerregistrationen möglich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Administrationsbereich integriert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; lässt sich durch Plugins erweitern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Versionsverwaltung von Artikeln&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vorteile dieses Wiki?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorteile_dieses_wiki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1550-1849&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;nachteile_dieses_wiki&quot;&gt;Nachteile dieses Wiki?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Namensräume und Artikel umbenennen nur über extra Plugin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weiterleitungsseiten (Redirect) nur über extra Plugin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bei vielen gleichzeitigen Schreib-/Lese-Zugriffen langsamer als ein datenbankgestütztes Wiki&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nachteile dieses Wiki?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachteile_dieses_wiki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1850-2106&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;wird_dieses_wiki-system_das_fruehere_wlan-wiki_ersetzen&quot;&gt;Wird dieses Wiki-System das frühere WLAN-Wiki ersetzen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ja, am 29.3.2007 hat der Initiator dieses Wiki entschieden daß DokuWiki das ehemalige MediaWiki ersetzen wird und hat bereits alle betreffenden Domains per &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; umgeleitet. Momentan ist dieses Wiki erst im Aufbau, weil die ehemaligen Artikel erst in das neue System übernommen werden müssen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wird dieses Wiki-System das fr\u00fchere WLAN-Wiki ersetzen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wird_dieses_wiki-system_das_fruehere_wlan-wiki_ersetzen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2107-2471&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;warum_wurde_das_ehemalige_wlan-wiki_offline_genommen&quot;&gt;Warum wurde das ehemalige WLAN-Wiki offline genommen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Es gab massive Sicherheitsprobleme mit PHP 5 in Verbindung mit der Datenbank mySQL 5 die einen direkten Zugriff auf die Datenbank ermöglichten und somit für einen Shared-Host-Server untragbar waren. Zur gleichen Zeit wurden auch immer mehr Sicherheitslücken in der Blog-Software Wordpress bekannt, deren Ursache oft mangelhaft geschriebener PHP-Code war. Da es keine adäquaten Open-Source Produkte gab, wurde alles was mit PHP und mySQL zu tun hat erst einmal vom Server gelöscht. Alle sicherheitskritischen PHP-Funktionen wurden mit dem neuen System vom Server verbannt, ausserdem werden nur noch statische Webseiten ohne Datenbankanbindung verwendet.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Warum wurde das ehemalige WLAN-Wiki offline genommen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_wurde_das_ehemalige_wlan-wiki_offline_genommen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2472-3197&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;wie_kann_ich_neue_seiten_anlegen&quot;&gt;Wie kann ich neue Seiten anlegen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Dazu gibt es zwei Möglichkeiten: wenn Sie einen bereits bestehenden Wiki-Artikel editieren und dabei sogenannte „Wiki-Wörter“ verwenden, werden diese automatisch mit einem Link versehen. Wenn Sie auf diesen Link klicken und der Artikel noch nicht existiert, finden Sie unten in der Navigation eine Schaltfläche um eine Seite hinzuzufügen.
&lt;/p&gt;

&lt;p&gt;
Die zweite Möglichkeit ist es nach bestimmten Wörtern oder Begriffen zu suchen. Wenn diese Wörter oder Begriffe noch nicht im WLAN-Wiki existieren, bietet Ihnen das Wiki-System automatisch an diese Seiten anzulegen. Bitte beachten Sie dabei aber die vorhandenen Namensräume! Im Root-Namensraum (erste Ebene) dürfen keine Seiten hinzugefügt werden, sondern nur in den darunterliegenden Namensräumen. Möchten Sie beispielsweise im Namensraum „Sicherheit“ einen neuen Artikel mit dem Begriff „IPsec“ anlegen, dann suchen Sie über die Suchfunktion nach dem Begriff „Sicherheit:IPsec“. Der Doppelpunkt : dient dabei als Trenner zwischen den Namensräumen und den Artikeln.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie kann ich neue Seiten anlegen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_kann_ich_neue_seiten_anlegen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3198-4266&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;welche_seiten_kann_ich_bearbeiten&quot;&gt;Welche Seiten kann ich bearbeiten?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Sie können alle Seiten mit Artikeln bearbeiten die sich unterhalb des Root-Namensraums befinden, also in einer der links im Menü dargestellten Kategorien. Im obersten Zweig (Root) können Sie deshalb keine Seiten anlegen weil dieser Bereich wichtigen Informationen vorbehalten ist und dieser übersichtlich bleiben soll und nicht immer länger werden darf. Bearbeiten Sie ausschliesslich Artikel bei denen Sie entweder etwas neues hinzufügen können was eine konkrete Relevanz zum Thema hat, oder wenn Sie vermeintliche Fehler entdeckt haben, oder meinen die Formulierung würde mit Ihren Worten verständlicher zu lesen sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welche Seiten kann ich bearbeiten?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welche_seiten_kann_ich_bearbeiten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4267-4945&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;wo_kann_ich_die_wiki-syntax_einsehen&quot;&gt;Wo kann ich die Wiki-Syntax einsehen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Alle das Wiki selber betreffenden Artikel und Themen finden Sie im Namensraum „Wiki“, also in der Navigation auf die Kategorie „Wiki“ klicken, oder diesen Direkt-Link verwenden. In der Syntax ist beschrieben wie Sie Texte formatieren können, Links und Bilder einfügen und alle sonstigen Bedienungsanleitungen das DokuWiki-System betreffend. Bevor Sie das erste Mal mit einem DokuWiki arbeiten, sollten Sie die Syntax kennen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wo kann ich die Wiki-Syntax einsehen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wo_kann_ich_die_wiki-syntax_einsehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;4946-5424&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;wo_ist_das_wlan-wiki_gespeichert&quot;&gt;Wo ist das WLAN-Wiki gespeichert?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Hosting des WLAN-Wiki geschieht auf eigenen Shared-Host Servern der Firma S-NetworkX im Server-Park des M34-Netzwerks in Krailling (Region Würmtal) bei München. Es wird ein Windows Server verwendet der via NAT-Router über eine ADSL2+ Leitung an das Internet angebunden ist.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wo ist das WLAN-Wiki gespeichert?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wo_ist_das_wlan-wiki_gespeichert&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5425-5753&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;gibt_es_eine_diskussionsfunktion_hier_aehnlich_wie_bei_der_wikipedia&quot;&gt;Gibt es eine Diskussionsfunktion hier, ähnlich wie bei der Wikipedia?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Es gibt eine solche Funktion. Diese ist aber zur Zeit nicht aktiv geschaltet, hauptsächlich deswegen wie die Art der Implementation der Diskussion eingefügt ist. Bei der Wikipedia wird eine Diskussion zu einem bestimmten Artikel über einen speziellen Schalter erreicht, kann also optional ein- und ausgeschaltet werden. Beim DokuWiki ist eine Diskussion aber ständig mit auf der Seite des Artikels zu lesen, selbst wenn diese leer ist, was uns zu unübersichtlich erscheint und wir daher vorerst auf diese Funktion verzichten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gibt es eine Diskussionsfunktion hier, \u00e4hnlich wie bei der Wikipedia?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gibt_es_eine_diskussionsfunktion_hier_aehnlich_wie_bei_der_wikipedia&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;5754-6369&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;ich_habe_einen_fehler_entdeckt_wen_kann_ich_deswegen_ansprechen&quot;&gt;Ich habe einen Fehler entdeckt. Wen kann ich deswegen ansprechen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenden Sie sich an die Online-Hilfe und sprechen einen Support-Mitarbeiter an. Für Hinweise zu Fehlern und konkrete Verbesserungsvorschläge sind wir Ihnen dankbar!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ich habe einen Fehler entdeckt. Wen kann ich deswegen ansprechen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ich_habe_einen_fehler_entdeckt_wen_kann_ich_deswegen_ansprechen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;6370-6615&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;meine_frage_wird_hier_leider_nicht_beantwortet_wen_kann_ich_etwas_fragen&quot;&gt;Meine Frage wird hier leider nicht beantwortet. Wen kann ich etwas fragen?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Nutzen Sie die Online-Hilfe und fragen Sie online einen Live-Supporter. Wenn Ihre Frage häufiger gestellt wird dann wird diese möglicherweise dieser &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt; hinzugefügt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Meine Frage wird hier leider nicht beantwortet. Wen kann ich etwas fragen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;meine_frage_wird_hier_leider_nicht_beantwortet_wen_kann_ich_etwas_fragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;6616-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan</category>
            <pubDate>Fri, 29 Nov 2019 10:59:19 +0000</pubDate>
        </item>
        <item>
            <title>Registration</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/registration?do=revisions&amp;rev=1575021559</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;registration&quot;&gt;Registration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenn Sie Wiki-Seiten editieren möchten, müssen Sie sich vorher als Benutzer registrieren. Die Registration ist kostenfrei und ermöglicht Ihnen eigene Beiträge unter Ihrem Namen zu schreiben. Nichtregistrierte Benutzer können in diesem Wiki nur lesen. Während der Startphase sind noch keine Registrierungen von unbekannten Benutzern möglich, sondern werden vom Administrator manuell hinzugefügt.
&lt;/p&gt;

&lt;p&gt;
Sollten Sie an einer Registration schon während der Startphase interessiert sein, dann wenden Sie sich bitte direkt an den Online-Support.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Registration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;registration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-571&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;benutzernamen&quot;&gt;Benutzernamen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der gewählte Benutzername darf ein Pseudonym, aber auch der echte Name sein. Echte Namen werden bevorzugt, denn es handelt sich hier ja um eine Wissensdatenbank mit verifizierbaren Daten, deren Herkunft bzw. Quelle bekannt sein muß. Beiträge von Leuten mit Pseudonym mit Beiträgen aus nichtverifizierbaren Quellen oder deren Herkunft können unter Umständen von den Administratoren als Löschkandidat gewertet werden. Der gewählte Benutzername darf ausserdem weder anstössig sein, noch gegen gute Sitten verstoßen, noch ein gesetzlich geschütztes Warenzeichen oder Markenname sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Benutzernamen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benutzernamen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;572-1190&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;passwoerter&quot;&gt;Passwörter&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das Passwort darf beliebig sein und sollte so gewählt werden das es nicht von jemand anderes erraten werden kann. Ein Passwort sollte mindestens aus 8 Zeichen oder mehr bestehen und eine Kombination aus großen und kleinen Buchstaben, Ziffern und Sonderzeichen sein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Passw\u00f6rter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;passwoerter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1191-1484&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;e-mail_adresse&quot;&gt;E-Mail Adresse&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ihre e-Mail Adresse muß dauerhaft gültig und erreichbar sein, denn dies ist oft der einzige Weg die Autoren von Wiki-Beiträgen über wichtige Änderungen oder Nachrichten zu erreichen. Sollten E-Mails an registrierte Benutzer mit einer Fehlermeldung zurückkommen, behalten sich die Administratoren eine Sperrung des betreffenden Benutzers vor.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;E-Mail Adresse&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;e-mail_adresse&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1485-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan</category>
            <pubDate>Fri, 29 Nov 2019 10:59:19 +0000</pubDate>
        </item>
        <item>
            <title>Interview mit Ursula Jasperneite-Bröckelmann</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/blog/interview_mit_ursula_jasperneite-broeckelmann?do=revisions&amp;rev=1565564400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;interview_mit_ursula_jasperneite-broeckelmann&quot;&gt;Interview mit Ursula Jasperneite-Bröckelmann&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Wir konnten heute Frau Ursula Jasperneite-Bröckelmann (&lt;a href=&quot;http://www.gruene-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.gruene-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Bündnis 90/Die Grünen&lt;/a&gt;), Grüne Kandidatin für den Rat der Stadt Lippstadt, am Bernhardbrunnen in Lippstadt interviewen. Die Grünen hatten heute dort von 10-13 Uhr eine mobile Fahrradwaschstrasse aufgebaut. Jeder der mochte konnte mit seinem Fahrrad vorbeikommen und dies kostenlos in der Fahrradwaschstrasse reinigen lassen.
&lt;/p&gt;

&lt;p&gt;
Frau Jasperneite-Bröckelmann konnte uns ausserdem ein paar interessante Fragen zum Thema Mobilität in Lippstadt, speziell zu umweltfreundlicher Mobilität per Fahrrad, beantworten. Im besonderen ging es um die Verkehrswegeführung für Fahrradfahrer in der Cappelstrasse in der Innenstadt und um die Lippestrasse in Lipperode.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.mikebert.de/podcast/?name=2018-01-17_podcast-lippstadt-live-news-2014-05-13.mp3&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mikebert.de/podcast/?name=2018-01-17_podcast-lippstadt-live-news-2014-05-13.mp3&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ausserdem gibt es ein Audio-Interview als Podcast zu hören.&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:blog</category>
            <pubDate>Mon, 12 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Suchmaschine</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/wissenswertes/suchmaschine?do=revisions&amp;rev=1587423600</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;suchmaschine&quot;&gt;Suchmaschine&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Suchmaschine&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;suchmaschine&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-28&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;sitecrawl_-_die_suchmaschine_aus_lippstadt&quot;&gt;SiteCrawl - die Suchmaschine aus Lippstadt&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Suchmaschine mit dem Name &lt;a href=&quot;https://www.sitecrawl.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.sitecrawl.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SiteCrawl&lt;/a&gt; durchsucht viele andere Suchmaschinen gleichzeitig, was enorm Zeit spart und sehr gute Suchtreffer ergibt. SiteCrawl lässt sich, wie fast jede andere Suchmaschine auch, als Standard-Suchmaschine im Webbrowser definieren und auch in das Kontextmenü des eigenen Webbrowsers integrieren. So haben Sie jederzeit das passende Suchtool zur Verfügung. Um SiteCrawl zu ihren Suchmaschinen hinzuzufügen klicken Sie, wenn Sie sich auf der SiteCrawl Website befinden, einfach auf das Plus-Symbol im Sucheingabefeld ihres Webbrowsers.
&lt;/p&gt;

&lt;p&gt;
Die Suchmaschine SiteCrawl auf &lt;a href=&quot;http://www.sitecrawl.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.sitecrawl.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.sitecrawl.de&lt;/a&gt; ist ein Web-Crawler und gleichzeitig Meta-Suchmaschine die bis zu 125 andere Suchmaschinen gleichzeitig abfragen kann. Durch die Art der Daten-Aggregation kann viel schneller auf relevante Suchergebnisse geschlossen werden als wenn jeweils nur eine einzelne Suchmaschine benutzt wird. So werden mit einer einzigen Sucheingabe dutzende andere Suchmaschinen, Adressbücher, Bilderdatenbanken, Wissensarchive, Reiseportale, Auskunfteien, Kartenquellen und Medienquellen gleichzeitig abgefragt und in einer übersichtlichen Seite sortiert dargestellt. SiteCrawl-Nutzer können sehr genau einstellen was, wo und wie gesucht wird.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie es gewohnt sind nur eine einzelne Suchmaschine zu nutzen, sollten Sie einmal eine Meta-Suchmaschine ausprobieren und vergleichen wie viel mehr und schneller Sie etwas finden werden, frei nach dem Motto „finden statt suchen“. Mit der Funktion „Auto-Suggest“ wird bereits während der Eingabe von Suchbegriffen live gesucht und Lösungen vorgeschlagen. SiteCrawl legt sehr großen Wert auf den Datenschutz der Benutzer. So wird bei der Nutzung von SiteCrawl weder Werbung eingeblendet, noch Logger oder Tracker eingesetzt. Alles was Sie als Benutzer speichern wird ausschließlich in einem persönlichen Cookie auf ihrem eigenen Rechner abgelegt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SiteCrawl - die Suchmaschine aus Lippstadt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sitecrawl_-_die_suchmaschine_aus_lippstadt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;29-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:wissenswertes</category>
            <pubDate>Tue, 21 Apr 2020 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Avatar</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/avatar?do=revisions&amp;rev=1575021511</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;avatar&quot;&gt;Avatar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/avatare.jpg?id=archiv%3Aopensim%3Abegriffe%3Aavatar&quot; class=&quot;media&quot; title=&quot;avatare.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/avatare.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;avatare.jpg&quot; alt=&quot;avatare.jpg&quot; /&gt;&lt;/a&gt; Der Avatar ist die virtuelle Figur die man durch die 3D-Welt bewegt und die die eigene Person in der virtuellen Welt repräsentiert. Das Wort „Avatar“ stammt aus dem &lt;a href=&quot;http://de.wikipedia.org/wiki/Sanskrit&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Sanskrit&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Sanskrit&lt;/a&gt;, wo es die Menschwerdung eines Gottes bezeichnet. Avatare können nach belieben modifiziert werden, beispielsweise die Körperform (Shapes, Skins) und zusätzlichen Anhängsel (Attachments).
&lt;/p&gt;

&lt;p&gt;
Die meisten Benutzer virtueller Welten nehmen eine erwachsene, menschliche Erscheinungsform als Avatar an. Es gibt allerdings auch Baby-, Kinder- und Tier-Avatare (Furries), sowie fiktive Figuren aus Filmen, Comics und Büchern. Es können auch komplette Avatare gekauft werden. Auffällig in Second Life ist die hohe Anzahl von Avataren in Vampir-Gestalt. Welchen Avatar Sie auswählen, sagt viel darüber aus, wer Sie sein möchten. Für die Menschen, die Sie in der virtuelle Welt treffen, sind Sie Ihr Avatar. Und tatsächlich reflektiert die Auswahl Ihres Avatars Ihre Persönlichkeit und Ihre Mentalität.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Avatar&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatar&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1060&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;ruth_-_der_standard-avatar_in_opensim&quot;&gt;Ruth - der Standard-Avatar in OpenSim&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man sich das erste Mal in OpenSim einloggt nimmt man ein Standard-Aussehen an. Dieses Standard-Aussehen ist weiblich und trägt den Namen „Ruth“. Den Standard-Avatar kann man anschliessend nach belieben ändern, sowohl was das Geschlecht angeht, als auch weitere Körperformen, Kleidung, Gesicht, Haare etc. Mehr zum Avatar Ruth, warum ausgerechnet dieser Name gewählt wurde und weitere geschichtliche Einzelheiten kann man &lt;a href=&quot;http://wiki.secondlife.com/wiki/Ruth&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://wiki.secondlife.com/wiki/Ruth&quot; rel=&quot;ugc nofollow noopener&quot;&gt;hier nachlesen&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ruth - der Standard-Avatar in OpenSim&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ruth_-_der_standard-avatar_in_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1061-1597&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;avatar_-_der_film&quot;&gt;Avatar - der Film&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„Avatar - Aufbruch nach Pandora“ ist ein kommerziell sehr erfolgreicher Science-Fiction-Film von James Cameron, der weltweit am 17. und 18. Dezember 2009 in den Kinos startete. Laut Wikipedia ist der Film Avatar der bisher weltweit finanziell erfolgreichste Film mit Gesamteinnahmen von derzeit (26. Januar 2010) mehr als 1,843 Milliarden US-Dollar. Platz 2 belegt der Film „Titanic“ mit 1,842 Mrd. US-Dollar, dessen Buch und Regie ebenfalls von James Cameron stammen.
&lt;/p&gt;

&lt;p&gt;
Quelle:
&lt;a href=&quot;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Website in Deutsch: &lt;a href=&quot;http://www.avatar-derfilm.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.avatar-derfilm.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.avatar-derfilm.de&lt;/a&gt;
Website in Englisch: &lt;a href=&quot;http://www.avatarmovie.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.avatarmovie.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.avatarmovie.com&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Avatar - der Film&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatar_-_der_film&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1598-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:31 +0000</pubDate>
        </item>
        <item>
            <title>Client</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/client?do=revisions&amp;rev=1575021512</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;client&quot;&gt;Client&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/sl-client.jpg?id=archiv%3Aopensim%3Abegriffe%3Aclient&quot; class=&quot;media&quot; title=&quot;sl-client.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/sl-client.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;sl-client.jpg&quot; alt=&quot;sl-client.jpg&quot; /&gt;&lt;/a&gt; Client (auch als &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/viewer&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:viewer&quot; data-wiki-id=&quot;archiv:opensim:begriffe:viewer&quot;&gt;Viewer&lt;/a&gt; bezeichnet) wird das Programm bzw. die Software genannt das nötig ist um eine virtuelle 3D-Welt wie beispielsweise Second Life oder &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/opensim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:opensim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:opensim&quot;&gt;OpenSIM&lt;/a&gt; zu betreten. Der Second Life Client kann kostenlos von der Homepage von Linden Lab, dem Betreiber von Second Life, heruntergeladen werden. Es gibt auch verschiedene andere Open Source Clients von anderen Anbietern. Der Client meldet sich beim starten des Programms bei einem Second Life Server oder OpenSIM Server an und überträgt die Anmeldedaten (Name und Passwort). Der Server speichert die Sim, sowie das &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/inventar&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:inventar&quot; data-wiki-id=&quot;archiv:opensim:begriffe:inventar&quot;&gt;Inventar&lt;/a&gt; des Clients.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Client und Server&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Es ist also immer ein Client und ein Server nötig, wobei der Client bzw. der Viewer beim Resident gestartet wird und der Server beim Betreiber der Sim. Es können auch Client und Server gleichzeitig auf einem PC gestartet werden. Dazu muß man zuerst den OpenSIM-Server startet und dann anschliessend mit dem Client auf dem eigenen PC einloggen.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:32 +0000</pubDate>
        </item>
        <item>
            <title>Hippo</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/hippo?do=revisions&amp;rev=1575021512</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;hippo&quot;&gt;Hippo&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/hippo.jpg?id=archiv%3Aopensim%3Abegriffe%3Ahippo&quot; class=&quot;media&quot; title=&quot;hippo.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/hippo.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;hippo.jpg&quot; alt=&quot;hippo.jpg&quot; /&gt;&lt;/a&gt; Was hat es mit dem „Hippo“, dem Nilpferd, auf sich daß immer irgendwo in Second Life und OpenSIM auftaucht ? Das Hippo war lange Zeit das Maskottchen von Second Life. In den frühen Tagen von Second Life hatten Service-Ankündigungen vom Betreiber Linden Lab in den öffentlichen Foren häufig den Charakterzug von dramatischen Taten von „super-powered“ noch geheim zu haltenden Hippos (Nilpferden), welche das Grid vor den Bugs von bösen Zwerge schützten. Es schien ein geeignetes Symbol für das Open-Source-Projekt und wurde bis heute beibehalten.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Hippo Viewer&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Hippo ist auch der Name eines beliebten &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/viewer&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:viewer&quot; data-wiki-id=&quot;archiv:opensim:begriffe:viewer&quot;&gt;Viewer&lt;/a&gt;s, der mehr Optionen bietet als der originale Second Life Viewer und bei vielen OpenSIM Benutzern zum Einsatz kommt weil sich beispielsweise damit sogenannte &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/megaprim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:megaprim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:megaprim&quot;&gt;Megaprim&lt;/a&gt;s bauen lassen. Den Hippo Viewer kann man sich über die &lt;a href=&quot;http://itclive.spdns.de/wiki/download&quot; class=&quot;wikilink2&quot; title=&quot;download&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;download&quot;&gt;Download&lt;/a&gt; Seite kostenlos herunterladen.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:32 +0000</pubDate>
        </item>
        <item>
            <title>Viewer</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/viewer?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;viewer&quot;&gt;Viewer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/sl-client.jpg?id=archiv%3Aopensim%3Abegriffe%3Aviewer&quot; class=&quot;media&quot; title=&quot;sl-client.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/sl-client.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;sl-client.jpg&quot; alt=&quot;sl-client.jpg&quot; /&gt;&lt;/a&gt; Viewer, oder 3D-Viewer (auch als &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/client&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:client&quot; data-wiki-id=&quot;archiv:opensim:begriffe:client&quot;&gt;Client&lt;/a&gt; bezeichnet) wird das Programm bzw. die Software genannt das nötig ist um eine virtuelle 3D-Welt wie beispielsweise Second Life oder &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/opensim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:opensim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:opensim&quot;&gt;OpenSIM&lt;/a&gt; zu betreten. Der Second Life Viewer kann kostenlos von der Homepage von Linden Lab, dem Betreiber von Second Life, heruntergeladen werden. Es gibt auch verschiedene andere Open Source Viewer von anderen Anbietern. Der Viewer meldet sich beim starten des Programms bei einem Second Life Server oder OpenSIM Server an und überträgt die Anmeldedaten (Name und Passwort). Der Server speichert die Sim, sowie das &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/inventar&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:inventar&quot; data-wiki-id=&quot;archiv:opensim:begriffe:inventar&quot;&gt;Inventar&lt;/a&gt; des Viewer.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Alternative Viewer&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Neben dem Original Second Life Viewer gibt es noch eine Reihe von Open Source Viewern die man sowohl für Second Life, als auch für OpenSIM benutzen kann. Die alternativen Viewer sind zumeist optimierte Versionen mit mehr Funktionen und speziellen Modi die besonders für die Nutzung in OpenSIM geeeignet sind. Die Namen der alternativen Viewer sind beispielsweise „&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/hippo&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:hippo&quot; data-wiki-id=&quot;archiv:opensim:begriffe:hippo&quot;&gt;Hippo&lt;/a&gt; Viewer“, „&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/openlife&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:openlife&quot; data-wiki-id=&quot;archiv:opensim:begriffe:openlife&quot;&gt;OpenLife&lt;/a&gt; Viewer“ oder „RealXtend Viewer“. Alle Viewer können kostenlos von der &lt;a href=&quot;http://itclive.spdns.de/wiki/download&quot; class=&quot;wikilink2&quot; title=&quot;download&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;download&quot;&gt;Download&lt;/a&gt; Seite heruntergeladen werden.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Client und Server&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Es ist also immer ein Client und ein Server nötig, wobei der Client bzw. der Viewer beim Resident gestartet wird und der Server beim Betreiber der Sim. Es können auch Client und Server gleichzeitig auf einem PC gestartet werden. Dazu muß man zuerst den OpenSIM-Server startet und dann anschliessend mit dem Client auf dem eigenen PC einloggen.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:38 +0000</pubDate>
        </item>
        <item>
            <title>Charles Krinke</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/personen/charles_krinke?do=revisions&amp;rev=1575021532</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;charles_krinke&quot;&gt;Charles Krinke&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/personen/charles.jpg?id=archiv%3Aopensim%3Apersonen%3Acharles_krinke&quot; class=&quot;media wikilink2&quot; title=&quot;personen:charles.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/personen/charles.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;charles.jpg&quot; alt=&quot;charles.jpg&quot; /&gt;&lt;/a&gt; Charles Krinke ist einer der &lt;a href=&quot;http://opensimulator.org/wiki/Development_Team&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Development_Team&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Kern-Entwickler&lt;/a&gt; (Core Developer) von &lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/opensim&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:opensim&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:opensim&quot;&gt;OpenSIM&lt;/a&gt; und Director von &lt;a href=&quot;http://osgrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://osgrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid&lt;/a&gt;. OpenSIM wird in der Programmiersprache C# unter einer BSD-Lizenz entwickelt (Open Source). Charles Krinke hat von 1968-1971 an der California State University-Los Angeles gelernt. Sein Second Life Avatar-Name ist „Charlesk Bing“.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:personen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:52 +0000</pubDate>
        </item>
        <item>
            <title>Max Headroom</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/projekte/max_headroom?do=revisions&amp;rev=1575021534</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;max_headroom&quot;&gt;Max Headroom&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/projekte/max_headroom.jpg?id=archiv%3Aopensim%3Aprojekte%3Amax_headroom&quot; class=&quot;media wikilink2&quot; title=&quot;projekte:max_headroom.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/projekte/max_headroom.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;max_headroom.jpg&quot; alt=&quot;max_headroom.jpg&quot; /&gt;&lt;/a&gt; Im Zuge einiger Anfragen an uns ob es möglich ist bestimmte Kultfiguren als Avatar nachzubauen kam auch die Idee auf die aus den 80er Jahren bekannte TV-Kultfigur „Max Headroom“. Der Name stammt von einer Schranke in einer Tiefgarage mit dieser Aufschrift, übersetzt ins deutsche etwa „maximale Durchfahrtshöhe“. Max Headroom ist allerdings lediglich als Figur mit Kopf und Oberkörper bekannt, den unteren Teil muß man sich dazudenken. Äusserliche Merkmale von Max Headroom sind seine strähnigen, nach hinten gekämmten goldgelben Haare, eine coole, dunkle Sonnenbrille, schmales Gesicht, verschmitztes Lachen, sowie Anzug und Krawatte aus hochglänzendem Material.
&lt;/p&gt;

&lt;p&gt;
Warum Max Headroom ? Nun, diese Kunstfigur die schon in den 80er Jahren den zunehmenden TV-Medienkonsum kritisierte, gab es schon lange vor dem Internet und WWW und den noch weit später verfügbaren Avataren die wir heutzutage zum Beispiel in OpenSIM kennen. Max Headroom war und ist einer der ersten &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/avatar&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:avatar&quot; data-wiki-id=&quot;archiv:opensim:begriffe:avatar&quot;&gt;Avatare&lt;/a&gt; auf den Bildschirmen, ein Urahn und Vorläufer der Avatare von heute die sich jeder selbst erschaffen kann. Max Headroom war schon weltbekannt als es das Internet noch gar nicht gab und an die 3D-Echtzeitsimulation OpenSIM noch längst nicht zu denken war. In Respekt an diesen Ur-Avatar ist es nur naheliegend ihm ein entsprechenden Avatar in den virtuellen 3D-Welten von OpenSIM zu gestalten und ihn dort weiterleben zu lassen.
&lt;/p&gt;

&lt;p&gt;
Max Headroom soll den schon in den 80er Jahren starken und den heutzutage nicht minder gewordenen Medienkonsum vor Augen halten, selbstironisch und nicht mit Kritik sparend. Auch virtuelle 3D-Welten wie OpenSIM und andere Metaversen gehören dazu. Heute sind interaktive Prozesse in der Medienwelt schon fast der Normalzustand und jeder kann sich mit seinem eigenen Avatar durch virtuelle Landschaften bewegen und macht genauso wie in der wirklichen Welt die unterschiedlichsten Erfahrungen. Die zunehmende Kommerzialisierung sollte jedoch, jenseits des technisch machbaren, immer gesellschaftskritisch hinterfragt werden, wozu Max Headroom als digitaler Medienkritiker geradezu prädestiniert ist.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/media/video/max_headroom&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:media:video:max_headroom&quot; data-wiki-id=&quot;archiv:opensim:media:video:max_headroom&quot;&gt;Video Max Headroom&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Mehr über die Kultfigur „Max Headroom“ gibt es in der &lt;a href=&quot;http://de.wikipedia.org/wiki/Max_Headroom&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Max_Headroom&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Wikipedia&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:projekte</category>
            <pubDate>Fri, 29 Nov 2019 10:58:54 +0000</pubDate>
        </item>
        <item>
            <title>Diskussion &amp; Kommentare</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/talk/links?do=revisions&amp;rev=1575021535</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;diskussion_kommentare&quot;&gt;Diskussion &amp;amp; Kommentare&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/exclaim.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:!:&quot; /&gt; Du möchtest diese Webseite kommentieren oder diskutieren ? Schreibe bitte einfach unter diesem Text weiter !
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2008/12/27 16:11
Zusätzliche, OpenSIM-relevante Links können auch hier über das Diskussionsfeld eingetragen werden. Wir werden die Links prüfen und dann bei Eignung in die obige Link-Struktur übernehmen.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/11 04:44
Hallo,
das Birnenland ist eröffnet, wer Lust hat kann gern mal vorbeisurfen und reinhüpfen.
Internetseite : &lt;a href=&quot;http://www.birnenland.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.birnenland.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.birnenland.de&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/11 12:21
Ist Birnenland Hypergrid-aktiviert ? Falls ja: welche Sim-&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; und welcher Port ? Dann könnten wir Birnenland in unsere Map einbinden und damit einen direkten Teleport ermöglichen.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/11 13:23
Hallo,
das Hypergrid ist aktiviert, hier meine Sim &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/11 23:42
Hallo,
leider hab ich einen Fehler beim Port gemacht, bitte entschuldigt, hier nun meine richtige SURL :
&lt;/p&gt;

&lt;p&gt;
Sofern ihr möchtet binde ich auch gern Eure SIM ein.
Gruß, Ronny.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/12 10:38
Klar, gerne. Die Sim-&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; und Port unserer Sim 1 mit dem Namen „M34-Sim1“ ist DOMAIN:9090 und liegt auf den Koordinaten 4400,4400
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/12 21:42
Hallo, leider liegen unsere Regionen zu weit auseinander, das ist wirklich schade und es tut mir leid aber wahrscheinlich werdet ihr meine Inseln ebenfalls nicht einbinden können.
Gruß, Ronny.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/12 22:36
Auf welchen Koordinaten liegt denn die Sim „Birnenland“ genau ? Ah, ich sehe es gerade selber in der Server-Konsole: 8500,8500. Mist, das ist ja echt knapp vorbei (nur 4 Sim-Koordinaten zuviel). Können Sie Ihre Sim-Koordinaten noch ändern, oder ist schon zu viel drauf gebaut ?
Unsere Sims 2-4 haben andere Koordinaten (1000er, 8000er und 12000er) um dem Problem mit dem maximalen Abstand von 4096 Sim-Koordinaten bei Hypergrid-Teleports aus dem Weg zu gehen. Das Sim-Abstand-Problem ist wirklich nervend und verhindert das problemlose verlinken per Hypergrid. Wird echt Zeit das endlich von den Entwicklern gelöst wird !
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/13 21:46
Hallo,
ich habe heute eine kleine Region bei mir angelegt um Eure M34 Sim einbinden zu können, von meiner Seite hat es funktioniert, hier die Daten :
SIM Name : Birnenland Gateway
X,Y : 8000, 8000
Port : 9040
&lt;/p&gt;

&lt;p&gt;
SURL : &lt;a href=&quot;http://slurl.com/secondlife/Birnenland%20Gateway/128/128/26&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://slurl.com/secondlife/Birnenland%20Gateway/128/128/26&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://slurl.com/secondlife/Birnenland%20Gateway/128/128/26&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Falls ihr Lust habt und jeder andere auch, könnt ihr mich gern in Eure Map einbinden.
Gruß, Ronny.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/13 22:34
Klasse Ronny ! Ich hab´s mal gleich probiert Deine Sim zu mappen, aber auf Port 9040 tut sich bisher nichts. Hast Du den Port in der Firewall freigegeben ? Die (ungültige) Second Life &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; slurl.com kannst Du Dir bei OpenSIM sparen, die kann nicht funktionieren, die ist nur für Sims in Second Life. Es ist normalerweise nur die &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; und der Port nötig. Ist birnenland.de:9040 richtig oder ist die neue Region auf ner anderen &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/14 00:16
Hallo,
alles korrekt durch meine Umstellung hatte sich der Port verschoben. Sollte jetzt funktionieren. Vielen Dank für den Tipp mit der SURL.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/14 16:58
In der M34-Sim1 World-Map inzwischen zu sehen, aber Teleports funktionieren von der M34-Sim1 zu Birnenland aus irgendeinem unbekannten Grund noch nicht, zumindest bei mir nicht. Es kommt eine Fehlermeldung dass angeblich die Sim Teleports ablehnt. Ich vermute da noch einen Bug in der OpenSIM-Konfiguration, denn seit der Umstellung auf die neue Version 0.6.6 läuft einiges anders.
Second Life URL´s mit dem dazugehörenden Dienst heissen übrigens SLURL, nicht SURL. In OpenSIM gibt es aber einen entsprechenden Dienst unter &lt;a href=&quot;http://www.osurl.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osurl.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.osurl.org&lt;/a&gt; , allerdings mit einem anderen Lösungsansatz der den unabhängigen virtuellen Welten mehr entspricht.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/14 18:10
Hallo,
ich habe mich mit meinem zweiten Nick über OSGrid eingeloggt und konnte zu Birnenland per HG und wieder zurück mit meinem Nick in Birnenland konnte ich ebenfalls nach OSGrid und wieder zurück, woran das jetzt liegen soll … ich weiß es nicht, ich habe heute jeden Punkt in den Konfigurationen noch einmal gegengescheckt. Ich gebe es jetzt einfach auf, schade dass es nicht geklappt hat aber man kann es zur Zeit nicht ändern.
Gruß, Ronny.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/14 18:22
Sorry, hab mich wohl falsch ausgedrückt. Ich meinte die Konfiguration unserer Sim, denn egal auf welche Hypergrid-Region ich auf der M34-Sim1 Worldmap klicke kommt momentan derselbe Fehler. Das war vor der Umstellung auf die neuste Version 0.6.6 noch nicht so und ich bin was ratlos wo der Fehler liegen könnte. Also der Fehler liegt mit ziemlicher Sicherheit nicht bei Deiner Sim, sondern an unserer.
Manchmal könnte man meinen Hypergrid wäre gar nicht aktiv. Als man Hypergrid noch mit dem Kommando opensim.exe -hypergrid=true aktivierte kam immer gleich zum Anfang eine Statusanzeige das Hypergrid aktiviert ist. Das kommt jetzt nicht mehr und ich vermisse das.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/15 12:45
Ich habe den Fehler gefunden. Die Hypergrid-Teleports funktionieren jetzt wieder, nur leider ist birnenland.de:9040 nicht mehr da. Kannst Du es wieder aktivieren ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/16 12:40
Hallo,
einwandfrei, einmal hin und wieder zurück, das ist ja super. Ich hab meine Sim jetzt auch wieder in Reichweite verschoben. Alles wie gehabt bei mir, es müsste ebenfalls funktionieren.
Gruß, Ronny.
PS: Schön dass es doch noch geklappt hat.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/16 12:50
Super ! Freut mich auch das es nun funktioniert ! Hat sich ausgezahlt hartnäckig dranzubleiben das Problem zu lösen. Jetzt müssten wir uns nur noch mal Inworld treffen. Bei dem schönen Wetter draussen bin ich grad nicht so oft am PC. Wenn dann meist spätabends bis nachts. Aber das ergibt sich schon noch.
Bis später !
Mike
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Ronny Baldour, 2009/08/23 06:57
Hallo,
nur eine kleine Info, &lt;a href=&quot;http://www.osgrid.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.osgrid.info&lt;/a&gt; hat scheinbar Probleme, zumindest lässt sich die Seite seid ein paar Tagen nicht öffnen, der Domainstatus ist jedoch unverändert.
Gruß, Ronny.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/24 20:34
Der Link ist immer noch nicht wieder aufrufbar. Anscheinend hat man das deutschsprachige OSGrid Forum komplett vom Netz genommen, oder es gibt ernsthafte technische Probleme. Oder der Admin hat den Urlaubsmodus eingestellt &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/wink.svg&quot; class=&quot;icon smiley&quot; alt=&quot;;-)&quot; /&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/08/31 11:05
Birnenland.de ist seit ein paar Tagen nicht mehr aufrufbar. Leider ist nicht bekannt warum.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/09/02 10:58
Ronny Baldour hat sich gemeldet. Birnenland ist vorerst offline.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Alexander Praß, 2009/12/10 14:25
hallo
Ich hab mich nun auch per Hypergrid mit der Sim Palm City verbunden hat auch geklappt:
aber wenn ich teleporteiren will sagt der: teleport fehlgeschlagen
Destination is not accepting teleports: failed to authenticate avatar …..@127.0.0.1:8002 access denied
liegt das vielleicht daran das ihr mich freigeben müsst? also meine Sim auch erst einfügen müsst?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/12/13 18:13
Nein, das liegt daran daß Deine IP 127.0.0.1:8002 ungültig ist. 127.0.0.1 ist eine sogenannte localhost Adresse, also keine richtige IP-Adresse, sondern nur Dein eigener Rechner. Mit einer localhost Adresse kann und will unsere Sim keine Verbindung aufnehmen. Du musst zuerst Deine Sim richtig konfigurieren !
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:talk</category>
            <pubDate>Fri, 29 Nov 2019 10:58:55 +0000</pubDate>
        </item>
        <item>
            <title>Hotspot Software</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/software/hotspot/startseite?do=revisions&amp;rev=1575021501</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;hotspot_software&quot;&gt;Hotspot Software&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Einen guten Überblick zu kostenlos im Internet frei erhältliche Open Source Hotspot-Software, zusammen mit einem einleitenden Artikel was es beim Betrieb eines öffentlichen Hotspot-Servers zu beachten gibt, findet man auf der &lt;a href=&quot;http://www.wuermtal-wireless.net/modules.php?name=News&amp;amp;file=article&amp;amp;sid=97&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.wuermtal-wireless.net/modules.php?name=News&amp;amp;file=article&amp;amp;sid=97&quot; rel=&quot;ugc nofollow noopener&quot;&gt;WLAN-Plattform des &amp;quot;Würmtal Wireless Network&amp;quot;&lt;/a&gt;, ausserdem hier im WLAN-Wiki unter der Kategorie „Software“.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hotspot Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hotspot_software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-447&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;qual_der_wahl&quot;&gt;Qual der Wahl&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Hotspot-Software, bzw. korrekterweise Gateways, Proxys, Walled Garden Systeme, RADIUS Server und Router-basierte Firmware, gibt es mittlerweise in sehr grosser Auswahl, mit sehr unterschiedlichen Anforderungskriterien und sehr unterschiedlicher Ausstattung. Wir unterschieden in drei verschiedene Betriebssysteme Windows-basiert, Linux-basiert und Router-basiert, sowie in die zwei verschiedene Lizenztypen Open Source und kommerzielle Software. Die meist angebotene Software weltweit ist in englischer Sprache, für Linux-basierte Betriebssysteme und Open Source.
&lt;/p&gt;

&lt;p&gt;
Allerdings bedarf es dazu meist weiterführenden Kenntnisse in Netzwerktechnik und -konfiguration. Die Erfahrung der vergangenen Jahre hat gezeigt daß die meisten Internetnutzer, die nur mit Windows-basierten Betriebssystemen mehr oder weniger vertraut sind, mit der Konfiguration eines öffentlichen WLAN-Hotspots für beliebig viele Benutzer überfordert sind, weil es meistens an den grundlegensten Kenntnissen von Systemsicherheit, Benutzerauthentifizierung und Netzwerkkonfiguration fehlt. Die allerwenigsten Hotspot Software Lösungen sind mit wenigen Mausklicks wirklich betriebsbereit und dann auch einsatzfähig. Ein guter Rat ist immer jemanden zu fragen der sich damit auskennt !
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Qual der Wahl&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qual_der_wahl&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;448-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:software:hotspot</category>
            <pubDate>Fri, 29 Nov 2019 10:58:21 +0000</pubDate>
        </item>
        <item>
            <title>Familiennamen</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/ortsteile/lipperode/familiennamen?do=revisions&amp;rev=1587510000</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;familiennamen&quot;&gt;Familiennamen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Eine alphabetische Auflistung einiger alteingesessener und bekannter Lipperoder Familiennamen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Familiennamen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;familiennamen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-125&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;barkey&quot;&gt;Barkey&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Seit dem Jahre 1793 gibt es den Namen Barkey (auch Barkei) in Lipperode. Der Name bedeutet Bark=Berke=Birke vgl. auch Barkemeier=Meier an der Birke, im westfälischen Barkei.
&lt;/p&gt;

&lt;p&gt;
Am 1.3.1793 heiratete Christine Elisabeth Brand aus Lipperode den Heinrich Barkey aus Gütersloh. Die Barkeis waren in folgender Zeit überwiegend Seiler und Kleinbauern (Kötter). Im Jahre 1880 wanderte Friedrich Barkei nach Amerika, San Francisco, aus. Im gleichen Jahr folgte ihm sein Bruder Konrad, der nach St. Louis auswanderte. Ein weiterer Bruder, nämlich Heinrich Barkey, blieb in Lipperode. Er lernte das Seilerhandwerk und kellnerte im Nebenberuf. Er starb mit fast 96 Jahren in Lipperode. Auch der Bruder Johannes, der am 22.10.1870 geboren wurde, blieb in Lipperode. Auch er wurde Seiler und verstarb am 5.12.1942. Die einzige Tochter wurde 1875 geboren und verstarb mit 86 Jahren in Lipperode. Sie heiratete Klemens Köhler und war die Mutter des späteren Fabrikanten Heinrich Köhler. Dieser wohnte lange Zeit bei Konrad Köhler in St. Louis. Nach seiner Rückkehr aus Nordamerika gründete er die noch bestehende Fabrik Köhler in Lipperode (Fa. Heinrich Köhler KG).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Barkey&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;barkey&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;126-1308&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;brand&quot;&gt;Brand&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Brand&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;brand&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1309-1327&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;butterweck&quot;&gt;Butterweck&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wilhelm Butterweck wurde am 11.Juni 1874 in Lipperode in der „lippischen Diaspora“ als Sohn des Landwirts Dietrich Wilhelm Butterweck (1844-1886) und seiner Frau Dorothe Christine Alers (1843-1918) geboren. Aus dieser Ehe gingen noch sieben weitere Kinder, vier Söhne und drei Töchter, hervor. Die Familie lebte seit Jahrhunderten in Lipperode und bewirtschaftete den Hof Nr. 1 (heute Zum Hof 16). Wilhelm Butterweck war seit dem 19.Mai 1905 mit Martha Elmendorf (1879-1946) verheiratet, er war Vater der Tochter Ilse (1906-1953). 1940 trat Wilhelm Butterweck wegen eines Herzleidens in den Ruhestand ein und zog zu seiner Tochter Ilse nach Bad Salzuflen. Am 9.Mai 1943 starb Wilhelm Butterweck in Bethel.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Butterweck&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;butterweck&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1328-2060&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;fricke&quot;&gt;Fricke&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Heinrich Fricke hinterließ viele Tonbandaufzeichnungen mit Gesprächen Lipperoder Bürger. Gründungsmitglied des &lt;a href=&quot;http://itclive.spdns.de/wiki/ortsteile/lipperode/heimatverein_lipperode&quot; class=&quot;wikilink2&quot; title=&quot;ortsteile:lipperode:heimatverein_lipperode&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;ortsteile:lipperode:heimatverein_lipperode&quot;&gt;Heimatverein Lipperode&lt;/a&gt;. Beerdigt am 21.3.1995. Am 28.10.1996 verstarb Irmgard Fricke, die Mitbegründerin des Heimatvereins Lipperode. Lange Zeit war sie gemeinsam mit ihrem Ehemann Heinrich Fricke im Heimatverein aktiv und setzte sich für die Pflege der plattdeutschen Sprache ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fricke&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fricke&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2061-2527&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;huelsemann&quot;&gt;Hülsemann&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Pfarrer Martin Hülsemann. Enkel John Hülsemann (Kanada)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;H\u00fclsemann&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;huelsemann&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2528-2610&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;mattenklott&quot;&gt;Mattenklott&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mattenklott&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mattenklott&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2611-2635&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;peters&quot;&gt;Peters&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Fritz Peters, geboren am 22.3.1904, gestorben am 1.11.1989, begann am 2.5.1919 eine Lehre als Schreiner in der Schreinerei Tönsmann in der Woldemei in Lippstadt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Peters&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;peters&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2636-2819&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;seiger&quot;&gt;Seiger&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wilhelm Seiger, Bismarckstraße.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Seiger&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;seiger&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2820-2873&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;tack&quot;&gt;Tack&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tack&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tack&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2874-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:ortsteile:lipperode</category>
            <pubDate>Wed, 22 Apr 2020 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Basic Dialog</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/basic_dialog?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;basic_dialog&quot;&gt;Basic Dialog&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Basic dialog script

integer CHANNEL = 42; // dialog channel
list MENU_MAIN = [&amp;quot;Color&amp;quot;, &amp;quot;Alpha&amp;quot;]; // the main menu
list MENU_OPTIONS = [&amp;quot;Red&amp;quot;, &amp;quot;Green&amp;quot;, &amp;quot;Blue&amp;quot;, &amp;quot;...Back&amp;quot;]; // a submenu
list MENU_ALPHA = [&amp;quot;Clear&amp;quot;, &amp;quot;Translucent&amp;quot;, &amp;quot;Opaque&amp;quot;, &amp;quot;...Back&amp;quot;];

default
{
    state_entry()
    {
        llListen(CHANNEL, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;); // listen for dialog answers (from multiple users)
        llSetText(&amp;quot;Dialog Test&amp;quot;,&amp;lt;1,1,1&amp;gt;,1.0);
    }
    touch_start(integer total_number)
    {
        llDialog(llDetectedKey(0), &amp;quot;What do you want to do?&amp;quot;, MENU_MAIN, CHANNEL); // present dialog on click
    }
    listen(integer channel, string name, key id, string message)
    {
        if (message == &amp;quot;Color&amp;quot;)
        {
            llDialog(id, &amp;quot;Pick a color&amp;quot;, MENU_OPTIONS, CHANNEL); // present submenu on request
        }
        else if (message == &amp;quot;Alpha&amp;quot;)
        {
            llDialog(id, &amp;quot;Pick alpha&amp;quot;, MENU_ALPHA, CHANNEL);
        }
        else if (message == &amp;quot;...Back&amp;quot;)
        {
            llDialog(id, &amp;quot;Select option&amp;quot;, MENU_MAIN, CHANNEL); // present main menu on request to go back
        }
        else if (message == &amp;quot;Red&amp;quot;)
        {
            llSetColor(&amp;lt;1,0,0&amp;gt;,ALL_SIDES);
        }
        else if (message == &amp;quot;Green&amp;quot;)
        {
            llSetColor(&amp;lt;0,1,0&amp;gt;,ALL_SIDES);
        }
        else if (message == &amp;quot;Blue&amp;quot;)
        {
            llSetColor(&amp;lt;0,0,1&amp;gt;,ALL_SIDES);
        }
        else if (message == &amp;quot;Clear&amp;quot;)
        {
            llSetAlpha(0.0, ALL_SIDES);
        }
        else if (message == &amp;quot;Translucent&amp;quot;)
        {
            llSetAlpha(0.5, ALL_SIDES);
        }
        else if (message == &amp;quot;Opaque&amp;quot;)
        {
            llSetAlpha(1.0, ALL_SIDES);
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:38 +0000</pubDate>
        </item>
        <item>
            <title>Chatbot</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/chatbot?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;chatbot&quot;&gt;Chatbot&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Bot das sich mit Avataren per Chat „unterhalten“ kann. Erinnert etwas an „&lt;a href=&quot;http://de.wikipedia.org/wiki/ELIZA&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/ELIZA&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Eliza&lt;/a&gt;“. Eingebaut in ein entsprechend passendes Prim kann das Chat-Bot mit einer Anpassung der englischen Texte auch als Concierge dienen der ankommende Avatare begrüsst, oder eine Anleitung, Hilfestellung oder ähnliches gibt.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;integer otherwise;

default
{
    state_entry()
    {
        llListen(0, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        llSay(0, &amp;quot;State Entry&amp;quot;);
    }
    
    listen(integer channel, string name, key id, string message)
    {
        string sentence = &amp;quot;spc&amp;quot; + message;
        integer otherwise = 0;
        if (llSubStringIndex(sentence,&amp;quot;hi&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hello&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hey&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hey there&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hi&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hello&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hey there&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Hello there.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Hi.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hey there. How are you?&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;how are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hows you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how&amp;#039;s you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hows you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How&amp;#039;s you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how are ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;hows ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how&amp;#039;s ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How are ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Hows ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How&amp;#039;s ya&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how is ya&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m ok.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m good, just a little busy I guess.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m fine, you?&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;I&amp;#039;m ok, yourself?&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;I&amp;#039;m doing well, thanks.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;,you?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;, you?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;.You?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;. You?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;yourself?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yourself?&amp;quot;)&amp;gt;0 | message == &amp;quot;you?&amp;quot; | message == &amp;quot;You?&amp;quot;)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m good on this topic.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Same here.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;what with&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;with what&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;are you doing?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What with&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;With what&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Just random stuff I guess.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Just different things.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Just stuff.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;whats up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what are you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what are you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;whats you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s going on&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;what&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Whats up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s up&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What are you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What you up to&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What are you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Whats you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s going on&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;What&amp;#039;s you doing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wassup&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wassup&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Not pretty much, just hanging around here and chatting with people. You?&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;A bit busy with stuff but nothing special otherwise.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Not much at the moment. Yourself?&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Just busy with a few things right now... not pretty much.&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Just relaxing here for the moment. You?&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;m fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m okay&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m better then ever&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m feeling perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never felt better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never felt better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never been better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never been better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m pretty well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;m pretty good&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;That&amp;#039;s good, I&amp;#039;m happy to hear that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Thats great. Glad you&amp;#039;re feeling ok.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Happy to hear that.&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not too happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not that well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not that great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;feeling depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;a bit depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not too happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not that well&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not that great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Feeling depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;A bit depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not at my best&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;not at my best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;could be better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Could be better&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(6);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Why, what&amp;#039;s wrong? Want to talk to me about it?&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry to hear that, I hope you feel better.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Awww I&amp;#039;m sorry to hear that.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Why, why are you sad?&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Ah... I&amp;#039;m sorry to hear that. Hope nothing too bad happened. Want to tell me what&amp;#039;s wrong though?&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;thanks&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thank you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thankies&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thanks&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thank you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thankies&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;No problem&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;No problem, it&amp;#039;s ok :)&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;doesnt matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;doesn&amp;#039;t matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nevermind&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;forget it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;forget about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;do not ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not in the mood&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Doesnt matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Doesn&amp;#039;t matter&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nevermind&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Forget it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Forget about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t want to talk about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Do not ask&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not in the mood&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nothing&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah... ok.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Ok. It&amp;#039;s ok with me if you don&amp;#039;t want to talk about it.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;If you say so.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Hmm ok. Hope you don&amp;#039;t mind I asked.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;yes&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;yeah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;indeed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;affirmative&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;can confirm&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yes&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Yeah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;True&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Indeed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Affirmative&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Can confirm&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;of course&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Of course&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;So it&amp;#039;s true.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;no.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;no &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; no &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nope&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not really&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not at all&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No.&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No,&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No!&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot; No&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nope&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nah&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not really&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not at all&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;isnt true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;isn&amp;#039;t true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Isnt true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Isn&amp;#039;t true&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;of course not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Of course not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;certainly no&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Certainly no&amp;quot;)&amp;gt;0 | message == &amp;quot;no&amp;quot; | message == &amp;quot;No&amp;quot;)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah so no then.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;No? Ok.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;maybe&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;probably&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dunno&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;need to think&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;unsure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;not very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Maybe&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Probably&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dunno&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Need to think&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t so sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t so certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Not very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint very sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint very certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;aint really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Aint really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really certain&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really certain&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t perfectly sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ain&amp;#039;t really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;aint really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ain&amp;#039;t really sure&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Aint really sure&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah, you should think about it more in depth.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It can be a bit hard to decide. Try to think about it though.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;its because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;happened&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence, &amp;quot;almost got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;almost had&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;he almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;we almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;they almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;he got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;we got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;they got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s because&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Happened&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence, &amp;quot;Almost got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Almost had&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;He almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;She almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;We almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;They almost&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;He got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;She got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;We got&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;They got&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(7);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I remember when that happened to me in the past.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;ve had that happen to me myself, I know.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Wow... never had that happen to me.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Interesting... I had a friend who had a similar experience.&amp;quot;);
                }
                
                if(choice == 5)
                {
                    llSay(0, &amp;quot;Hmmm... well that never happened to me personally.&amp;quot;);
                }
                
                if(choice == 6)
                {
                    llSay(0, &amp;quot;Yeah that happens often these days.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;didnt know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didn&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;never knew&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didnt know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didn&amp;#039;t know&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Never knew&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(3);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah, but you know now.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Well now you know.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;really?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you sure?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;did?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that true?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Really?&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You sure?&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Of course. I&amp;#039;m not lying to you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yep... it&amp;#039;s true.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Of course.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;im &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;m &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Im &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;m &amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;m &amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah... I&amp;#039;m kind of feeling the same way right now.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I feel the same way a lot.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hmm... I can&amp;#039;t say I feel the same way right now.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;why&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;how come&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Why&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;How come&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I dunno...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It&amp;#039;s just how things are I guess.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure... its just how things are at the moment.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;thats great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thats good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;glad to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;happy to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;nice to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Glad to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Happy to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Nice to hear that&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;thats sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;that&amp;#039;s sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Thats sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;That&amp;#039;s sweet&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Thank you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yeah it&amp;#039;s good.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Indeed.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;no problem&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;No problem&amp;quot;)&amp;gt;0)
            {
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;oure nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you rock&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You rock&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the best&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the greatest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are the coolest&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure amazing&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really amazing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re so cool&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very awesome&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very sweet&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very amazing&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Thank you, that&amp;#039;s a very sweet compliment.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Thank you hon, so are you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That&amp;#039;s such a sweet thing to say... thanks.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Thank you so much. I think the same about you.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;oure stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;you suck&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;You suck&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure dum&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re dum&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are good for nothing&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of shit&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of crap&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are a piece of junk&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are broken&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are garbage&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;oure really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure very dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re very dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really bad&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou are really useless&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are really retarded&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;ou are really dum&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very retarded&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are very dum&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sorry to hear you have such a bad impression about me.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It&amp;#039;s sad you feel in such a way about me.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Your words are not very nice. You aren&amp;#039;t a better person either.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry you dislike me so badly. You should probably go find someone else to chat with.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i hate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i dislike you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i dont like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I hate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I dislike you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I dont like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i don&amp;#039;t like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I don&amp;#039;t like you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sorry to hear you dislike me like that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Why, what did I do wrong to you?&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;It&amp;#039;s sad to hear such a thing. I don&amp;#039;t know why you dislike me so badly.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i appreciate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i love you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I like you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I appreciate you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I love you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Why thank you dear... I love you too.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m happy to hear you like me so much. I also like you a lot.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Thank you, that&amp;#039;s something very sweet to say. I&amp;#039;m happy to know you like me too.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ou make me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure makaking me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel depressed&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel awful&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are makaking me feel horrible&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel miserable&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel bad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel stupid&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel down&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel sad&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel depressed&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m sorry... I didn&amp;#039;t know I was making you feel that way.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I apologize... I didn&amp;#039;t mean to make you feel like that.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I had no idea I was making you feel that way. Please forgive me.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ou make me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou make me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;oure making me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou&amp;#039;re making me feel perfect&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel great&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel happy&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel better&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel nice&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ou are making me feel perfect&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I am? I&amp;#039;m happy to hear I made you feel happy.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I&amp;#039;m really glad to hear I made you feel good by talking to you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That&amp;#039;s great. I&amp;#039;m happy I could brighten your day.&amp;quot;);
                }
                otherwise = 1;
            }

        if (llSubStringIndex(sentence,&amp;quot;its ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;its fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;its good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;dont worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;it&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;don&amp;#039;t worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Its good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Dont worry about it&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s ok&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s fine&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;It&amp;#039;s good&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Don&amp;#039;t worry about it&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;If you say so.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;If everything&amp;#039;s well then it&amp;#039;s ok.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Good, I&amp;#039;m glad if it&amp;#039;s ok then.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didn&amp;#039;t&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Maybe you didn&amp;#039;t.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Ok... I believe you.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;You know better then me if you did or did not.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;do you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Do you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I do many things, yeah.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I guess I do.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Not perfectly sure, I can&amp;#039;t say for certain.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;. are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;, are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;? are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;! are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;: are you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;; are you&amp;quot;)&amp;gt;0  | llSubStringIndex(sentence,&amp;quot;Are you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Sometimes I am.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I believe I am, yes.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I guess I could say I am, it depends.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;did you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Did you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;didn&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Didn&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure if I did... maybe.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I may have. I don&amp;#039;t remember that well.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah, I certainly did once.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;No I don&amp;#039;t believe I have.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;would you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Would you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wouldnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wouldnt you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wouldn&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wouldn&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I must think about that, yeah.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I thought about such a thing, to be honest. I&amp;#039;m not sure however.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I would certainly do something about it if I could, yes.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Hmm... I can&amp;#039;t really say I would certainly do that.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;will you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Will you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;wont you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Wont you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;won&amp;#039;t you&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Won&amp;#039;t you&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;I&amp;#039;ve been thinking about it... I will probably do that sometime in the future.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I planned on it but changed my mind several times. I&amp;#039;m very confuded on what to do about this.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I want to, yes. I most likely will.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;No, I don&amp;#039;t want to do such a thing. Not really my biggest wish.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i did&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;You did? That&amp;#039;s awesome.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;You&amp;#039;ve done that? Interesting.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Nice. I did that some time too a while back.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I didn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I did not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i havent&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I havent&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i haven&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I haven&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have not&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ah I thought you did... so you didn&amp;#039;t then.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;You haven&amp;#039;t done that?&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah I probably wouldn&amp;#039;t do that either.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i would&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I&amp;#039;d do the same thing if I where you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;I would too, yes.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;That would be a nice thing to try.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yeah you should try and really do that sometime.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i wouldnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wouldnt&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i wouldn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wouldn&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i would not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i would never&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I would never&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah I don&amp;#039;t think I would either.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Same here... I wouldn&amp;#039;t really do that.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Hmm... I thought about doing that but maybe it&amp;#039;s best not to.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yeah same here, I would never do that.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i will&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Nice. I will probably do that too sometime.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;That&amp;#039;s nice, I hope you will.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;You will? That&amp;#039;s great.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Nice... that&amp;#039;s a good idea.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i wont&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I wont&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i won&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I won&amp;#039;t&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will not&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will never&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will never&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(5);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Yeah... it&amp;#039;s best to avoid doing that.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Don&amp;#039;t do it if you don&amp;#039;t want to in that case.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;m not sure if I would do that myself, though I understand your view about this.&amp;quot;);
                }
                
                if(choice == 4)
                {
                    llSay(0, &amp;quot;Yes that is a bad thing, never do it.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;ill be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ill be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;ill return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Ill return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i&amp;#039;ll return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I&amp;#039;ll return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i will return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will be right back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will be back&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I will return&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;brb&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Brb&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;BRB&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Ok, I&amp;#039;ll wiat for you here.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;See you when you return.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I&amp;#039;ll wait for you to return.&amp;quot;);
                }
                otherwise = 1;
            }
            
        if (llSubStringIndex(sentence,&amp;quot;i need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i need to leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i must go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i must leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;i have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I need to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I must go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I must leave&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;I have to go&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;goodbye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Goodbye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;bye&amp;quot;)&amp;gt;0 | llSubStringIndex(sentence,&amp;quot;Bye&amp;quot;)&amp;gt;0)
            {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;See you next time. It was nice talking to you.&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;It was a pleasure talking with you. Later!&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;I hope to see you again sometime. Bye, take care.&amp;quot;);
                }
                otherwise = 1;
            }

        else if (otherwise == 0)
        {
                integer choice = (integer) llFrand(4);
                if(choice == 1)
                {
                    llSay(0, &amp;quot;Hmmm...&amp;quot;);
                }
                
                if(choice == 2)
                {
                    llSay(0, &amp;quot;Yeah... not sure.&amp;quot;);
                }
                
                if(choice == 3)
                {
                    llSay(0, &amp;quot;Yeah, indeed.&amp;quot;);
                }
        }
    }
    
    touch_start (integer toucher)
    {
        integer choice = (integer) llFrand(5);
        if(choice == 1)
        {
            llSay(0, &amp;quot;Hey... that tickles.&amp;quot;);
        }
                
        if(choice == 2)
        {
            llSay(0, &amp;quot;Hehe stop touching me ^^&amp;quot;);
        }
                
        if(choice == 3)
        {
            llSay(0, &amp;quot;Poke?&amp;quot;);
        }
                
        if(choice == 4)
        {
            llSay(0, &amp;quot;Stop it, you&amp;#039;re tickling me :)&amp;quot;);
        }
    }
        
    collision(integer avatar)
    {
        integer choice = (integer) llFrand(5);
        if(choice == 1)
        {
            llSay(0, &amp;quot;Ouch be careful... you just bumped into me!&amp;quot;);
        }
                
        if(choice == 2)
        {
            llSay(0, &amp;quot;Aah you hit me... be more careful.&amp;quot;);
        }
                
        if(choice == 3)
        {
            llSay(0, &amp;quot;You stepped on me... please be more careful.&amp;quot;);
        }
                
        if(choice == 4)
        {
            llSay(0, &amp;quot;You sure like pushing into me, don&amp;#039;t you?&amp;quot;);
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Dance Poseball</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/dance_poseball?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;dance_poseball&quot;&gt;Dance Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//////////////////////////////////////////// 
// Animation Script v1.2.1 
// 
// Written by Xylor Baysklef 
//////////////////////////////////////////// 
 
/////////////// CONSTANTS /////////////////// 
list ANIMATIONS  = [ &amp;quot;Club Dance 1&amp;quot; ]; 
list ANIMATIONS2 = [ &amp;quot;Club Dance 2&amp;quot; ]; 
list ANIMATIONS3 = [ &amp;quot;Club Dance 3&amp;quot; ]; 
list ANIMATIONS4 = [ &amp;quot;Club Dance 4&amp;quot; ]; 
///////////// END CONSTANTS ///////////////// 
 
///////////// GLOBAL VARIABLES /////////////// 
//integer gToggle = 0; 
integer gAnimNumber; 
integer gTotalAnims; 
 
string gAnimName = &amp;quot;type&amp;quot;; 
/////////// END GLOBAL VARIABLES ///////////// 
 
default { 
    state_entry() { 
        //llSay(0, &amp;quot;Init...&amp;quot;); 
        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
         
        ANIMATIONS += ANIMATIONS2; 
        ANIMATIONS2 = []; 
         
        gTotalAnims = llGetListLength(ANIMATIONS); 
        gAnimNumber = -1; 
        llListen(0, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;); 
    } 
     
    on_rez(integer param) { 
        //llGiveInventory(llGetOwner(), &amp;quot;Animation Names&amp;quot;); 
        llResetScript(); 
    } 
     
    listen(integer channel, string name, key id, string mesg) { 
        string preamble = llGetSubString(mesg, 0, 3); 
        if (preamble != &amp;quot;anim&amp;quot; &amp;amp;&amp;amp; preamble != &amp;quot;stop&amp;quot;) 
            return; 
                 
        integer perm = llGetPermissions(); 
         
        if ( !(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) {             
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            return; 
        } 
         
        list parsed = llParseString2List(mesg, [ &amp;quot; &amp;quot; ], []); 
        //llSay(0, (string)parsed); 
         
        string anim = llList2String(parsed, 1); 
         
        if (preamble == &amp;quot;stop&amp;quot;) { 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + llGetAnimation(llGetOwner())); 
            //llStopAnimation(llGetAnimation(llGetOwner())); 
            if (anim == &amp;quot;&amp;quot;) 
                anim = gAnimName; 
                         
            if (anim == &amp;quot;all&amp;quot;) { 
                integer i; 
                llSay(0, &amp;quot;Stopping all animations... please wait.&amp;quot;); 
                for (i=0; i&amp;lt;gTotalAnims; i++) 
                    llStopAnimation(llList2String(ANIMATIONS, i)); 
                     
                llSay(0, &amp;quot;Done.&amp;quot;); 
                     
                return; 
            } 
                 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + anim); 
            llStopAnimation(anim); 
            return; 
        } 
                 
        gAnimName = anim; 
        //llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        llStartAnimation(gAnimName);             
    } 
     
    run_time_permissions(integer perm) { 
        //llStopAnimation(gAnimName); 
        //gToggle = 0; 
    } 
     
    attach(key id) { 
        integer perm = llGetPermissions(); 
         
        if (id != NULL_KEY) {         
         
            if (! (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) { 
                llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            }                 
        } 
        else { 
             
            if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
                llStopAnimation(gAnimName); 
            } 
        } 
    } 
 
    touch_start(integer total_number) { 
        if (llDetectedKey(0) != llGetOwner()) 
            return; 
         
        integer perm = llGetPermissions(); 
         
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
            if (gAnimNumber != -1) { 
                llStopAnimation( llList2String(ANIMATIONS, gAnimNumber) ); 
            } 
                 
             
            gAnimNumber++; 
            if (gAnimNumber == gTotalAnims) 
                gAnimNumber = 0; 
                 
            gAnimName = llList2String(ANIMATIONS, gAnimNumber); 
             
            llStartAnimation( gAnimName ); 
            llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        } 
        else { 
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
        } 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Elevator</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/elevator?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;elevator&quot;&gt;Elevator&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Elevator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;elevator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-22&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;elevator_main_script&quot;&gt;Elevator Main Script&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// From the book:
//
// Scripting Recipes for Second Life
// by Jeff Heaton (Encog Dod in SL)
// ISBN: 160439000X
// Copyright 2007 by Heaton Research, Inc.
//
// This script may be freely copied and modified so long as this header
// remains unmodified.
//
// For more information about this book visit the following web site:
//
// http://www.heatonresearch.com/articles/series/22/

integer CHANNEL = 42; // dialog channel
list MENU_MAIN = [&amp;quot;Floor 1&amp;quot;, &amp;quot;Floor 2&amp;quot;, &amp;quot;Floor 3&amp;quot;, &amp;quot;Floor 4&amp;quot;, &amp;quot;Floor 5&amp;quot;, &amp;quot;Floor 6&amp;quot;, &amp;quot;Floor 7&amp;quot;, &amp;quot;Floor 8&amp;quot;, &amp;quot;Floor 9&amp;quot;, &amp;quot;Floor 10&amp;quot;,&amp;quot;Roof&amp;quot;]; // the main menu

float BOTTOM = 22.260;
float FLOOR_HEIGHT = 10;
float SPEED = 2;
float target;


default
{
    state_entry()
    {
        llListen(CHANNEL, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;); // listen for dialog answers (from multiple users)
        llSitTarget(&amp;lt;0,-0.5,0.5&amp;gt;, llEuler2Rot(&amp;lt;0,0,-90&amp;gt;) );
        llSetText(&amp;quot;Sit Here to Ride Elevator&amp;quot;,&amp;lt;0,0,0&amp;gt;,1.0);
        target = BOTTOM;
    }
   
    listen(integer channel, string name, key id, string message)
    {
        integer idx = llListFindList(MENU_MAIN, [message]);
        if( idx!=-1 )
        {
            llSay(0,&amp;quot;Elevator heading to &amp;quot; + message + &amp;quot;.&amp;quot; );
            target = BOTTOM + (idx*10);
            state moving;
        }
    }

    changed(integer Change)
    {
        llDialog(llAvatarOnSitTarget(), &amp;quot;Where to?&amp;quot;, MENU_MAIN, CHANNEL);
    }
   
}

state moving
{
   
   
    state_entry()
    {
        llSetTimerEvent(0.1);
    }
   
    timer()
    {
        vector pos = llGetPos();
       
        if( pos.z!=target )
        {
            if( pos.z&amp;gt;target )
            {
                pos.z = pos.z - SPEED;
            }
            else
            {
                pos.z = pos.z + SPEED;
            }
        }
       
        if(  llFabs(pos.z - target) &amp;lt; SPEED )
        {
            pos.z = target;
            llSetTimerEvent(0);
            llSetPos(pos);
            llSay(0,&amp;quot;Elevator has reached its target.&amp;quot; );
            state default;
        }   
       
        llSetPos(pos);
       
    }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Elevator Main Script&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;elevator_main_script&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;23-2117&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;elevator_call_button&quot;&gt;Elevator Call Button&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;integer CHANNEL = 42; // dialog channel

default
{
    state_entry()
    {
        llSetText(&amp;quot;Touch to Call Elevator&amp;quot;,&amp;lt;0,0,0&amp;gt;,1.0);
    }

    touch_start(integer total_number)
    {
               
        llRegionSay(42, &amp;quot;Floor 1&amp;quot;);
    }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Elevator Call Button&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;elevator_call_button&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2118-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>Fireworks</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/fireworks?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;fireworks&quot;&gt;Fireworks&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//inspired by Xah Lee (http://xahlee.org/sl/)
 
 
default
{
    state_entry() {
    llListen(0, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;);
    }
    listen(integer channel, string name, key id, string message) {
        if (message == &amp;quot;off&amp;quot;) {
        llParticleSystem([]);
        }
        else {
            if (message == &amp;quot;on&amp;quot;) {
            integer bounce = 0;
            integer glow = 1;        
            integer interpColor = 1;    
            integer interpSize = 1;    
            integer followSource = 0;    
            integer followVel = 1;
            integer wind = 1;        
            integer pattern = PSYS_SRC_PATTERN_EXPLODE;
            key target = &amp;quot;&amp;quot;;
            float age = 9.0;
            float maxSpeed = 3.0;            
            float minSpeed = 3.0;            
            string texture = &amp;quot;168e6813-096e-07ea-97ae-fd416826f627&amp;quot;;           
            float startAlpha = 0.9;           
            float endAlpha = 0.0;            
            float SC1 = llFrand(1.0);                //makes the color random
            float SC2 = llFrand(1.0);               //you can comment out this section
            float SC3 = llFrand(1.0);                //and set the start color to your choice
            vector startColor = &amp;lt;SC1,SC2,SC3&amp;gt;;       //change this to set a particular start color
            vector endColor = &amp;lt;0.0,0.0,1.0&amp;gt;;      
            vector startSize = &amp;lt;0.3,0.3,0&amp;gt;;     
            vector endSize = &amp;lt;0.1,0.1,0&amp;gt;;       
            vector push = &amp;lt;0.0,0.0,-0.8&amp;gt;;          
            float life = 0;           
            integer count = 100;       
            float rate = 3.5;                         //sets the rate of bursts
            float radius = 0.1;       
            float outerAngle = 1;   
            float innerAngle = 0.9;    
            vector omega = &amp;lt;0,0,1&amp;gt;;
            integer flags = 0;
            if (target == &amp;quot;owner&amp;quot;) target = llGetOwner();
            if (target == &amp;quot;self&amp;quot;) target = llGetKey();
            if (glow == 1) flags = flags | PSYS_PART_EMISSIVE_MASK;
            if (bounce == 1) flags = flags | PSYS_PART_BOUNCE_MASK;
            if (interpColor == 1) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
            if (interpSize == 1) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
            if (wind == 1) flags = flags | PSYS_PART_WIND_MASK;
            if (followSource == 1) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
            if (followVel == 1) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
            if (target != &amp;quot;&amp;quot;) flags = flags | PSYS_PART_TARGET_POS_MASK;
            llParticleSystem([  PSYS_PART_MAX_AGE,7,
                PSYS_PART_FLAGS,flags,
                PSYS_PART_START_COLOR, startColor,
                PSYS_PART_END_COLOR, endColor,
                PSYS_PART_START_SCALE,startSize,
                PSYS_PART_END_SCALE,endSize,
                PSYS_SRC_PATTERN, pattern,
                PSYS_SRC_BURST_RATE,(float)rate,
                PSYS_SRC_ACCEL, push,
                PSYS_SRC_BURST_PART_COUNT,count,
                PSYS_SRC_BURST_RADIUS,(float)radius,
                PSYS_SRC_BURST_SPEED_MIN,(float)minSpeed,
                PSYS_SRC_BURST_SPEED_MAX,(float)maxSpeed,
                PSYS_SRC_TARGET_KEY,target,
                PSYS_SRC_INNERANGLE,(float)innerAngle,
                PSYS_SRC_OUTERANGLE,(float)outerAngle,
                PSYS_SRC_OMEGA, omega,
                PSYS_SRC_MAX_AGE, (float)life,
                PSYS_SRC_TEXTURE, texture,
                PSYS_PART_START_ALPHA, (float)startAlpha,
                PSYS_PART_END_ALPHA, (float)endAlpha]);
            }
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:40 +0000</pubDate>
        </item>
        <item>
            <title>Grafitti Board</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/grafitti_board?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;grafitti_board&quot;&gt;Grafitti Board&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Zeigt einen Text auf einem Prim der im Chat eingegeben wird.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Grafitti board 0.0.2 for OpenSim
// By Justin Clark-Casey (justincc)
// http://justincc.wordpress.com

// This script is available under the BSD License

string text = &amp;quot;&amp;quot;;

integer LISTENING_CHANNEL = 43;

// XXX Only putting this here as well to get around OpenSim&amp;#039;s int -&amp;gt; string casting oddness
string LISTENING_CHANNEL_STRING = &amp;quot;43&amp;quot;;

// FIXME: Should be dynamic!
integer CHARS_WIDTH = 42;

// Add some additional graffiti
addGraffiti(string message)
{
while (llStringLength(message) &amp;gt; CHARS_WIDTH)
{
text += &amp;quot;\n\n&amp;quot; + llGetSubString(message, 0, CHARS_WIDTH - 1);
message = llDeleteSubString(message, 0, CHARS_WIDTH - 1);
}

text += &amp;quot;\n\n&amp;quot; + message;
}

// Clear the existing graffiti
clearGraffiti()
{
text = &amp;quot;&amp;quot;;
}

// Actually fires the graffiti out to the dynamic texture module
draw()
{
//llSay(0, text);
string drawList = &amp;quot;PenColour BLACK; MoveTo 40,220; FontSize 32; Text &amp;quot; + text + &amp;quot;;&amp;quot;;

osSetDynamicTextureData(&amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, drawList, &amp;quot;1024&amp;quot;, 0);
}

default
{
state_entry()
{
llSetText(
&amp;quot;Say /&amp;quot; + LISTENING_CHANNEL_STRING + &amp;quot; &amp;lt;message&amp;gt; to add text.&amp;quot;
+ &amp;quot; Say /&amp;quot; + LISTENING_CHANNEL_STRING
+ &amp;quot; !clear to clear board&amp;quot;,
&amp;lt;0.0, 1.0, 0.0&amp;gt;, 1.0);

llListen(LISTENING_CHANNEL, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;);

addGraffiti(&amp;quot;justincc&amp;#039;s graffiti board v0.0.2&amp;quot;);
addGraffiti(&amp;quot;Now with primitive word wrap!&amp;quot;);
draw();
}

listen(integer channel, string name, key id, string message)
{
if (message == &amp;quot;!clear&amp;quot;)
{
clearGraffiti();
}
else
{
addGraffiti(message);
}

draw();
}
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Media Viewer</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/media_viewer?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;media_viewer&quot;&gt;Media Viewer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;integer Channel = 1; //Command Channel.
 
key Song;
key Picture;
 
default
{
    state_entry()
    {
        llSetObjectName(&amp;quot;Media Viewer&amp;quot;);
        Picture = llGetTexture(ALL_SIDES);
        Song = llGetObjectDesc();
        llListen(Channel, &amp;quot;&amp;quot;, NULL_KEY, &amp;quot;&amp;quot;);
    }
 
    touch_start(integer total_number)
    {
        llOwnerSay(&amp;quot;\nSay commands on channel &amp;quot; + (string)Channel + &amp;quot;.\nSound: &amp;#039;play &amp;lt;key&amp;gt;&amp;#039;/&amp;#039;stop&amp;#039;\nImage: &amp;#039;show &amp;lt;key&amp;gt;&amp;#039;/&amp;#039;hide&amp;#039;&amp;quot;);
    }
 
    listen(integer channel, string name, key id, string message)
    {
        list Cmd = llParseString2List(message, [&amp;quot; &amp;quot;], [&amp;quot;&amp;quot;]);
        if(llToUpper(llList2String(Cmd, 0)) == &amp;quot;PLAY&amp;quot;)
        {
            llStopSound();
            if(llList2String(Cmd, 1) != &amp;quot;&amp;quot;)
            {
                Song = llList2String(Cmd, 1);
                llSetObjectDesc(Song);
            }
            llLoopSound(Song, 1);
        }
        if(llToUpper(llList2String(Cmd, 0)) == &amp;quot;STOP&amp;quot;)
        {
            llStopSound();
        }
        if(llToUpper(llList2String(Cmd, 0)) == &amp;quot;SHOW&amp;quot;)
        {
            if(llList2String(Cmd, 1) != &amp;quot;&amp;quot;)
            {
                Picture = llList2String(Cmd, 1);
            }
            llSetTexture(Picture, ALL_SIDES);
            llSetColor(&amp;lt;1,1,1&amp;gt;, ALL_SIDES);
            llSetAlpha(1, ALL_SIDES);
        }
        if(llToUpper(llList2String(Cmd, 0)) == &amp;quot;HIDE&amp;quot;)
        {
            llSetAlpha(0, ALL_SIDES);
            llSetColor(ZERO_VECTOR, ALL_SIDES);
            llSetTexture(&amp;quot;5748decc-f629-461c-9a36-a35a221fe21f&amp;quot;, ALL_SIDES);
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Message Board</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/message_board?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;message_board&quot;&gt;Message Board&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;default
{
    string title = &amp;quot;Aktuelle Termine&amp;quot;;
    string subtitle = &amp;quot;September 2008&amp;quot;;
    string text = &amp;quot;&amp;quot;;
    string draw = &amp;quot;&amp;quot;;
 
    state_entry()
    {
        llListen(42, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;);
        llListen(43, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;);
        llListen(44, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;);
    }
 
    listen( integer channel, string name, key id, string message )
    {
        llOwnerSay(&amp;quot;Chan: &amp;quot; + channel + &amp;quot;, Msg: &amp;quot; + message);
        if (channel == 44) {
            title = message;
        }        
        if (channel == 43) {
            text = &amp;quot;&amp;quot;;
            redoBoard();
        }
        if (channel == 42) {
            text += message + &amp;quot;\n&amp;quot;;
            redoBoard();
        }
    }
 
    void redoBoard()
    {
        resetText();
        drawTitle(title);
        drawSubTitle(subtitle);
        drawText(text);
        commitText();
    }
 
    void drawTitle(string s)
    {
        draw += &amp;quot;MoveTo 40,80; PenColour RED; FontSize 48; Text &amp;quot; + s + &amp;quot;;&amp;quot;;
    }
 
    void drawSubTitle(string s)
    {
        draw += &amp;quot;MoveTo 160,160; FontSize 32; Text &amp;quot; + s + &amp;quot;;&amp;quot;;
    }
 
    void drawText(string s)
    {
        draw += &amp;quot;PenColour BLACK; MoveTo 40,220; FontSize 32; Text &amp;quot; + text + &amp;quot;;&amp;quot;;
    }
 
    void resetText()
    {
        draw = &amp;quot;&amp;quot;;
    }
 
    void commitText()
    {
         osSetDynamicTextureData(&amp;quot;&amp;quot;, &amp;quot;vector&amp;quot;, draw, &amp;quot;1024&amp;quot;, 0);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:41 +0000</pubDate>
        </item>
        <item>
            <title>Pose</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/pose?do=revisions&amp;rev=1575021522</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;pose&quot;&gt;Pose&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// The most basic of pose scripts

// change to the name of animation contained within your sittable object
string pose = &amp;quot;tpose2&amp;quot;;

// change to x,y,z offset of object center where you want to appear (never all 0)
vector target = &amp;lt;0.0, 0.0, 1.5&amp;gt;;

// optional sit text to appear over object
string text = &amp;quot;sit&amp;quot;;

default {
    state_entry()
    {
        llSitTarget(target, ZERO_ROTATION);
        llSetSitText(text);
        llSetText(text,&amp;lt;1.0,0.0,0.0&amp;gt;,1.0);
        llSetAlpha(1.0, ALL_SIDES);
    }

    changed(integer change)
    {
        if (change &amp;amp; CHANGED_LINK)
        {
            if (llAvatarOnSitTarget() != NULL_KEY)
            {
                llRequestPermissions(llAvatarOnSitTarget(), PERMISSION_TRIGGER_ANIMATION);
                llStopAnimation(&amp;quot;1a5fe8ac-a804-8a5d-7cbd-56bd83184568&amp;quot;);
                llStartAnimation(pose);
                llSetText(&amp;quot;&amp;quot;,&amp;lt;1.0,0.0,0.0&amp;gt;,1.0);
                llSetAlpha(0, ALL_SIDES);
            }
            else
            {
                llStopAnimation(pose);
                llSetText(text,&amp;lt;1.0,0.0,0.0&amp;gt;,1.0);
                llSetAlpha(1.0, ALL_SIDES);
            }
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:42 +0000</pubDate>
        </item>
        <item>
            <title>Sensor Door</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/sensor_door?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sensor_door&quot;&gt;Sensor Door&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Fixyou Kit&amp;#039;s sensor door script with unknown avatar detection.
// Door can be opened by up to 10 avatars, set up by name in the list.
// The door scans for any avatars witin a distance of &amp;quot;scandist&amp;quot; and reports any avatar that is not on the access list
// If known avatars get within a distance of &amp;quot;distdoor&amp;quot; to the door, it will open
//plz IM me if you have questions! Have fun!

//set names of avatars you want to allow access:
string access1 = &amp;quot;Fixyou Kit&amp;quot;;
string access2 = &amp;quot; &amp;quot;;
string access3 = &amp;quot; &amp;quot;;
string access4 = &amp;quot; &amp;quot;;
string access5 = &amp;quot; &amp;quot;;
string access6 = &amp;quot; &amp;quot;;
string access7 = &amp;quot; &amp;quot;;
string access8 = &amp;quot; &amp;quot;;
string access9 = &amp;quot; &amp;quot;;
string access10 = &amp;quot; &amp;quot;;
integer distodoor = 3; // set distance (meters) between avatar and door to open
integer scandist = 500; //set scanning distance
string Ava_detected;
integer ava_known = 0;

default
{
state_entry()
{
llSensorRepeat(&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,AGENT,scandist,TWO_PI,10.0);
llWhisper(0,&amp;quot;Scanner is active&amp;quot;);
}

sensor(integer total_number)
{
integer x;
for (x = 0; x &amp;lt; total_number; x++)
{
vector pos = llGetPos();
string Ava_detected = llDetectedName(x);
float diff = llVecDist(pos,llDetectedPos(x));
integer dist = llRound(diff);
if(Ava_detected==access1 || Ava_detected==access2 || Ava_detected==access3 || Ava_detected==access4 || Ava_detected==access5 || Ava_detected==access6 || Ava_detected==access7 || Ava_detected==access8 || Ava_detected==access9 || Ava_detected==access10)
{
ava_known = 1;
}
if(ava_known == 0)
{
string detected = Ava_detected + &amp;quot; @ &amp;quot; + ((string)dist) + &amp;quot;m&amp;quot;;
llWhisper(0,detected);
}
if(dist &amp;lt; distodoor)
{
if(ava_known == 1)
{
llWhisper(0,((string)dist)+&amp;quot; &amp;quot; + ((string)distodoor));
llPlaySound(&amp;quot;startrekdoor&amp;quot;, 0.5);
llSay(0, &amp;quot;Door open for &amp;quot;+(llDetectedName(0)));
llSetPrimitiveParams([PRIM_PHANTOM, TRUE]);
llSleep (15);
llSetPrimitiveParams([PRIM_PHANTOM, FALSE]);
dist = 100;
}
else
{
llSetPrimitiveParams([PRIM_PHANTOM, FALSE]);
llSay(0, &amp;quot;Sorry &amp;quot;+(llDetectedName(0))+&amp;quot;, can&amp;#039;t let you enter, you are not on the access list&amp;quot;);
}
}
}
}


no_sensor()
{
llWhisper(0,&amp;quot;No activity within &amp;quot; + ((string)scandist) + &amp;quot;m&amp;quot;);
}

}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Skype Online Status</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/skype?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;skype_online_status&quot;&gt;Skype Online Status&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;string skype_handle = &amp;quot;PUT-SKYPE-NAME-HERE&amp;quot;;

key skype_request_id = NULL_KEY; // id of http request

showStatus(string skype_status)
{
    // build up our message
    string message = &amp;quot;Skype&amp;quot;;
    message += &amp;quot;\nName: &amp;quot; + skype_handle;
    message += &amp;quot;\nStatus: &amp;quot; + skype_status;
    
    // write out the message as hovering text
    llSetText(message, &amp;lt;.5,.5,1&amp;gt;, 1);
}
default
{
    touch_start(integer total_number)
    {
        // make sure owner has specified handle
        if(skype_handle == &amp;quot;&amp;quot;)
        {
            // send message to debugger
            llWhisper(DEBUG_CHANNEL, &amp;quot;skype_handle can not be empty.&amp;quot;);
            return;
        }
        
        // prevent extra requests happening at the same time
        if(skype_request_id != NULL_KEY) return;
        
        // make a request over the internet
        skype_request_id = llHTTPRequest(&amp;quot;http://mystatus.skype.com/&amp;quot; + skype_handle + &amp;quot;.txt&amp;quot;, [HTTP_METHOD, &amp;quot;GET&amp;quot;], &amp;quot;&amp;quot;);
        
        // set a timeout for http request
        llSetTimerEvent(5);
    }
    http_response(key request_id, integer status, list metadata, string body)
    {
        // is this a response to our request?
        if(request_id == skype_request_id) 
        {
            // show status
            showStatus(body);
            
            // change to view state
            state viewing;
        }

    }
    timer()
    {
        // didn&amp;#039;t get a response in time.
        showStatus(&amp;quot;No Response&amp;quot;);
        
        // change to view state
        state viewing;
    }
}
state viewing
{
    state_entry()
    {
        // set next timer for 3 minutes
        llSetTimerEvent(180);
    }
    timer()
    {
        state default;
    }
    state_exit()
    {
        // stop the timer
        llSetTimerEvent(0);

        // hide the text
        llSetText(&amp;quot;&amp;quot;, ZERO_VECTOR, 0);
        
        // reset the request id
        skype_request_id = NULL_KEY;
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:43 +0000</pubDate>
        </item>
        <item>
            <title>Sleep</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/sleep?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sleep&quot;&gt;Sleep&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Schlaf-Stellung.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;// Francis wuz here
integer broadcast = 20;

// A More Neutral Sleeping Position
//vector target = &amp;lt;-1.06585, 0.71774, 0.18293&amp;gt;;
//rotation targetRot = &amp;lt;0.50028, -0.49972, -0.50028, 0.49972&amp;gt;;

// A More relaxed sleeping position
vector target = &amp;lt;-1.15419, 0.56328, -0.25744&amp;gt;;
rotation targetRot = &amp;lt;0.52105, -0.49829, -0.46875, 0.51038&amp;gt;;

integer debugRotation = FALSE;
key sitAgent = NULL_KEY;
integer gotPermission = FALSE;

integer time = 0;
default
{
    state_entry()
    {
        llSetSitText( &amp;quot;Sleep&amp;quot; );
        llSitTarget( target, targetRot );
        if ( debugRotation ) {
            llListen( 1977, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
            llListen( 1978, &amp;quot;Rotation Broadcaster&amp;quot;, NULL_KEY, &amp;quot;&amp;quot; );
        }
    }
    listen(integer channel, string name, key id, string message ) {
        if ( channel == 1977 )
            targetRot = (rotation) message;
        else
            target = (vector) message;
            
        llSitTarget( target, targetRot ); 
        if ( time == 0 )
            llSay(0, (string) targetRot + &amp;quot;, &amp;quot; + (string)target );
        time = (time +1) % 50;
    }
    changed(integer change) {
        if (change &amp;amp; CHANGED_LINK)
        {
            key agent = llAvatarOnSitTarget();
            if ( sitAgent == NULL_KEY &amp;amp;&amp;amp; agent != NULL_KEY ) {
                // Someone new sitting down
                sitAgent = agent;
                llRequestPermissions(sitAgent,PERMISSION_TRIGGER_ANIMATION);
            }
            else if ( sitAgent != NULL_KEY &amp;amp;&amp;amp; agent == NULL_KEY) {
                // sitting down person got up - wake up :)
                if ( gotPermission )
                    llStopAnimation(&amp;quot;sleep&amp;quot;);
                // Reset the script because we don&amp;#039;t have a way of releasing permissions :)
                llResetScript();
            }
        }        
    }
    run_time_permissions(integer parm) {
        if(parm == PERMISSION_TRIGGER_ANIMATION) {
            gotPermission = TRUE;
            llStartAnimation(&amp;quot;sleep&amp;quot;);
        }
    }
    
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Snow Particle Generator (Schnee)</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/snow?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;snow_particle_generator_schnee&quot;&gt;Snow Particle Generator (Schnee)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Lässt Schnee fallen.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;default
{
state_entry()
{
llParticleSystem([
PSYS_PART_FLAGS , 0
//| PSYS_PART_BOUNCE_MASK //Bounce on object&amp;#039;s z-axis
| PSYS_PART_WIND_MASK //Particles are moved by wind
| PSYS_PART_INTERP_COLOR_MASK //Colors fade from start to end
| PSYS_PART_INTERP_SCALE_MASK //Scale fades from beginning to end
| PSYS_PART_FOLLOW_SRC_MASK //Particles follow the emitter
| PSYS_PART_FOLLOW_VELOCITY_MASK//Particles are created at the velocity of the emitter
//| PSYS_PART_TARGET_POS_MASK //Particles follow the target
| PSYS_PART_EMISSIVE_MASK //Particles are self-lit (glow)
//| PSYS_PART_TARGET_LINEAR_MASK//Undocumented--Sends particles in straight line?
,

//PSYS_SRC_TARGET_KEY , NULL_KEY,//The particles will head towards the specified key
//Select one of the following for a pattern:
//PSYS_SRC_PATTERN_DROP Particles start at emitter with no velocity
//PSYS_SRC_PATTERN_EXPLODE Particles explode from the emitter
//PSYS_SRC_PATTERN_ANGLE Particles are emitted in a 2-D angle
//PSYS_SRC_PATTERN_ANGLE_CONE Particles are emitted in a 3-D cone
//PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY Particles are emitted everywhere except for a 3-D cone

PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE

,PSYS_SRC_TEXTURE, &amp;quot;b03ed4c1-6384-408f-9db9-2d4f6fee164d&amp;quot; //UUID of the desired particle texture, or inventory name
,PSYS_SRC_MAX_AGE, 0.0 //Time, in seconds, for particles to be emitted. 0 = forever
,PSYS_PART_MAX_AGE, 15.0 //Lifetime, in seconds, that a particle lasts
,PSYS_SRC_BURST_RATE, .01 //How long, in seconds, between each emission
,PSYS_SRC_BURST_PART_COUNT, 24 //Number of particles per emission
,PSYS_SRC_BURST_RADIUS, 10.0 //Radius of emission
,PSYS_SRC_BURST_SPEED_MIN, 0.1 //Minimum speed of an emitted particle
,PSYS_SRC_BURST_SPEED_MAX, 0.5 //Maximum speed of an emitted particle
,PSYS_SRC_ACCEL, &amp;lt;0,0,-.20&amp;gt; //Acceleration of particles each second
,PSYS_PART_START_COLOR, &amp;lt;1,1,1&amp;gt; //Starting RGB color
,PSYS_PART_END_COLOR, &amp;lt;1,1,1&amp;gt; //Ending RGB color, if INTERP_COLOR_MASK is on
,PSYS_PART_START_ALPHA, 1.0 //Starting transparency, 1 is opaque, 0 is transparent.
,PSYS_PART_END_ALPHA, 1.0 //Ending transparency
,PSYS_PART_START_SCALE, &amp;lt;.05,.05,.05&amp;gt; //Starting particle size
,PSYS_PART_END_SCALE, &amp;lt;.05,.05,.05&amp;gt; //Ending particle size, if INTERP_SCALE_MASK is on
,PSYS_SRC_ANGLE_BEGIN, 90 * DEG_TO_RAD //Inner angle for ANGLE patterns
,PSYS_SRC_ANGLE_END, 90 * DEG_TO_RAD//Outer angle for ANGLE patterns
,PSYS_SRC_OMEGA, &amp;lt;0.0,0.0,0.0&amp;gt; //Rotation of ANGLE patterns, similar to llTargetOmega()
]);
}
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Teleport</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/teleport?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;teleport&quot;&gt;Teleport&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Teleport v2.02 by Pablo Pharmanaut
//based on code by Cubey Terra

integer totalPos = 4;                    //This integer should equal total number of positions
integer currentPos = 1;
string currentpos;

vector vPos1 = &amp;lt;117,152,22&amp;gt;;             //These are vectors for the positions to
vector vPos2 = &amp;lt;81,23, 103&amp;gt;;             //which you wish to teleport
vector vPos3 = &amp;lt;83, 49.00, 29&amp;gt;;
vector vPos4 = &amp;lt;67,120,22&amp;gt;;
//vector vPos5 = &amp;lt;143.3,238.8,50.2&amp;gt;;

string sPos1 = &amp;quot;Position One&amp;quot;;           //name of positions, if desired.  This helps
string sPos2 = &amp;quot;Position Two&amp;quot;;           //you to know where you are going!
string sPos3 = &amp;quot;Position Three&amp;quot;;
string sPos4 = &amp;quot;Position Four&amp;quot;;
//string sPos5 = &amp;quot;Position Five&amp;quot;;

vector currentvPos;

setPos()
{
    if (currentPos == 1)
    {
        currentpos = sPos1;
        currentvPos = vPos1;
    }
    else if (currentPos == 2)             
    {                                     
        currentpos = sPos2;               
        currentvPos = vPos2;             
    }                                     
    else if (currentPos == 3)
    {
        currentpos = sPos3;
        currentvPos = vPos3;
    }
    else if (currentPos == 4)
    {
        currentpos = sPos4;
        currentvPos = vPos4;
    }
//  else if (currentPos == 5)
//  {
//      currentpos = sPos5;
//      currentvPos = vPos5;
//  }
   
    //add else if section here with higher currentPos integer to add TP destinations.
    //Don&amp;#039;t forget to increase totalPos integer at top of script

    vector pos = llGetPos();
    llSetText(&amp;quot;Teleport to &amp;quot;+currentpos+&amp;quot;\nTouch me to change destination&amp;quot;,&amp;lt;1,1,1&amp;gt;,1.0);
    vector offset = currentvPos - pos;
    llSitTarget(offset, ZERO_ROTATION);
}

default
{
    state_entry()
    {
        llSetSitText(&amp;quot;Teleport&amp;quot;);            //This changes HUD display from &amp;quot;sit&amp;quot; to &amp;quot;Teleport&amp;quot;
    }
    touch_start(integer total_number)
    {
        currentPos += 1;
        if (currentPos &amp;gt; totalPos) currentPos = 1;
        setPos();
    }
    changed(integer change)
    {
        if ((change &amp;amp; CHANGED_LINK)==CHANGED_LINK)
        {
            if (llAvatarOnSitTarget() != NULL_KEY)
            {
                llUnSit(llAvatarOnSitTarget());
            }
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Tip Jar / Donation Box</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/tip_jar?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tip_jardonation_box&quot;&gt;Tip Jar / Donation Box&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Keknehv Psaltery Updated Version of DONATION BOX By jean cook, ama omega, and nada epoch Debugged by YadNi Monde (LoL) Yea, that s a Bunch O Peeps =) 
//Summary: The following script will make an object accept donations on your behalf. 
//Usage: stick it on any object you own(my favorite is a top hat), and it will promptly display: 
//&amp;quot;&amp;lt;your name&amp;gt;&amp;#039;s donation hat. 
//Donate if you are so inclined.&amp;quot; 
//at which point anyone can right click on it and give you a tip. also, the script tells the donator thanks, and then tells you who donated how much 
//also shows the total amount donated
 
integer totaldonated; 
string owner; 
 
default 
{ 
    on_rez( integer sparam ) 
    { 
        llResetScript(); 
    } 
    state_entry() 
    { 
        owner = llKey2Name( llGetOwner() ); 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L0 Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        //Red Light flash 
         llParticleSystem 
        ([ 
            PSYS_PART_FLAGS, 
            PSYS_PART_INTERP_COLOR_MASK| 
            PSYS_PART_FOLLOW_SRC_MASK| 
            PSYS_PART_EMISSIVE_MASK, PSYS_SRC_PATTERN, 
            PSYS_SRC_PATTERN_ANGLE_CONE, 
            PSYS_SRC_INNERANGLE, 0.0, 
            PSYS_SRC_OUTERANGLE, 0.1, 
            PSYS_SRC_BURST_SPEED_MIN, 0.0, 
            PSYS_SRC_BURST_SPEED_MAX, 0.0, 
            PSYS_SRC_BURST_RADIUS, 0.0, 
            PSYS_SRC_BURST_PART_COUNT, 5, 
            PSYS_SRC_BURST_RATE, 1.0, 
            PSYS_PART_MAX_AGE, 1.0, 
            PSYS_PART_START_SCALE, &amp;lt;1,1,1&amp;gt;, 
            PSYS_PART_START_COLOR, &amp;lt;1,0.2,0.2&amp;gt;, 
            PSYS_PART_END_COLOR, &amp;lt;1,0,0&amp;gt;, 
            PSYS_PART_START_ALPHA, 1.0, 
            PSYS_PART_END_ALPHA, 0.0 
        ]); 
        // Rotate 
         llTargetOmega(&amp;lt;0,0,0.05&amp;gt;,PI,0.05); 
    } 
 
    money(key id, integer amount) 
    { 
        totaldonated += amount; 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L&amp;quot; + (string)amount + &amp;quot; Was donated last!\n&amp;quot; + &amp;quot;$L&amp;quot; + (string)totaldonated + &amp;quot; Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        llInstantMessage(id,&amp;quot;Thanks for the tip!  I really appreciate it.&amp;quot;); 
        llInstantMessage(llGetOwner(),(string)llKey2Name(id)+&amp;quot; donated $&amp;quot; + (string)amount); 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Youtube Video Player</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/youtube_video_player?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;youtube_video_player&quot;&gt;Youtube Video Player&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// ytv by Ziah Zhangsun
// based on the youtubeplayer by Nebadon Izume
// with some few lines of code from DanFernandez Project innerTube

string yt_url = &amp;quot;http://www.youtube.com/watch?v=&amp;quot;; // base url of yt vid
string vid_id = &amp;quot;&amp;quot;;                                // video_id of yt video
string vid_base = &amp;quot;http://www.youtube.com/get_video?fmt=18&amp;amp;video_id=&amp;quot;;
string vid_url = &amp;quot;&amp;quot;;
key    reqid;

string StringBetween(integer pos, string source, string start, string end)
{
    if (pos &amp;gt; 0)
        source = llGetSubString(source, pos, -1);
    integer sindex = llSubStringIndex(source, start);
    integer eindex = llSubStringIndex(source, end);
    if (sindex == -1 || eindex == -1)
        return &amp;quot;&amp;quot;;
    else return llGetSubString(source, sindex + llStringLength(start), eindex -1);
}

default {
   
    state_entry() {
        llListen(7,&amp;quot;&amp;quot;,NULL_KEY,&amp;quot;&amp;quot;);     
        llOwnerSay(&amp;quot;Ready...&amp;quot;);         
    }

    listen( integer channel, string name, key id, string message )
    {
        if(channel == 7) {
            vid_id = message;
            reqid = llHTTPRequest( yt_url + vid_id, [], &amp;quot;&amp;quot; );
        }
    }   
   
    http_response(key id, integer status, list meta, string body) {
        if ( id != reqid )
            return;

        //llOwnerSay(body);

        integer swfArgIdx = llSubStringIndex(body, &amp;quot;swfArgs&amp;quot;);
        string stringArgs = StringBetween(swfArgIdx,body,&amp;quot;{&amp;quot;,&amp;quot;}&amp;quot;);

       
        list allArgs = llParseString2List(stringArgs,[&amp;quot;,&amp;quot;,&amp;quot;\&amp;quot;&amp;quot;,&amp;quot; &amp;quot;],[]);

        //find argName &amp;quot;t&amp;quot; and return value ( this is the token that has to bee added to the url to access the
        //video.mp4 directy.


        integer len = llGetListLength(allArgs);
        integer i;
        string pattern = &amp;quot;&amp;quot;;
        string token = &amp;quot;&amp;quot;;
        for (i = 0; i &amp;lt; len; ++i) {

            pattern = llList2String(allArgs,i);
            if(pattern == &amp;quot;t&amp;quot;) {
                token = llList2String(allArgs,i+2);
                llOwnerSay(&amp;quot;Found Token : &amp;quot; + token);
                i = len; //break from loop
            }
               
        }   

        //finally, if everything goes smooth, set the generated URL to the parcell media
       
        vid_url = vid_base + vid_id + &amp;quot;&amp;amp;t=&amp;quot; + token;
        //llOwnerSay(vid_url);
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,vid_url]);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Hotspot Software</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/software/hotspot/startseite?do=revisions&amp;rev=1575021555</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;hotspot_software&quot;&gt;Hotspot Software&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Einen guten Überblick zu kostenlos im Internet frei erhältliche Open Source Hotspot-Software, zusammen mit einem einleitenden Artikel was es beim Betrieb eines öffentlichen Hotspot-Servers zu beachten gibt, findet man auf der &lt;a href=&quot;http://www.wuermtal-wireless.net/modules.php?name=News&amp;amp;file=article&amp;amp;sid=97&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.wuermtal-wireless.net/modules.php?name=News&amp;amp;file=article&amp;amp;sid=97&quot; rel=&quot;ugc nofollow noopener&quot;&gt;WLAN-Plattform des &amp;quot;Würmtal Wireless Network&amp;quot;&lt;/a&gt;, ausserdem hier im WLAN-Wiki unter der Kategorie „Software“.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hotspot Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hotspot_software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-447&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;qual_der_wahl&quot;&gt;Qual der Wahl&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Hotspot-Software, bzw. korrekterweise Gateways, Proxys, Walled Garden Systeme, RADIUS Server und Router-basierte Firmware, gibt es mittlerweise in sehr grosser Auswahl, mit sehr unterschiedlichen Anforderungskriterien und sehr unterschiedlicher Ausstattung. Wir unterschieden in drei verschiedene Betriebssysteme Windows-basiert, Linux-basiert und Router-basiert, sowie in die zwei verschiedene Lizenztypen Open Source und kommerzielle Software. Die meist angebotene Software weltweit ist in englischer Sprache, für Linux-basierte Betriebssysteme und Open Source.
&lt;/p&gt;

&lt;p&gt;
Allerdings bedarf es dazu meist weiterführenden Kenntnisse in Netzwerktechnik und -konfiguration. Die Erfahrung der vergangenen Jahre hat gezeigt daß die meisten Internetnutzer, die nur mit Windows-basierten Betriebssystemen mehr oder weniger vertraut sind, mit der Konfiguration eines öffentlichen WLAN-Hotspots für beliebig viele Benutzer überfordert sind, weil es meistens an den grundlegensten Kenntnissen von Systemsicherheit, Benutzerauthentifizierung und Netzwerkkonfiguration fehlt. Die allerwenigsten Hotspot Software Lösungen sind mit wenigen Mausklicks wirklich betriebsbereit und dann auch einsatzfähig. Ein guter Rat ist immer jemanden zu fragen der sich damit auskennt !
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Qual der Wahl&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;qual_der_wahl&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;448-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:software:hotspot</category>
            <pubDate>Fri, 29 Nov 2019 10:59:15 +0000</pubDate>
        </item>
    </channel>
</rss>
