
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: 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
<?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 16:40:05 +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>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>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>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>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>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>tinc VPN</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/software/vpn/linux/open_source/tinc_vpn?do=revisions&amp;rev=1575021502</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tinc_vpn&quot;&gt;tinc VPN&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.tinc-vpn.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.tinc-vpn.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;tinc&lt;/a&gt; is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. tinc is Free Software and licensed under the GNU General Public License.
&lt;/p&gt;

&lt;p&gt;
Because the VPN appears to the IP level network code as a normal network device, there is no need to adapt any existing software. This allows VPN sites to share information with each other over the Internet without exposing any information to others. In addition, tinc has the following features:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Encryption, authentication and compression&lt;/strong&gt;
All traffic is optionally compressed using zlib or LZO, and OpenSSL is used to encrypt the traffic and protect it from alteration with message authentication codes and sequence numbers. 
Automatic full mesh routing. Regardless of how you set up the tinc daemons to connect to each other, VPN traffic is always (if possible) sent directly to the destination, without going through intermediate hops. 
Easily expand your VPN. When you want to add nodes to your VPN, all you have to do is add an extra configuration file, there is no need to start new daemons or create and configure new devices or network interfaces.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Ability to bridge ethernet segments&lt;/strong&gt;
You can link multiple ethernet segments together to work like a single segment, allowing you to run applications and games that normally only work on a &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt; over the Internet. 
Runs on many operating systems and supports IPv6.
&lt;/p&gt;

&lt;p&gt;
Currently Linux, FreeBSD, OpenBSD, NetBSD, MacOS/X, Solaris, Windows 2000 and XP platforms are supported. See our section about supported platforms for more information about the state of the ports. tinc has also full support for IPv6, providing both the possibility of tunneling IPv6 traffic over its tunnels and of creating tunnels over existing IPv6 networks.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:software:vpn:linux:open_source</category>
            <pubDate>Fri, 29 Nov 2019 10:58:22 +0000</pubDate>
        </item>
        <item>
            <title>tinc VPN</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/software/vpn/linux/open_source/tinc_vpn?do=revisions&amp;rev=1575021556</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tinc_vpn&quot;&gt;tinc VPN&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.tinc-vpn.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.tinc-vpn.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;tinc&lt;/a&gt; is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. tinc is Free Software and licensed under the GNU General Public License.
&lt;/p&gt;

&lt;p&gt;
Because the VPN appears to the IP level network code as a normal network device, there is no need to adapt any existing software. This allows VPN sites to share information with each other over the Internet without exposing any information to others. In addition, tinc has the following features:
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Encryption, authentication and compression&lt;/strong&gt;
All traffic is optionally compressed using zlib or LZO, and OpenSSL is used to encrypt the traffic and protect it from alteration with message authentication codes and sequence numbers. 
Automatic full mesh routing. Regardless of how you set up the tinc daemons to connect to each other, VPN traffic is always (if possible) sent directly to the destination, without going through intermediate hops. 
Easily expand your VPN. When you want to add nodes to your VPN, all you have to do is add an extra configuration file, there is no need to start new daemons or create and configure new devices or network interfaces.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Ability to bridge ethernet segments&lt;/strong&gt;
You can link multiple ethernet segments together to work like a single segment, allowing you to run applications and games that normally only work on a &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt; over the Internet. 
Runs on many operating systems and supports IPv6.
&lt;/p&gt;

&lt;p&gt;
Currently Linux, FreeBSD, OpenBSD, NetBSD, MacOS/X, Solaris, Windows 2000 and XP platforms are supported. See our section about supported platforms for more information about the state of the ports. tinc has also full support for IPv6, providing both the possibility of tunneling IPv6 traffic over its tunnels and of creating tunnels over existing IPv6 networks.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:software:vpn:linux:open_source</category>
            <pubDate>Fri, 29 Nov 2019 10:59:16 +0000</pubDate>
        </item>
        <item>
            <title>Searx konfigurieren</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/searx/searx_konfigurieren?do=revisions&amp;rev=1617806960</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;searx_konfigurieren&quot;&gt;Searx konfigurieren&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;Searx konfigurieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;searx_konfigurieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-35&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;die_konfiguration_wird_in_folgender_textdatei_vorgenommen&quot;&gt;Die Konfiguration wird in folgender Textdatei vorgenommen&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; &lt;code&gt;/usr/local/searx/searx/settings.yml&lt;/code&gt; oder&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;/etc/searx/settings.yml&lt;/code&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;Die Konfiguration wird in folgender Textdatei vorgenommen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_konfiguration_wird_in_folgender_textdatei_vorgenommen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;36-188&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;konfigurations-parameter&quot;&gt;Konfigurations-Parameter&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit4&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; Parameter         &lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt; Beschreibung                                                                                                                                                                        &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; port              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; port number of the searx web application if you run it directly using python searx/webapp.py. Doesn&amp;#039;t apply to searx running on Apache or Nginx.                                    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; secret_key        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; used for cryptography purpose.                                                                                                                                                      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; debug             &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; allow a more detailed log if you run searx directly. Display detailed error messages in the browser too, so this must be deactivated in production.                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; request_timeout   &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; global timeout of the requests made to others engines in seconds. A bigger timeout will allow to wait for answers from slow engines, but in consequence will slow searx reactivity  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; (the result page may take the time specified in the timeout to load)                                                                                                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; base_url          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; the base &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; where searx is deployed. Used to create correct inbound links.                                                                                                         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; themes_path       &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; path to where the themes are located. If you didn&amp;#039;t develop anything, leave it blank.                                                                                               &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; default_theme     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; name of the theme you want to use by default on you searx instance.                                                                                                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; useragent_suffix  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; suffix to the user-agent searx uses to send requests to others engines. If an engine wish to block you, a contact info here may be useful to avoid that.                            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; image_proxy       &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; allow your instance of searx of being able to proxy images. Uses memory space.                                                                                                      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; default_locale    &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; interface language. If blank, the locale is detected by using the browser language. If it doesn&amp;#039;t work, or you are deploying a language specific instance of searx,                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; a locale can be defined using an ISO language code, like fr, en, de.                                                                                                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; outgoing_proxies  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; define a proxy you wish to use.                                                                                                                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; source_ips        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; if you use multiple nework interfaces, define from which IP the requests must be made.                                                                                              &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; locales           &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; locales codes and their names. Available translations of searx interface.                                                                                                           &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;:4,&amp;quot;range&amp;quot;:&amp;quot;227-3490&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;Konfigurations-Parameter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;konfigurations-parameter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;189-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software:searx</category>
            <pubDate>Wed, 07 Apr 2021 16:49:20 +0000</pubDate>
        </item>
        <item>
            <title>Particle System</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/particle_system?do=revisions&amp;rev=1575021522</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;particle_system&quot;&gt;Particle System&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Originally by Ama Omega
default
{
    state_entry()
    {
        llSleep(1); // Do something..
    }
    touch_start(integer total_number)
    {
        // mask flags - set to TRUE (or 1) to enable
        integer bounce = 0;    // Make particles bounce on Z plane of object
        integer glow = 1;        // Make the particles glow
        integer interpColor = 1;    // Go from start to end color
        integer interpSize = 1;    // Go from start to end size
        integer followSource = 1;    // Particles follow the source
        integer followVel = 1;    // Particles turn to velocity direction
        integer wind = 0;        // Particles affected by wind
        //pattern:
        //integer pattern = PSYS_SRC_PATTERN_ANGLE;
        //integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY;
        //integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE;
        //integer pattern = PSYS_SRC_PATTERN_DROP;
        integer pattern = PSYS_SRC_PATTERN_EXPLODE;
        // Select a target for particles to go towards
        // &amp;quot;&amp;quot; for no target, &amp;quot;owner&amp;quot; will follow object owner
        //    and &amp;quot;self&amp;quot; will target this object
        //    or put the key of an object for particles to go to
        //key target = &amp;quot;&amp;quot;;
        key target = &amp;quot;self&amp;quot;;
        //key target = &amp;quot;owner&amp;quot;;
        // particle parameters
        float age = 20;                  // Life of each particle
        float maxSpeed = 1;            // Max speed each particle is spit out at
        float minSpeed = 1;            // Min speed each particle is spit out at
        string texture = &amp;quot;168e6813-096e-07ea-97ae-fd416826f627&amp;quot;;  // Texture used for particles
        float startAlpha = 0;           // Start alpha (transparency) value
        float endAlpha = 1;           // End alpha (transparency) value (if interpColor = TRUE)
        vector startColor = &amp;lt;0,0,1&amp;gt;;    // Start color of particles &amp;lt;R,G,B&amp;gt;
        vector endColor = &amp;lt;1,0,0&amp;gt;;      // End color of particles &amp;lt;R,G,B&amp;gt; (if interpColor = TRUE)
        vector startSize = &amp;lt;1,1,0&amp;gt;;     // Start size of particles &amp;lt;x,y&amp;gt;
        vector endSize = &amp;lt;1,1,0&amp;gt;;       // End size of particles (if interpSize == TRUE)
        vector push = &amp;lt;0,0,0.05f&amp;gt;;          // Force pushed on particles
        // system parameters
        float life = 0;             // Life in seconds for the system to make particles
        integer count = 10;        // How many particles to emit per BURST
        float rate = 0.03f;            // How fast (rate) to emit particles
        float radius = 0.5;          // Radius to emit particles for BURST pattern
        float outerAngle = 1.54;    // Outer angle for all ANGLE patterns
        float innerAngle = 1.55;    // Inner angle for all ANGLE patterns
        vector omega = &amp;lt;0,0,1&amp;gt;;    // Rotation of ANGLE patterns around the source
        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:42 +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>Give all Content</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/give_all_content?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;give_all_content&quot;&gt;Give all Content&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Copyright 2004, Trimming Hedges.  Released to the public domain.

// This is a simple script that gives everything in a box to the person who clicked. 
// By default, it will only give items to the owner of the box.

// I wrote this because of all the texture bundles that are given out.  It&amp;#039;s really a PAIN
// to move a lot of textures or other contents out of a box.  This speeds that up.

// This is NOT a vending script.  You can use this script to give everything in a box to someone, by changing &amp;#039;owneronly&amp;#039; to be 0.  BUT:
//
//  I suggest not using this script in an area where several people are going to touch it at once, because giving inventory is slow.
//  Version 2.0 of this script now detects multiple simultaneous touches: it is still slow, but it should work better at classes or events.

//  THIS IS NOT A VENDING SCRIPT.  It gives items away, it does NOT SELL THEM.  (You don&amp;#039;t need a script for most vending anyway.)
//  This script doesn&amp;#039;t give itself away.  If you want it to, put it in the box, and set it to not running.
//  Then rename a copy and put that in the box too.  The renamed copy should be the running one. 
//  Rename it FIRST, I had weird issues with renaming it when it was already in
//  the box. (version 1.2.12 of SL.)

integer owneronly = 0;
key owner;

default
{
    state_entry()
    {
        owner = llGetOwner();       
    }

    touch_start(integer total_number)
    {
        integer i;
        for (i=0;i&amp;lt;total_number;i++)
        {
            key target = llDetectedKey(i);
       
            if ( (target != owner) &amp;amp;&amp;amp; (owneronly == 1) )  // person clicking isn&amp;#039;t owner and owneronly is set;
            {
                llInstantMessage(target,&amp;quot;Sorry, only the owner is allowed to get my contents.&amp;quot;);
                return;
            }
            list inventory_types = [INVENTORY_BODYPART,INVENTORY_CLOTHING,INVENTORY_LANDMARK,INVENTORY_NOTECARD,INVENTORY_OBJECT,INVENTORY_SCRIPT,INVENTORY_SOUND,INVENTORY_TEXTURE];
            integer inventory_count = llGetListLength(inventory_types);
            integer j;
            integer k;
            integer type;
            integer typecount;
            string myname = llGetScriptName();
            string objectname;

            for (j=0; j&amp;lt;inventory_count;j++)
            {
                type = llList2Integer(inventory_types,j); // get the next inventory type from the list
                typecount = llGetInventoryNumber(type);  // how many of that kind of inventory is in the box?
                if (typecount &amp;gt; 0)
                {
                    for (k=0; k&amp;lt;typecount;k++)
                    {
                        objectname = llGetInventoryName(type,k);
                        if (objectname != myname)  // don&amp;#039;t give self out so the user doesn&amp;#039;t get fifty thousand copies.
                        {
                            llGiveInventory(target,objectname);
                        }
                    }
                }           
            }
        }
    }
}&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>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>Boot-Types</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/pxe-boot/boot-types?do=revisions&amp;rev=1579163221</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;boot-types&quot;&gt;Boot-Types&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;table sectionedit2&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;extension	&lt;/th&gt;&lt;th class=&quot;col1 leftalign&quot;&gt;Valid platforms	&lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot;&gt;Description                                                                                                                                                            &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.pxe		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Headerless X86 assembly code, PXE- or NBP-booted, sometimes renamed to .0 to work on older DHCP/TFTP servers                                                           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.efi		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;efi		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;EFI executable                                                                                                                                                         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.kpxe		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Same as .pxe but will Keep the original UNDI stack/driver present. This is needed for undionly ref                                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.kkpxe		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Same as .kpxe but will not unload (Keep) the PXE base code. only use with buggy BIOSes                                                                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.lkrn		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Builds with kernel header similar to Linux so it can be started by many bootloaders                                                                                    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.iso		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Builds .lkrn and adds ISOLINUX to create CD-ROM image, can be started by many bootloaders                                                                              &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.hd		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Direct executable i386 code put on a harddisk image (32KB blocks)                                                                                                      &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.dsk		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Direct executable i386 code put on a floppy disk image (512 Byte blocks)                                                                                               &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.pdsk		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Padded .dsk to work with loaders that requires exact size such as iLO                                                                                                  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.usb		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios, efi	        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Same as .dsk for pcbios, in efi mode it&amp;#039;s an 1440K image with partition and [driver].efi added as /efi/boot/boot[arch].efi, mostly used for making USB stick images    &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.rom		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;File intended to be flashed into PCI-based NIC ROM                                                                                                                     &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.mrom		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;File intended to be flashed into PCI-based NIC ROM. See notes for .mrom                                                                                                &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.pcirom	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Same as .rom                                                                                                                                                           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.isarom	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;pcbios		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;File intended to be flashed into ISA-based NIC ROM, must be used with e.g. VirtualBox                                                                                  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.efidrv	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;efi		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Driver for NIC which can be used by other EFI firmware                                                                                                                 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.efirom	&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;efi		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;File intended to be flashed into NIC ROM for EFI                                                                                                                       &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;.linux		&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;linux		        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;Linux ELF executable, use for tests and tap drivers                                                                                                                    &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;:2,&amp;quot;range&amp;quot;:&amp;quot;27-3531&amp;quot;} --&gt;
&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:pxe-boot</category>
            <pubDate>Thu, 16 Jan 2020 09:27:01 +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>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>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>PeerTube - Menu Enhancer</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/peertube/peertube_-_menu_enhancer?do=revisions&amp;rev=1659082704</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;peertube_-_menu_enhancer&quot;&gt;PeerTube - Menu Enhancer&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;/** === LINKS ===
 * Simple add your links into the MENU_LINKS array following the example format
 * It will be added to the menu in the same order as you defined it
 */

/** === SEPARATOR ===
 * Like our example, use {name: &amp;quot;separator&amp;quot;} to add a separator to the menu
 */

/** === ICONS ===
 * You can use https://css.gg, icons are automatically imported if start with gg-*** (Ex: gg-game).
 * Else, you can use https://fontawesome.com/icons/ or any other custom icon library.
 * Just import the CSS manually.
 **/

// EDIT HERE
var MENU_LINKS = [
    {
        name: &amp;quot;Gaming&amp;quot;,
        url: &amp;quot;/videos/recently-added?languageOneOf=fr&amp;amp;categoryOneOf=7&amp;amp;c=true&amp;amp;s=2&amp;quot;,
        icon: &amp;quot;gg-games&amp;quot;,
    },
    {
        name: &amp;quot;Kid&amp;#039;s&amp;quot;,
        url: &amp;quot;/videos/recently-added?languageOneOf=fr&amp;amp;categoryOneOf=17&amp;amp;c=true&amp;amp;s=2&amp;quot;,
        icon: &amp;quot;gg-girl&amp;quot;,
    },
    { name: &amp;quot;separator&amp;quot; },
    {
        name: &amp;quot;Pewtix - Dicutez de l\&amp;#039;actualité&amp;quot;,
        url: &amp;quot;https://pewtix.com/&amp;quot;,
        target: &amp;quot;_blank&amp;quot;,
        icon: &amp;quot;gg-twitter&amp;quot;
    },
    {
        name: &amp;quot;Pixel - Partagez vos photos&amp;quot;,
        url: &amp;quot;https://pixel.orion-hub.fr/&amp;quot;,
        target: &amp;quot;_blank&amp;quot;,
        icon: &amp;quot;gg-instagram&amp;quot;
    },
    { name: &amp;quot;separator&amp;quot; },
    {
        name: &amp;quot;Liberapay - Faire un Don&amp;quot;,
        url: &amp;quot;https://liberapay.com/bthommy/&amp;quot;,
        target: &amp;quot;_blank&amp;quot;,
        icon: &amp;quot;gg-coffee&amp;quot;
    }
]

// END EDIT -- DO NOT TOUCH AFTER

/**
 * Wait for the DOM to be loaded
 * Then, init the custom menu
 */
window.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, (event) =&amp;gt; {
    const wait__menuCustomInterval = setInterval(() =&amp;gt; {
        let firstLink = document.querySelectorAll(
            &amp;#039;.menu-block a[href=&amp;quot;/videos/overview&amp;quot;]&amp;#039;
        );
        if (firstLink.length &amp;gt; 0) {
            clearInterval(wait__menuCustomInterval);
            initCustomMenu(firstLink[0]);
        }
    }, 500);
});

/**
 * Init the custom menu
 * @param {HTMLElement} firstLink The first link of the menu
 * @returns {void}
 */
function initCustomMenu(linkTemplate) {
    //Parent node which contains &amp;#039;Videos&amp;#039; title and the 3 links (&amp;#039;Découvrir&amp;#039;, &amp;#039;Tendances&amp;#039;, &amp;#039;Récemment ajoutées&amp;#039;)
    const menuContainer = linkTemplate.parentNode;
    // Define head element
    const head = document.head;

    // Define and ADD custom CSS
    const customCSS = `
        hr {
          background-color: #ccc !important;
        }
        
        a.menu-link i {
          margin-right: 16px;
        }
    `;
    const style = document.createElement(&amp;quot;style&amp;quot;);
    style.type = &amp;quot;text/css&amp;quot;;
    style.appendChild(document.createTextNode(customCSS));
    head.appendChild(style);

    // Define separator
    const separator = document.createElement(&amp;quot;hr&amp;quot;);
    separator.setAttribute(&amp;quot;width&amp;quot;, &amp;quot;80%&amp;quot;);
    separator.setAttribute(&amp;quot;color&amp;quot;, &amp;quot;white&amp;quot;);
    separator.setAttribute(&amp;quot;background-color&amp;quot;, &amp;quot;white&amp;quot;);
    separator.setAttribute(&amp;quot;height&amp;quot;, &amp;quot;1px&amp;quot;);
    separator.setAttribute(&amp;quot;visible&amp;quot;, &amp;quot;true&amp;quot;);

    //Adding links
    MENU_LINKS.forEach((link) =&amp;gt; {
        if (link.name === &amp;quot;separator&amp;quot;) {
            // Adding separator
            menuContainer.appendChild(separator.cloneNode());
        } else {
            // Adding link

            // Manage icon (automatically import if start with gg-*** from https://css.gg)
            let icon = &amp;quot;&amp;quot;;
            if (link.icon.startsWith(&amp;quot;gg-&amp;quot;)) {
                icon = `&amp;lt;i class=&amp;quot;${link.icon}&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;`;
                const ggName = link.icon.replace(&amp;quot;gg-&amp;quot;, &amp;quot;&amp;quot;);

                // Inject css in the head
                const cssLink = document.createElement(&amp;quot;link&amp;quot;);
                cssLink.type = &amp;quot;text/css&amp;quot;;
                cssLink.rel = &amp;quot;stylesheet&amp;quot;;
                cssLink.href = `https://css.gg/${ggName}.css`;
                head.appendChild(cssLink);
            } else {
                icon = `&amp;lt;i class=&amp;quot;${link.icon}&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;`;
            }

            // Create link
            const linkNode = linkTemplate.cloneNode();
            linkNode.setAttribute(&amp;quot;href&amp;quot;, link.url);
            linkNode.setAttribute(&amp;quot;routerLink&amp;quot;, link.url);
            linkNode.setAttribute(&amp;quot;target&amp;quot;, (link.target || &amp;quot;_self&amp;quot;));
            linkNode.innerHTML = icon + &amp;quot; &amp;quot; + link.name;

            // Add link to the menu
            menuContainer.appendChild(linkNode);
        }
    });
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software:peertube</category>
            <pubDate>Fri, 29 Jul 2022 10:18:24 +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>Follower</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/follower?do=revisions&amp;rev=1575021520</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;follower&quot;&gt;Follower&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;vector offset = &amp;lt; -1, 0, 1&amp;gt;;  //1 meter behind and 1 meter above owner&amp;#039;s center.
 
default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, TRUE);
        // Little pause to allow server to make potentially large linked object physical.
        llSleep(0.1);
        // Look for owner within 20 metres in 360 degree arc every 1 seconds.
        llSensorRepeat(&amp;quot;&amp;quot;, llGetOwner(), AGENT, 20.0, PI,1.0);
    }
    sensor(integer total_number)
    {   // Owner detected...
        // Get position and rotation
        vector pos   = llDetectedPos(0);
        rotation rot = llDetectedRot(0);
        // Offset back one metre in X and up one metre in Z based on world coordinates.
        // use whatever offset you want.
        vector worldOffset = offset;
        // Offset relative to owner needs a quaternion.
        vector avOffset = offset * rot;
 
        pos += avOffset;       // use the one you want, world or relative to AV.
 
        llMoveToTarget(pos,0.4);     
    }
}&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>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>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>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>Tail Follower</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/tail_follower?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tail_follower&quot;&gt;Tail Follower&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Lässt Tiere und Neko dem Avatar hinterherfolgen.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;float x=30; 
float delay = 1; 
 
default 
{ 
    state_entry() 
    { 
        llSetTimerEvent(3 + llFrand(3)); 
    } 
    
    timer() 
    { 
    x=30; 
    llSetRot(&amp;lt;0,0,llSin(x/2*DEG_TO_RAD),llCos(x/2*DEG_TO_RAD)&amp;gt;);  
     
    delay=llFrand(1); 
    llSleep(delay);  
    x=llFrand(30); 
    llSetRot(&amp;lt;0,0,llSin(-x/2*DEG_TO_RAD),llCos(-x/2*DEG_TO_RAD)&amp;gt;); 
     
    delay=llFrand(1); 
    llSleep(delay); 
    llSetRot(&amp;lt;0,0,0,1&amp;gt;);        
        llSetTimerEvent(3 + llFrand(3)); 
    } 
}&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>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>Snow 2 (Schnee)</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/snow_2?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;snow_2_schnee&quot;&gt;Snow 2 (Schnee)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;Snow
{
	quota	30000
	material	Flare
	particle_width	0.3
	particle_height	0.3
	cull_each	true
	renderer	billboard
	sorted	true
	local_space	false
	iteration_interval	0
	nonvisible_update_timeout	0
	billboard_type	point
	billboard_origin	center
	billboard_rotation_type	texcoord
	common_up_vector	0 1 0
	point_rendering	false
	accurate_facing	false

	emitter Box
	{
		angle	0
		colour	1 1 1 1
		colour_range_start	1 1 1 1
		colour_range_end	1 1 1 1
		direction	0 -1 0
		emission_rate	1250
		position	0 5 0
		velocity	10
		velocity_min	10
		velocity_max	15
		time_to_live	20
		time_to_live_min	20
		time_to_live_max	20
		duration	0
		duration_min	0
		duration_max	0
		repeat_delay	0
		repeat_delay_min	0
		repeat_delay_max	0
		width	200
		height	200
		depth	1
	}

	affector DeflectorPlane
	{
		plane_point	0 0 0
		plane_normal	0 1 0
		bounce	0
	}

	affector DirectionRandomiser
	{
		randomness	7
		scope	1
		keep_velocity	true
	}
}&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>Manage Engine</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/manage_engine?do=revisions&amp;rev=1632751787</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;manage_engine&quot;&gt;Manage Engine&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/anleitungen/software/manage-engine.png?w=600&amp;amp;tok=282f26&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt; ManageEngine Desktop Central ist eine umfangreiche Desktop- und Mobile-Device-Management-Software. Die Unified-Endpoint-Management-Lösung ermöglicht die Fernwartung, Konfiguration und Verwaltung aller Arbeitsplatzrechner, Laptops und mobilen Endgeräte im Unternehmen – mit einer einzigen Software.
&lt;/p&gt;

&lt;p&gt;
Mit Desktop Central können Sie wiederkehrende Aufgaben beim Desktop Management wie die Installation von Patches, die Distribution neuer Software oder das Einrichten von Desktop-, Computer-, Benutzer- oder Energieeinstellungen einfach und schnell automatisieren. Die Software unterstützt Sie zudem bei der Verwaltung Ihrer IT-Assets und Software-Lizenzen und gibt Ihnen jederzeit einen Überblick über die aktuelle Software-Nutzung im Unternehmen. Des Weiteren lassen sich Abbilder von Betriebssystemen (Images) mit Desktop Central erstellen und auf weiteren Geräten ausrollen. Die Endpoint-Security-Erweiterung bietet Ihnen darüber hinaus einen ganzheitlichen Ansatz für die Sicherheit und Verwaltung aller verwalteten Endpunkte in Ihrem Netzwerk.
&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;Manage Engine&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;manage_engine&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1145&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;websites&quot;&gt;Websites&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; &lt;a href=&quot;http://www.manageengine.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.manageengine.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.manageengine.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.manageengine.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.manageengine.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.manageengine.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;Websites&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;websites&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1146-1217&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;manage_engine_-_desktop_central&quot;&gt;Manage Engine - Desktop Central&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; &lt;a href=&quot;http://www.manageengine.de/produkte-loesungen/desktop-mobile-devices/desktop-central.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.manageengine.de/produkte-loesungen/desktop-mobile-devices/desktop-central.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.manageengine.de/produkte-loesungen/desktop-mobile-devices/desktop-central.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;Manage Engine - Desktop Central&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;manage_engine_-_desktop_central&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1218-1350&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;installation_und_deinstallation_auf_android_devices&quot;&gt;Installation und Deinstallation auf Android Devices&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Software läuft als Geräteadministrator (veraltet) und lässt sich daher auf dem Gerät selbst nicht ohne weiteres deinstallieren. Um wieder Zugriff als Geräteadministrator zu bekommen muss das Android Device im abgesicherten Modus gestartet werden. Das ist je nach Gerät unterschiedlich. Im abgesicherten Modus ist es dann möglich einer unerwünschten App die Geräteadministratoren-Rechte zu entziehen.
&lt;/p&gt;

&lt;p&gt;
Ausserdem gibt es speziell für den Android Agent von Desktop Central eine Anleitung wie dieser zu entfernen ist wenn kein Zugang mehr zum Server besteht:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.manageengine.com/mobile-device-management/how-to/mdm-uninstall-android-agent.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/how-to/mdm-uninstall-android-agent.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/how-to/mdm-uninstall-android-agent.html&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;https://www.manageengine.com/mobile-device-management/help/enrollment/customize_me_mdm_app.html#Hiding_ME_MDM_App_on_device&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/help/enrollment/customize_me_mdm_app.html#Hiding_ME_MDM_App_on_device&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/help/enrollment/customize_me_mdm_app.html#Hiding_ME_MDM_App_on_device&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;https://www.manageengine.com/mobile-device-management/kb/mdm-unable-to-contact-android-device.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/kb/mdm-unable-to-contact-android-device.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/kb/mdm-unable-to-contact-android-device.html&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;https://www.manageengine.com/mobile-device-management/kb/mdm-android-enrollment-failed.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/kb/mdm-android-enrollment-failed.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/kb/mdm-android-enrollment-failed.html&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;https://www.manageengine.com/mobile-device-management/kb/mdm-gcm-registration-error.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/kb/mdm-gcm-registration-error.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/kb/mdm-gcm-registration-error.html&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;https://www.manageengine.com/mobile-device-management/kb/mdm-android-gcm-service-not-available.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.manageengine.com/mobile-device-management/kb/mdm-android-gcm-service-not-available.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.manageengine.com/mobile-device-management/kb/mdm-android-gcm-service-not-available.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;Installation und Deinstallation auf Android Devices&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_und_deinstallation_auf_android_devices&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1351-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Mon, 27 Sep 2021 16:09:47 +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>WMAN</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/begriffe/wman?do=revisions&amp;rev=1575021491</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;wman&quot;&gt;WMAN&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Wireless Metropolitan Area Network (WMAN) bezeichnet ein größeres regionales, drahtloses Netzwerk, das aus mehreren WLAN Access Points besteht und sich z.B. über einen oder mehrere Stadtteile, eine ganze Stadt oder eine Region erstrecken kann. Es ist größer als ein WLAN, da es nicht aus einem einzigen WLAN-Hotspot besteht, sondern ganze WLAN-Hotzones mit vielen Zugriffspunkten an verschiedenen Standorten bildet, die im Verbund (&lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/begriffe/essid&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:begriffe:essid&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:begriffe:essid&quot;&gt;essid&lt;/a&gt;) miteinander arbeiten um den daran angeschlossenen WLAN-Nutzern eine optimale drahtlose Netzanbindung zu ermöglichen.
&lt;/p&gt;

&lt;p&gt;
WMANs sind logistisch sehr ähnlich strukturiert wie die Mobilfunknetze zum telefonieren. Den oder die Betreiber eines WMAN nennt man „Wireless Internet Service Provider“ (&lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/wisp&quot; class=&quot;wikilink2&quot; title=&quot;wlan:wisp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:wisp&quot;&gt;wisp&lt;/a&gt;), vorausgesetzt diese bieten auch ein oder mehrere Internetgateways an. Viele solcher WMANs sind in den letzten Jahren weltweit entstanden, um den Bürgern einen schnellen Internetzugang anzubieten. Sie sind oft die einzige Alternative im Nordosten Deutschlands, wo bis heute vielfach wegen des verlegten Glasfaserkabels keine DSL-Angebote (wofür ein Kupferkabel nötig ist) verfügbar 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;WMAN&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wman&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1172&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;technik&quot;&gt;Technik&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Durch den drastischen Preisverfall der dazu benötigten Hardware in den letzten Jahren sind sie fast immer im Standard IEEE 802.11 realisiert. Ein anderer, speziell für derlei Anwendungen entwickelter Standard ist IEEE 802.16, bekannt als &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/begriffe/wimax&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:begriffe:wimax&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:begriffe:wimax&quot;&gt;wimax&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
In WMANs kommen häufig sogenannte Wireless Bridges mit Direktverbindung (Point-to-Point, &lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/ptp&quot; class=&quot;wikilink2&quot; title=&quot;wlan:ptp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:ptp&quot;&gt;ptp&lt;/a&gt;), oder Point-to-Multipoint (&lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/ptmp&quot; class=&quot;wikilink2&quot; title=&quot;wlan:ptmp&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:ptmp&quot;&gt;ptmp&lt;/a&gt;)-Verbindungen zum Einsatz, um die verschiedenen lokalen Netzwerke (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) per WLAN miteinander zu verbinden – quasi eine Funkstandleitung. Auch Netzwerktechniken wie &lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/vpn&quot; class=&quot;wikilink2&quot; title=&quot;wlan:vpn&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:vpn&quot;&gt;vpn&lt;/a&gt; und &lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/vlan&quot; class=&quot;wikilink2&quot; title=&quot;wlan:vlan&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:vlan&quot;&gt;vlan&lt;/a&gt; kommen in WMANs häufig zum Einsatz. In kürzerer Zeit werden verstärkt Access Points mit &lt;a href=&quot;http://itclive.spdns.de/wiki/wlan/wds&quot; class=&quot;wikilink2&quot; title=&quot;wlan:wds&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;wlan:wds&quot;&gt;wds&lt;/a&gt;-Technologie (Wireless Distribution System) eingesetzt, die dann zeitgleich als Access Point und als Wireless Bridge arbeiten können. Durch den Einsatz verschiedener drahtloser Netzwerktechnologien können WMANs mitunter höchst komplexe Eigenschaften und Strukturen 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;Technik&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;technik&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1173-2166&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;beispiele&quot;&gt;Beispiele&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Beispiel für ein WMAN ist das &lt;a href=&quot;http://itclive.spdns.de/wiki/projekte/wuermtal_wireless_network&quot; class=&quot;wikilink2&quot; title=&quot;projekte:wuermtal_wireless_network&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;projekte:wuermtal_wireless_network&quot;&gt;Würmtal Wireless Network&lt;/a&gt; in der Region Würmtal, am südwestlichen Stadtrand der bayrischen Landeshauptstadt München. Das Würmtal Wireless Network ist eines der ältesten drahtlosen Netzwerkinfrastrukturen in Deutschland und mit derzeit über 80 Netzknoten, verteilt in den drei Landkreisen München, Starnberg und Fürstenfeldbruck, auch eines der größten WMANs in Deutschland mit einer dezentral aufgebauten, autarken Netzwerkinfrastruktur nach dem Prinzip des Internets. Dennoch ist das Würmtal Wireless Network kein vermaschtes Netzwerk.
&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;Beispiele&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;beispiele&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2167-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:11 +0000</pubDate>
        </item>
        <item>
            <title>WDS</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/wds?do=revisions&amp;rev=1575021492</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;wds&quot;&gt;WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das „Wireless Distribution System“ (WDS) ermöglicht es die Funkausleuchtungszone eines &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/wlan&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:wlan&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:wlan&quot;&gt;WLAN&lt;/a&gt; &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/access_point&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:access_point&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:access_point&quot;&gt;Access Point&lt;/a&gt;s zu vergrössern, indem ein zweiter oder mehr WLAN Access Points in die Nachbarschaft gestellt werden die das Funksignal des ersten WLAN Access Points aufnehmen und nochmals abstrahlen bzw. wiederholen. Dabei müssen alle beteiligten WLAN Access Points den WDS-Modus unterstützen. Im Prinzip handelt es sich um einen &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/repeater&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:repeater&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:repeater&quot;&gt;Repeater&lt;/a&gt;, nur mit dem Unterschied daß ein im WDS-Modus laufender Access Point sich gegenüber Clients immer noch wie ein normaler Access Point verhält, er also quasi Repeater und Access Point gleichzeitig 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;WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-666&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;vorteile_von_wds&quot;&gt;Vorteile von WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein grosser Vorteil ist es mittels WDS auch Funkbrücken (Wireless &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/bridge&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:bridge&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:bridge&quot;&gt;Bridge&lt;/a&gt;) herstellen zu können, denn Geräte die am &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Anschluss eines im WDS-Betriebs laufenden Access Point angeschlossen sind, können über die Funkbrücke mit Geräten auf der anderen Seite kommunizieren. Dabei können die im WDS-Betrieb laufenden Geräte überall aufgestellt werden. Es ist lediglich eine Stromversorgung nötig. Sie können so zum Beispiel zwei oder mehr Häuser per WLAN miteinander verbinden. Dabei sind sowohl alle per WLAN, aber auch alle kabelbasierten (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) Geräte miteinander verbunden. Beachten Sie dazu aber auch die Nachteile von WDS.
&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;Vorteile von WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorteile_von_wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;667-1338&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;nachteile_von_wds&quot;&gt;Nachteile von WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die am &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Anschluss hängenden oder per WLAN verbundenen Geräte werden durch die Bandbreitenhalbierung „träger“, reagieren also nur noch langsamer als direkt am ersten WLAN Access Point angeschlossenen Geräte. Die zur Verfügung stehende Bandbreite und damit die Geschwindigkeit der Netzwerkverbindung wird halbiert und die PING-Raten werden größer.
&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;Nachteile von WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachteile_von_wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1339-1726&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;wds-authentifizierung&quot;&gt;WDS-Authentifizierung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Authentifizierung der einzelnen WDS-Geräte läuft über &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/mac&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:mac&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:mac&quot;&gt;MAC&lt;/a&gt;-Adressen und zusätzlich über den WEP- oder WPA-Zugangsschlüssel, die am ersten WLAN Access Point und jedes im WDS-Modus laufendene Gerät eingetragen werden. Wenn WDS mit Geräten von unterschiedlichen Herstellern verwendet wird, kann leider fast immer nur die ältere, als unsicher geltende WEP-Verschlüsselung eingesetzt werden. Nur Geräte des selben Herstellers ermöglichen beispielsweise auch sicherer Verschlüsselungen wie WPA. Sie sollten daher, wenn Sie planen den WDS-Modus einzusetzen, möglichst Geräte desselben Herstellers, besser noch diesselben Gerätetypen einkaufen.
&lt;/p&gt;

&lt;p&gt;
Single-Radio-WDS benutzt die WLAN-Schnittstelle sowohl für die Verbindung zum vorhergehenden und/oder nächsten Zugriffspunkt als auch für die Versorgung der &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/client&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:client&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:client&quot;&gt;Client&lt;/a&gt;s. Dabei wird für jeden zusätzlichen Zugriffspunkt die Datenübertragungsrate des Netzes halbiert, weil die Pakete doppelt übertragen werden müssen. Besser lässt es sich mit Dual-Radio-Zugriffspunkten realisieren. Ein Sender wird zur Anbindung des nächsten Zugriffspunktes verwendet, ein zweiter für die Clients.
&lt;/p&gt;

&lt;p&gt;
Im Optimalfall verwendet man Sender mit unterschiedlichen Standards (z.B. &lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11a&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11a&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11a&quot;&gt;802.11a&lt;/a&gt; und &lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11b&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11b&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11b&quot;&gt;802.11b&lt;/a&gt;/&lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11g&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11g&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11g&quot;&gt;802.11g&lt;/a&gt;). Die einzelnen Zugriffspunkte müssen so eingestellt sein, dass jeder dieselbe &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ssid&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:ssid&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:ssid&quot;&gt;SSID&lt;/a&gt;, denselben &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/funkkanal&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:funkkanal&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:funkkanal&quot;&gt;Funkkanal&lt;/a&gt; und denselben &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/netzwerkschluessel&quot; class=&quot;wikilink2&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:netzwerkschluessel&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:netzwerkschluessel&quot;&gt;Netzwerkschlüssel&lt;/a&gt; (WPA, WEP) verwendet.
&lt;/p&gt;

&lt;p&gt;
Es wird unterschieden zwischen dem Bridging-Modus (Direktverbindung, Point-to-Point, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ptp&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:ptp&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:ptp&quot;&gt;PtP&lt;/a&gt;), bei dem nur zwei WLAN-Bridges miteinander kommunizieren, ohne dass sich weitere Clients verbinden können, und dem Repeating-Modus, bei dem mehrere Zugriffspunkte untereinander über WDS verbunden sind und sich zusätzlich WLAN-Clients verbinden dürfen (Point-to-Multipoint, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ptmp&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:betriebsarten:ptmp&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:betriebsarten:ptmp&quot;&gt;PtMP&lt;/a&gt;). Im letzteren Modus kann somit das WLAN-Netz erweitert 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;WDS-Authentifizierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wds-authentifizierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1727-3691&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;auf_was_muss_man_beim_wds-betrieb_achten&quot;&gt;Auf was muß man beim WDS-Betrieb achten ?&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; Alle Geräte müssen sich im selben IP-Subnet befinden, also z.B. 192.168.1.x&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es darf nur 1 DHCP-Server im Netzwerk in Betrieb sein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte müssen den selben Funkkanal verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte müssen die selbe Verschlüsselungsart und den selben Schlüssel verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte sollten die selbe SSID (hier ESSID) verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bei allen Geräten müssen die MAC-Adressen der anderen Geräte in der Konfiguration eingetragen 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;Auf was mu\u00df man beim WDS-Betrieb achten ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auf_was_muss_man_beim_wds-betrieb_achten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3692-4207&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;haeufige_probleme&quot;&gt;Häufige Probleme&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; Prüfen Sie vorher ob sich die Geräte die per WDS verbunden werden sollen überhaupt per Funk empfangen können. Wenn der Empfang gar nicht vorhanden oder nur sehr schlecht funktioniert wird WDS auch nicht funktionieren. Die Funkausleuchtungszonen der einzelnen Geräte müssen sich also leicht überlappen. Die können Sie beispielsweise mit einem WLAN-Scanner wie Netstumbler überprüfen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Achten Sie darauf daß Ihre WDS-Verbindung verschlüsselt ist. Als Verschlüsselungsart ist meistens nur WEP möglich wenn Sie Geräte von unterschiedlichen Herstellern verwenden. Wenn Sie Geräte eines Herstellers nutzen, beispielsweise die bekannte FritzBox von AVM, dann sind auch sichere Verschlüsselungsarten wie WPA möglich. Wenn Sie den Einsatz der Betriebsart WDS planen, dann kaufen Sie am besten nur einen Gerätetyp eines Herstellers.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schalten Sie immer zuerst das erste WDS-Gerät (WDS-Master) ein, welches zumeist über das Internetgateway verfügt. Warten Sie bis das Gerät seine Startroutinen bzw. Selbsttest durchlaufen hat. Erst dann schalten Sie die am WDS-Master hängenden WDS-Clients ein. Wenn Sie vernünftig programmierte Geräte einsetzen wie z.B. die FritzBox von AVM, dann sehen Sie in der Konfiguration des Gerätes auch den momentanen Datendurchsatz, sowie die empfangene Feldstärke in Prozent % und können dann eventuell den Standort der einzelnen WDS-Clients ein wenig optimieren. Manchmal hilft es schon die Geräte nur leicht zu drehen oder ein paar cm zu verschieben um den Empfang zu verbessern.&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;H\u00e4ufige Probleme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;haeufige_probleme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4208-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:58:12 +0000</pubDate>
        </item>
        <item>
            <title>Standalone-Modus</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/standalone-modus?do=revisions&amp;rev=1575021530</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;standalone-modus&quot;&gt;Standalone-Modus&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der Standalone-Modus klingt erst einmal so als wenn dies ein isolierter OpenSIM-Server ist, was aber durch die Möglichkeit von Hypergrid nicht wirklich so ist. Mittels &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/hypergrid&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:konfiguration:hypergrid&quot; data-wiki-id=&quot;archiv:opensim:konfiguration:hypergrid&quot;&gt;Hypergrid&lt;/a&gt; ist ein OpenSIM-Server im Standalone-Modus alles andere als „alleine“, sondern in der Regel sehr gut mit anderen OpenSIM-Servern vernetzt, egal ob diese im &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/grid-modus&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:konfiguration:grid-modus&quot; data-wiki-id=&quot;archiv:opensim:konfiguration:grid-modus&quot;&gt;Grid-Modus&lt;/a&gt; oder auch im Standalone-Modus laufen.
&lt;/p&gt;

&lt;p&gt;
Der Standalone-Modus wird 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;“ mit folgendem Eintrag aktiviert:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gridmode = false&lt;/pre&gt;

&lt;p&gt;
Zusätzlich muss die Standalone-Konfiguration im Bereich „Standalone“ angepasst werden. Beispiel für eine Standalone-Konfiguration mit einer mySQL-Datenbank:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[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 &lt;/pre&gt;

&lt;/div&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>WMAN</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/abkuerzungen/wman?do=revisions&amp;rev=1576011870</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;wman&quot;&gt;WMAN&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Wireless Metropolitan Area Network (WMAN) bezeichnet ein größeres regionales, drahtloses Netzwerk, das aus mehreren WLAN Access Points besteht und sich z.B. über einen oder mehrere Stadtteile, eine ganze Stadt oder eine Region erstrecken kann. Es ist größer als ein WLAN, da es nicht aus einem einzigen WLAN-Hotspot besteht, sondern ganze WLAN-Hotzones mit vielen Zugriffspunkten an verschiedenen Standorten bildet, die im Verbund (ESSID) miteinander arbeiten um den daran angeschlossenen WLAN-Nutzern eine optimale drahtlose Netzanbindung zu ermöglichen.
&lt;/p&gt;

&lt;p&gt;
WMANs sind logistisch sehr ähnlich strukturiert wie die Mobilfunknetze zum telefonieren. Den oder die Betreiber eines WMAN nennt man „Wireless Internet Service Provider“ (WISP), vorausgesetzt diese bieten auch ein oder mehrere Internetgateways an. Viele solcher WMANs sind in den letzten Jahren weltweit entstanden, um den Bürgern einen schnellen Internetzugang anzubieten. Sie sind oft die einzige Alternative im Nordosten Deutschlands, wo bis heute vielfach wegen des verlegten Glasfaserkabels keine DSL-Angebote (wofür ein Kupferkabel nötig ist) verfügbar 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;WMAN&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wman&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1158&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;technik&quot;&gt;Technik&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Durch den drastischen Preisverfall der dazu benötigten Hardware in den letzten Jahren sind sie fast immer im Standard IEEE 802.11 realisiert. Ein anderer, speziell für derlei Anwendungen entwickelter Standard ist IEEE 802.16, bekannt als WiMAX.
&lt;/p&gt;

&lt;p&gt;
In WMANs kommen häufig sogenannte Wireless Bridges mit Direktverbindung (Point-to-Point, PtP), oder Point-to-Multipoint (PtMP)-Verbindungen zum Einsatz, um die verschiedenen lokalen Netzwerke (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) per WLAN miteinander zu verbinden – quasi eine Funkstandleitung. Auch Netzwerktechniken wie VPN und VLAN kommen in WMANs häufig zum Einsatz. In kürzerer Zeit werden verstärkt Access Points mit WDS-Technologie (Wireless Distribution System) eingesetzt, die dann zeitgleich als Access Point und als Wireless Bridge arbeiten können. Durch den Einsatz verschiedener drahtloser Netzwerktechnologien können WMANs mitunter höchst komplexe Eigenschaften und Strukturen 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;Technik&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;technik&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1159-2103&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;beispiele&quot;&gt;Beispiele&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein Beispiel für ein WMAN ist das Würmtal Wireless Network in der Region Würmtal, am südwestlichen Stadtrand der bayrischen Landeshauptstadt München. Das Würmtal Wireless Network ist eines der ältesten drahtlosen Netzwerkinfrastrukturen in Deutschland und mit derzeit über 80 Netzknoten, verteilt in den drei Landkreisen München, Starnberg und Fürstenfeldbruck, auch eines der größten WMANs in Deutschland mit einer dezentral aufgebauten, autarken Netzwerkinfrastruktur nach dem Prinzip des Internets. Dennoch ist das Würmtal Wireless Network kein vermaschtes Netzwerk.
&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;Beispiele&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;beispiele&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2104-2710&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;begriff_wman&quot;&gt;Begriff WMAN&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Abkürzung WMAN (Wireless Metropolitain Area Network) ist ein von &lt;a href=&quot;http://itclive.spdns.de/wiki/wiki/user/mike&quot; class=&quot;wikilink1&quot; title=&quot;wiki:user:mike&quot; data-wiki-id=&quot;wiki:user:mike&quot;&gt;Michael Strunck&lt;/a&gt; im Jahr 2005 geprägter, neuer Begriff der seit 2005 auch in der Wikipedia aufgenommen und damit international anerkannt wurde.
&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;Begriff WMAN&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;begriff_wman&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2711-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:abkuerzungen</category>
            <pubDate>Tue, 10 Dec 2019 22:04:30 +0000</pubDate>
        </item>
        <item>
            <title>WDS</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/wds?do=revisions&amp;rev=1575021550</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;wds&quot;&gt;WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das „Wireless Distribution System“ (WDS) ermöglicht es die Funkausleuchtungszone eines &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/wlan&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:wlan&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:wlan&quot;&gt;WLAN&lt;/a&gt; &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/access_point&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:access_point&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:access_point&quot;&gt;Access Point&lt;/a&gt;s zu vergrössern, indem ein zweiter oder mehr WLAN Access Points in die Nachbarschaft gestellt werden die das Funksignal des ersten WLAN Access Points aufnehmen und nochmals abstrahlen bzw. wiederholen. Dabei müssen alle beteiligten WLAN Access Points den WDS-Modus unterstützen. Im Prinzip handelt es sich um einen &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/repeater&quot; class=&quot;wikilink1&quot; title=&quot;archiv:wlan:betriebsarten:repeater&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:repeater&quot;&gt;Repeater&lt;/a&gt;, nur mit dem Unterschied daß ein im WDS-Modus laufender Access Point sich gegenüber Clients immer noch wie ein normaler Access Point verhält, er also quasi Repeater und Access Point gleichzeitig 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;WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-666&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;vorteile_von_wds&quot;&gt;Vorteile von WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Ein grosser Vorteil ist es mittels WDS auch Funkbrücken (Wireless &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/bridge&quot; class=&quot;wikilink1&quot; title=&quot;archiv:wlan:betriebsarten:bridge&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:bridge&quot;&gt;Bridge&lt;/a&gt;) herstellen zu können, denn Geräte die am &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Anschluss eines im WDS-Betriebs laufenden Access Point angeschlossen sind, können über die Funkbrücke mit Geräten auf der anderen Seite kommunizieren. Dabei können die im WDS-Betrieb laufenden Geräte überall aufgestellt werden. Es ist lediglich eine Stromversorgung nötig. Sie können so zum Beispiel zwei oder mehr Häuser per WLAN miteinander verbinden. Dabei sind sowohl alle per WLAN, aber auch alle kabelbasierten (&lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;) Geräte miteinander verbunden. Beachten Sie dazu aber auch die Nachteile von WDS.
&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;Vorteile von WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorteile_von_wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;667-1338&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;nachteile_von_wds&quot;&gt;Nachteile von WDS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die am &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;-Anschluss hängenden oder per WLAN verbundenen Geräte werden durch die Bandbreitenhalbierung „träger“, reagieren also nur noch langsamer als direkt am ersten WLAN Access Point angeschlossenen Geräte. Die zur Verfügung stehende Bandbreite und damit die Geschwindigkeit der Netzwerkverbindung wird halbiert und die PING-Raten werden größer.
&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;Nachteile von WDS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachteile_von_wds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1339-1726&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;wds-authentifizierung&quot;&gt;WDS-Authentifizierung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Authentifizierung der einzelnen WDS-Geräte läuft über &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/mac&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:mac&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:mac&quot;&gt;MAC&lt;/a&gt;-Adressen und zusätzlich über den WEP- oder WPA-Zugangsschlüssel, die am ersten WLAN Access Point und jedes im WDS-Modus laufendene Gerät eingetragen werden. Wenn WDS mit Geräten von unterschiedlichen Herstellern verwendet wird, kann leider fast immer nur die ältere, als unsicher geltende WEP-Verschlüsselung eingesetzt werden. Nur Geräte des selben Herstellers ermöglichen beispielsweise auch sicherer Verschlüsselungen wie WPA. Sie sollten daher, wenn Sie planen den WDS-Modus einzusetzen, möglichst Geräte desselben Herstellers, besser noch diesselben Gerätetypen einkaufen.
&lt;/p&gt;

&lt;p&gt;
Single-Radio-WDS benutzt die WLAN-Schnittstelle sowohl für die Verbindung zum vorhergehenden und/oder nächsten Zugriffspunkt als auch für die Versorgung der &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/client&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:client&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:client&quot;&gt;Client&lt;/a&gt;s. Dabei wird für jeden zusätzlichen Zugriffspunkt die Datenübertragungsrate des Netzes halbiert, weil die Pakete doppelt übertragen werden müssen. Besser lässt es sich mit Dual-Radio-Zugriffspunkten realisieren. Ein Sender wird zur Anbindung des nächsten Zugriffspunktes verwendet, ein zweiter für die Clients.
&lt;/p&gt;

&lt;p&gt;
Im Optimalfall verwendet man Sender mit unterschiedlichen Standards (z.B. &lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11a&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11a&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11a&quot;&gt;802.11a&lt;/a&gt; und &lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11b&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11b&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11b&quot;&gt;802.11b&lt;/a&gt;/&lt;a href=&quot;http://itclive.spdns.de/wiki/standards/ieee/802.11g&quot; class=&quot;wikilink2&quot; title=&quot;standards:ieee:802.11g&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;standards:ieee:802.11g&quot;&gt;802.11g&lt;/a&gt;). Die einzelnen Zugriffspunkte müssen so eingestellt sein, dass jeder dieselbe &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ssid&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:ssid&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:ssid&quot;&gt;SSID&lt;/a&gt;, denselben &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/funkkanal&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:funkkanal&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:funkkanal&quot;&gt;Funkkanal&lt;/a&gt; und denselben &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/netzwerkschluessel&quot; class=&quot;wikilink2&quot; title=&quot;archiv:wlan:betriebsarten:netzwerkschluessel&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:netzwerkschluessel&quot;&gt;Netzwerkschlüssel&lt;/a&gt; (WPA, WEP) verwendet.
&lt;/p&gt;

&lt;p&gt;
Es wird unterschieden zwischen dem Bridging-Modus (Direktverbindung, Point-to-Point, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ptp&quot; class=&quot;wikilink1&quot; title=&quot;archiv:wlan:betriebsarten:ptp&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:ptp&quot;&gt;PtP&lt;/a&gt;), bei dem nur zwei WLAN-Bridges miteinander kommunizieren, ohne dass sich weitere Clients verbinden können, und dem Repeating-Modus, bei dem mehrere Zugriffspunkte untereinander über WDS verbunden sind und sich zusätzlich WLAN-Clients verbinden dürfen (Point-to-Multipoint, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ptmp&quot; class=&quot;wikilink1&quot; title=&quot;archiv:wlan:betriebsarten:ptmp&quot; data-wiki-id=&quot;archiv:wlan:betriebsarten:ptmp&quot;&gt;PtMP&lt;/a&gt;). Im letzteren Modus kann somit das WLAN-Netz erweitert 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;WDS-Authentifizierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wds-authentifizierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1727-3691&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;auf_was_muss_man_beim_wds-betrieb_achten&quot;&gt;Auf was muß man beim WDS-Betrieb achten ?&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; Alle Geräte müssen sich im selben IP-Subnet befinden, also z.B. 192.168.1.x&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es darf nur 1 DHCP-Server im Netzwerk in Betrieb sein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte müssen den selben Funkkanal verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte müssen die selbe Verschlüsselungsart und den selben Schlüssel verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Geräte sollten die selbe SSID (hier ESSID) verwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bei allen Geräten müssen die MAC-Adressen der anderen Geräte in der Konfiguration eingetragen 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;Auf was mu\u00df man beim WDS-Betrieb achten ?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auf_was_muss_man_beim_wds-betrieb_achten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3692-4207&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;haeufige_probleme&quot;&gt;Häufige Probleme&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; Prüfen Sie vorher ob sich die Geräte die per WDS verbunden werden sollen überhaupt per Funk empfangen können. Wenn der Empfang gar nicht vorhanden oder nur sehr schlecht funktioniert wird WDS auch nicht funktionieren. Die Funkausleuchtungszonen der einzelnen Geräte müssen sich also leicht überlappen. Die können Sie beispielsweise mit einem WLAN-Scanner wie Netstumbler überprüfen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Achten Sie darauf daß Ihre WDS-Verbindung verschlüsselt ist. Als Verschlüsselungsart ist meistens nur WEP möglich wenn Sie Geräte von unterschiedlichen Herstellern verwenden. Wenn Sie Geräte eines Herstellers nutzen, beispielsweise die bekannte FritzBox von AVM, dann sind auch sichere Verschlüsselungsarten wie WPA möglich. Wenn Sie den Einsatz der Betriebsart WDS planen, dann kaufen Sie am besten nur einen Gerätetyp eines Herstellers.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schalten Sie immer zuerst das erste WDS-Gerät (WDS-Master) ein, welches zumeist über das Internetgateway verfügt. Warten Sie bis das Gerät seine Startroutinen bzw. Selbsttest durchlaufen hat. Erst dann schalten Sie die am WDS-Master hängenden WDS-Clients ein. Wenn Sie vernünftig programmierte Geräte einsetzen wie z.B. die FritzBox von AVM, dann sehen Sie in der Konfiguration des Gerätes auch den momentanen Datendurchsatz, sowie die empfangene Feldstärke in Prozent % und können dann eventuell den Standort der einzelnen WDS-Clients ein wenig optimieren. Manchmal hilft es schon die Geräte nur leicht zu drehen oder ein paar cm zu verschieben um den Empfang zu verbessern.&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;H\u00e4ufige Probleme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;haeufige_probleme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4208-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:59:10 +0000</pubDate>
        </item>
        <item>
            <title>Archivierte News 2009</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/archiv/news/2009?do=revisions&amp;rev=1575021511</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;archivierte_news_2009&quot;&gt;Archivierte News 2009&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;hr /&gt;

&lt;p&gt;
&lt;strong&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; Achtung ! Da die archivierten News von der ursprünglichen Quelle ins Archiv verschoben wurden, haben sich die Links im Text unter Umständen geändert.
Rot markierte Links sind nicht mehr gültig !&lt;/strong&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Archivierte News 2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;archivierte_news_2009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-255&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;section13122009&quot;&gt;13.12.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die überwiegenden Support-Anfragen betreffen momentan den Betrieb der OpenSimulator-Software auf Windows 64-bit Betriebssystemen. Zur Zeit kurz vor Weihnachten werden wieder sehr viele PC gekauft, davon eine grosse Zahl mit Windows 7 in der 64-bit Version. Wir können von 64-bit aber momentan nur abraten, denn es häufen sich Software-Kompatibilitätsprobleme, nicht nur mit dem OpenSimulator, sondern auch bei ganz anderer Software.
&lt;/p&gt;

&lt;p&gt;
Obwohl es eine spezielle Version OpenSim.32BitLaunch.exe gibt die man statt der OpenSim.exe auf 64-bit Betriebssystemen starten soll gibt es damit erhebliche Probleme und viele Fehlermeldungen. Die Entwickler schreiben auf der &lt;a href=&quot;http://opensimulator.org/wiki/Configuration&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Configuration&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator-Homepage&lt;/a&gt; selbst das die Software für 32-bit CPU´s programmiert wird und die Library auf 64-bit nicht kompatibel ist, es ergo zu sehr vielen Fehlern kommen kann.
&lt;/p&gt;

&lt;p&gt;
Da wir niemanden kennen der den OpenSimulator erfolgreich und fehlerfrei auf einem Windows 64-bit Betriebssystem zum laufen bekommen hat, empfehlen wir den OpenSimulator nur auf 32-bit Betriebssystemen zu installieren und zu betreiben. Unser User Mohami Blinker von Swiss SL hat einschlägige Erfahrungen mit dem Versuch den OpenSimulator unter 64-bit Windows zu betreiben und berichtet auf seiner User-Seite davon.
&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;13.12.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section13122009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;256-1584&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;section29112009&quot;&gt;29.11.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Unsere Sims sind wieder online.
&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;29.11.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section29112009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1585-1638&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;section23102009&quot;&gt;23.10.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Unsere Sims sind bis auf weiteres offline. Neue Benutzerregistrierungen werden nicht mehr angenommen. Das OpenSIM-Wiki bleibt als Wissensdatenbank aber bestehen.
&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;23.10.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section23102009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1639-1822&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;section24092009&quot;&gt;24.09.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir trauern um den heute verstorbenen User „Guli Deckel“ der auf der M34 Sim1 die Region Celina bebaut hat und selbst Sim-Owner war. Guli Du bist immer in unserem Herzen, werden Dich nie vergessen! Deine von Dir gebaute Region wird selbstverständlich so wie Du sie verlassen hast erhalten bleiben und ein Denkmal bekommen.
&lt;/p&gt;

&lt;p&gt;
In großer Trauer um Guli,
Mike, Sim-Owner / OpenSIM Betreiber
&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;24.09.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section24092009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1823-2232&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;section14092009&quot;&gt;14.09.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Domain wird zum Verkauf angeboten. Bei Interesse melden Sie sich bitte über die Kontaktmöglichkeiten.
&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;14.09.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section14092009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2233-2362&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;section11092009&quot;&gt;11.09.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Read-Timeout für die RSS-Newsfeeds („Planet OpenSIM“) war mit 10 Sekunden offensichtlich zu knapp bemessen, sodaß wegen der trägen Antwortzeit mancher externer Server von anderen Anbietern die Feed-Seite nur noch weiss und ohne Inhalt blieb. Wir haben das Timeout nun auf 30 Sekunden erhöht, womit das Problem gelöst 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;11.09.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section11092009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2363-2715&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;section03092009&quot;&gt;03.09.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zwar entstehen fast täglich neue OpenSIM-Server, jedoch beobachten wir auch die Entwicklung von offline gegangenen OpenSIM-Servern. In den letzten 6 Monaten sind nach unserem Kenntnisstand insgesamt 4 deutschsprachige und 13 englischsprachige OpenSIM-Grids wieder vom Netz gegangen. Leider sind von den wenigsten Betreibern die Gründe zu erfahren, aber mutmaßlich wird es an den meist überzogenen Erwartungen, Besucherschwund und mangelnder Zeit gelegen haben.
&lt;/p&gt;

&lt;p&gt;
Wer nicht mit sehr viel Idealismus, Spaß an virtuellen Welten insgesamt, hartnäckigem debuggen von Software im Alpha-Stadium und einer großen Portion freier Zeit an die Sache herangeht, kann auch nach anfänglicher Euphorie von OpenSIM enttäuscht werden. Wenn zusätzlich auch noch Kosten in nicht unerheblichen Umfang anfallen, werden dann eben solche Projekte schnell wieder eingestampft. Das hängt nicht zwingend mit OpenSIM zusammen, sondern betrifft auch ganz anderen Software-Projekte. Als langzeiterprobte Tipps können wir da immer nur folgende Ratschläge geben die sich als goldene Regeln erwiesen haben:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; möglichst kostengünstiger Server-Betrieb (Eigenhosting kommt auf Dauer wesentlich billiger)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; updaten nur wenn es unbedingt sein muß und der Server nicht mehr stabil und sicher läuft&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; regelmäßig für das eigene Projekt werben, sonst gibt es Besucherschwund&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; regelmäßig Backups machen, am besten vollautomatisch damit man es nicht vergisst&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; für einen regelmäßigen, stabilen Betrieb sorgen der dauerhaft erreichbar ist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; möglichst kostenfreie Dienste den Besuchern anbieten&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;03.09.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section03092009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2716-4325&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;section25082009&quot;&gt;25.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Registrierungen bzw. Anmeldungen zur Sim M34 und zum OpenSIM-Wiki sind wieder möglich. Wir haben die Benutzerdatenbank gründlich aufgeräumt und dabei auch andere Kleinigkeiten direkt über die mySQL-Datenbank erledigt, die sich weder über die OpenSIM-Konfigurationsdateien noch Inworld erledigen lassen. So sind zum Beispiel jetzt auch Parzellenbesitzer genauso wie Regionenbesitzer in der Lage individuelle Einstellungen an ihrer Parzelle vorzunehmen. Einen herzlichen Dank für den Tipp geht an den User „Ronny Baldour“.
&lt;/p&gt;

&lt;p&gt;
Ausserdem wurde der OpenSIM-Chat geändert. Das Java-Applet ist einem webbasierten &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Zugang gewichen der ohne Java auskommt und damit schneller geladen 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;25.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section25082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4326-5035&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;section17082009&quot;&gt;17.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Birnenland ist seit gestern über die Worldmap per Hypergrid-Teleport erreichbar. Der Betreiber „Ronny Baldour“ freut sich über neue Besucher!
&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;17.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section17082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5036-5201&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;section16082009&quot;&gt;16.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Benutzer Registrierungen/Anmeldungen&lt;/strong&gt;
Wir überarbeiten gerade die beiden Benutzerdatenbanken des OpenSIM-Wikis und vom OpenSimulator-Server. Bei nun etwas über 1350 registrierten Benutzern ist ein ausmisten von „Karteileichen“ dringend nötig gewesen. Inaktive Accounts werden nach 6 Monaten gelöscht. Deren Inhaber werden aber zuvor per E-Mail angeschrieben.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Wiki-Update&lt;/strong&gt;
Gestern wurde das OpenSIM-Wiki auf die neueste Version (DokuWiki) geupdated und bietet nun zahlreiche neue Funktionen an. Die DokuWiki-Plugings müssen allerdings noch überprüft werden ob diese auch mit der neuen Version noch einwandfrei zusammenarbeiten. Erste Probleme haben wir beim CAPTCHA-Plugin festgestellt. Bei der neuen Wiki-Version kann man nun z.B. Artikel und Kommentare abonnieren, d.h. man bekommt automatisch eine E-Mail zugesandt wenn jemand auf einen Kommentar geantwortet hat, oder wenn sich ein Artikel für den man sich besonders interessiert aktualisiert wird. Ausserdem ist der neue Menüpunkt „wiki“ (DokuWiki-Namensraum) hinzugekommen der ausschliesslich Wiki-interne News und Funktionen beinhaltet. Auf diesen Namensraum haben unter Umständen nicht alle Benutzer Zugriff.
&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;16.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section16082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5202-6406&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;section08082009&quot;&gt;08.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die bei vielen internen und externen OpenSIM-Benutzern beliebte M34-Sim2 mit den vielen Freebies ist momentan nicht online da noch Hardware-Ersatz gesucht wird. Die Sims sollen auf stromsparenden Mini-PCs laufen damit die Betriebskosten niedrig bleiben und wir die Sims weiterhin jedermann/-frau kostenfrei anbieten können. Den optimalen Kompromiss aus schlank und schnell zu finden ist hardwaretechnisch nicht ganz so einfach und erfordert auch bei der softwareseitigen Konfiguration viel Fingerspitzengefühl.
&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;08.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section08082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6407-6941&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;section07082009&quot;&gt;07.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;OpenSimulator 0.6.6&lt;/strong&gt;
Nachdem wir die neue Konfiguration einige Tage beobachtet haben kann man sagen daß der OpenSimulator in der Version 0.6.6 mit Mono 2.4 auf einem Linux Ubuntu 9.04 Server stabil läuft und weniger Speicher (RAM) verbraucht als ein OpenSimulator 0.6.4 mit Mono 2.01.
Etwas erstaunt waren wir allerdings bei den angebotenen Downloadpaketen der Entwickler: obwohl wir ganz sicher eine Version 0.6.6 gedownloadet und installiert haben, meldet sich der OpenSimulator auf der Serverkonsole bei einer Versionsabfrage („show version“) mit einer älteren Version, nämlich mit „OpenSim 0.6.5 (Dev), interface version 4“.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Archiv&lt;/strong&gt;
Die News von 2009 bis Juni wurden bereits ins Archiv verschoben, da sonst die Ladezeit dieser Seite immer länger werden würde.
&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;07.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section07082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;6942-7740&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;section03082009&quot;&gt;03.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im Moment gibt es noch Probleme mit dem neuen OpenSimulator 0.6.6 der sich immer wieder mit einem Ausnahmefehler aufhängt. Da sich zur vorher benutzten Version 0.6.4 einiges an der Software geändert hat und zusätzliche Funktionen hinzugekommen sind, sind wir nun auf der Fehlersuche was die Ursache sein könnte. Aus dem Logfile wird man leider nicht schlau, denn entweder friert der Serverprozess ohne vorherigem Schreiben einer Fehlermeldung im Logfile einfach ein, oder der Serverprozess stürzt ab und schreibt im Logfile
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at System.Timers.Timer.StartTimer () [0x00000] 

Application is terminating: True&lt;/pre&gt;

&lt;p&gt;
Zusätzlich läuft auf dem benutzten Ubuntu-Server in Version 9.04 leider immer noch das längst veraltete Mono 2.01 und es gibt von Ubuntu immer noch kein Update auf die aktuelle Mono-Version 2.4 . Wie ich gelesen habe ergeht es anderen OpenSimulator-Betreibern genauso wo der Fehler stets auf Linux-Server und Mono auftaucht. Es wird empfohlen Mono zu aktualisieren um das Problem zu lösen. Der OpenSimulator 0.6.4 lief noch einwandfrei mit Mono 2.01, beim OpenSimulator 0.6.6 scheint das nicht mehr der Fall zu sein. Da es für Linux Ubuntu derzeit kein aktuelleres Mono als 2.0.1 gibt kann ich nur wieder downgraden und davor waren auf den OpenSimulator 0.6.6 zu aktualisieren wenn ein Linux Ubuntu verwendet wird.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt;
Wer viel Zeit hat kann sich Mono 2.4 auf Ubuntu 9.0.4 von den Quellen selber kompilieren. Da mir ein Downgrade vom OpenSimulator 0.6.6 auf 0.6.4 suboptimal erschien, hab ich mir für ein Upgrade von Mono entschieden, was durch das kompilieren 45 Minuten gedauert hat. Jetzt ist Mono 2.4 drauf und wir beobachten nun wie stabil oder instabil der OpenSimulator nun läuft.
&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;03.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section03082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;7741-9658&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;section02082009&quot;&gt;02.08.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Update auf den OpenSimulator in der Version 0.6.6
&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;02.08.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section02082009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;9659-9730&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;section10062009&quot;&gt;10.06.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine neue, grafische Anzeige zeigt nun in einem Blick die gesamte, aktuelle Netzwerkauslastung aller Sims. Damit kann man eine Selbsteinschätzung der aktuellen Lage der 3D-Simulatoren (Sims) bei eventuellen (Netzwerk-)Lags treffen, ob das Problem eher an der eigenen Internetanbindung, oder an der Internetanbindung bzw. Server-Auslastung der Sims liegt. Die Anzeige gilt für alle 4 Sims zusammen und zählt sowohl eigene, registrierte OpenSIM-User, als auch fremde Besucher bzw. Avatare die per Hypergrid-Link auf unsere Sims gekommen 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;10.06.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section10062009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;9731-10296&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;section01062009&quot;&gt;01.06.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Lesen und verstehen scheint leider keine besondere Eigenschaft von vielen OpenSIM-Nutzern zu sein, denn rund 30% der Leute die sich bei OpenSIM als neuer Avatar registrieren möchten fallen durch die Prüfung. Obwohl direkt bei den Eingabefeldern steht was man beachten muss, geben die Leute fehlerhafte Daten ein mit zum Beispiel zu kurzen oder zu langen Namen (häufigster Fehler: Namen mit drei Buchstaben), schicken die Registrierung mehrfach ab, oder geben falsche E-Mail Adressen ein. In allen Fällen wird die Registrierung von uns kommentarlos storniert. Wer lesen kann ist klar im Vorteil!
&lt;/p&gt;

&lt;p&gt;
Momentan ist es auf Sim1 noch so dass eine ziemliche Platzverschwendung seitens der Region-Owner stattfindet. Obwohl immer beteuert wird man wolle die gesamte Region bebauen stehen aber grosse Teile der bebaubaren Flächen leer, was recht unfair gegenüber den anderen Usern ist die auch Land bebauen möchten und keines bekommen können weil schon alles vergeben ist. Wir werden daher zukünftig in der Regel keine kompletten Regionen mehr vergeben, sondern nur noch Parzellen, also einen abgegrenzten Bereich einer Region, der üblicherweise ein Viertel einer Region gross ist, etwa 128&amp;times;128 m. Auf der Region „Brentwood“ kann die neue Aufteilung in Parzellen schon angesehen werden. Die übrigen Regionen werden jetzt in Absprache mit den bisherigen Region-Owner ebenfalls aufgeteilt wenn die Bebauung dies zulässt.
&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;01.06.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section01062009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;10297-11737&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;section12052009&quot;&gt;12.05.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Schallmauer durchbrochen: heute hat sich der 1000.ste OpenSIM-User registriert ! Die eintausenste OpenSIM-Registration kommt von einer Frau, die damit auch den überdurchschnittlich hohen Anteil weiblicher OpenSIM-Nutzerinnen weiter ausbaut. Es haben sich in den letzten Tagen ausserdem weitere Firmen bei uns gemeldet die OpenSIM kommerziell einsetzen wollen, wo es darum ging die vorhandenen Estates in Second Life aufzulösen und nach OpenSIM zu portieren. Für diese Aufgabe sind wir als Talentscout in den virtuellen Welten von OpenSIM unterwegs um geeignete Builder-Teams zusammenzustellen.
&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;12.05.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section12052009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;11738-12356&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;section06052009&quot;&gt;06.05.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
OpenSIM ist heute dem Hypergrid Projekt beigetreten, daß für die Verbreitung und konsequenten Anwendung der Hypergrid-Technik in virtuellen 3D-Welten eintritt, denn die Hypergrid-Technologie ist eines der wesentlichsten, wichtigsten Merkmale von 3D-Simulatoren die sich dadurch erst zu einem grossen Netzwerk miteinander verbinden können, egal ob diese im Grid-Betrieb, oder als Standalone laufen, vergleichbar wie ein normaler Hyperlink (Link) im WWW.
&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;06.05.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section06052009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;12357-12835&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;section05052009&quot;&gt;05.05.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Andreas Kinkel, neues Teammitglied auf OpenSIM, hat seinen ersten Artikel bzw. eine &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt; verfasst die sich mit der Aktivierung von Sprachübertragung (Voice) in OpenSIM beschäftigt. Er schreibt in seinem Artikel wie man FreeSwitch auf einem Linux-Suse Rechner installiert. Zusätzlich hat Mike, Sim-Owner von M34, eine Installationsanleitung für FreeSwitch unter Linux Ubuntu geschrieben. Mit aktuellen 3D-Viewern ab Version 1.22 ist nun Voice in OpenSIM verfügbar !
&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;05.05.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section05052009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;12836-13327&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;section02052009&quot;&gt;02.05.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Auf Sim 1, Region „Culver City“ entstand heute über einen OAR-Import eine mexikanische Maya-Stadt mit zwei grossen Gebäuden mit Innenhof, einer grossen Pyramide und aufgestellten erklärenden Tafeln. Die importierte Datei entstammt der neuen Website „Rexxed“ die virtuelle Güter anbietet (komplette Avatare, Terrains und OpenSIM Archive). Mehr dazu im Download-Bereich.
&lt;/p&gt;

&lt;p&gt;
Ausserdem begrüssen wir den User „Andreas_kinkel“, den Betreiber von Next Reality, im OpenSIM Team. Andreas betreibt selbst OpenSIM-Server und wird mit seinem Know-how zu OpenSIM beitragen.
&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;02.05.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section02052009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;13328-13914&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;section30042009&quot;&gt;30.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Aktualisierung der Linux-Server von Ubuntu 8.10 auf 9.04 abgeschlossen.
&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;30.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section30042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;13915-14008&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;section22042009&quot;&gt;22.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Internetanbindung der Sims 1-4 wurde von 200 MBit auf eine dediziertes Fast Path Gateway mit 500 MBit erhöht. Sim 2 wächst beständig und hält momentan eine sehr große Auswahl von Freebies von allen möglichen Anbietern frei zum kopieren bereit. In der ebenfalls auf Sim 2 vorhandenen Sandbox kann man seine neue Errungenschaften auch gleich ausprobieren.
&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;22.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section22042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;14009-14394&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit24&quot; id=&quot;section17042009&quot;&gt;17.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wegen ständiger Angriffe auf unseren Webserver 1 (nicht der OpenSIM-Server, der aber im selben Netzwerk steht) von IP-Adressen des Internetproviders Kabel-BW haben wir vorläufig sämtliche IP-Ranges dieses ISP in unserer Blacklist (RTBL) gesperrt. Kunden dieses ISP die Probleme beim Zugriff auf verschiedene Internetangebote haben sollten sich direkt bei Kabel-BW beschweren, denn leider reagiert Kabel-BW auf keine Abuse-Meldungen wonach einige seiner Kunden den Internetzugang mißbräuchlich oder sogar kriminell verwenden. Mehr Informationen dazu gibt es auf der Homepage des M34-Netzwerks.
&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;17.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section17042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:24,&amp;quot;range&amp;quot;:&amp;quot;14395-15014&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit25&quot; id=&quot;section13042009&quot;&gt;13.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Update des ersten OpenSIM-Servers (M34-Sim1) auf die neueste OpenSIM Version 0.6.4 (Trunk) die deutlich schneller als die Vorgängerversion geworden ist (Texturen werden 2-3 mal schneller geladen) und wesentlich weniger Speicher (RAM) verbraucht. Nach den ersten Tests bei uns die mit Abstand beste OpenSIM-Version die spürbar und sichtbar bessere Ergebnisse für eingeloggte Avatare bringt.
&lt;strong&gt;Update:&lt;/strong&gt; Nun sind Sim 1-4 auf die neue Version 0.6.4 umgestellt.
&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;13.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section13042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:25,&amp;quot;range&amp;quot;:&amp;quot;15015-15497&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit26&quot; id=&quot;section08042009&quot;&gt;08.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Leider tummeln sich immer mehr unseriöse Betreiber von OpenSIM-Servern im Internet, die versuchen aus der kostenlos erhältlichen Software von unbedarften Nutzern Geld zu verlangen. Wir sind nun von mehreren OpenSIM-Benutzern gebeten worden auf unseriöse Betreiber von OpenSIM-Servern hinzuweisen, wo teilweise abenteuerliche Preise für Leistungen verlangt werden die woanders kostenlos zu haben sind, oder wo sich die Betreiber hinter ungültigen Adressen verstecken oder diese erst gar nicht angeben und andere dubiose Praktiken. Wir raten stets zur Vorsicht, bitten aber um Verständnis wenn wir weder Rechtsberatung geben können, noch pauschal Anbieter namentlich nennen können die negativ aufgefallen sind. Wir wissen allerdings von einem Fall eines uns bekannten OpenSIM-Nutzers der eine Strafanzeige wegen gewerbsmässigen Betrugs bei der Polizei gegen einen OpenSIM-Betreiber gestellt 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;08.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section08042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:26,&amp;quot;range&amp;quot;:&amp;quot;15498-16422&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit27&quot; id=&quot;section06042009&quot;&gt;06.04.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Neue Region-Ownerin von „Beverly High“ ist nun Jill Harsley, die Region-Owner Tobias Wiesel ablöst der auf seiner eigenen Sim werkelt. Jill hat, wie die meisten, über Second Life zu OpenSIM gefunden. Bei der Gelegenheit - weil immer wieder danach gefragt wird - der Hinweis das sich die Sandbox auf Sim2 befindet, auf der sich auch eine große Menge frei verfügbarer Freebies zum Kopieren befinden.
&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;06.04.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section06042009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:27,&amp;quot;range&amp;quot;:&amp;quot;16423-16846&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit28&quot; id=&quot;section25032009&quot;&gt;25.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Mini-Sim ist nun testweise in Betrieb und als Sim3 via Hypergrid von Sim2 aus zu erreichen. Sim3 ist ein weiterer Standalone OpenSIM-Server und läuft auf einem äusserst stromsparenden Mini-PC mit nur 1 Region die derzeit aber nur als Ablageplatz dient. Sim3 läuft mit OSGrid-kompatiblen Koordinaten von 11000,11000 und ist wegen des 4096 Koordinatenabstand-Problems nicht direkt von Sim1 aus erreichbar.
&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;25.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section25032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:28,&amp;quot;range&amp;quot;:&amp;quot;16847-17279&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit29&quot; id=&quot;section24032009&quot;&gt;24.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Details der Webstatus-Abfrage wurde vorerst einmal entfernt, da es offenbar damit Probleme auf der Sim 1 gab. Weiterhin verfügbar ist bei der Anzeige des Sim-Status aber ob und welcher Server mit welcher Sim gerade online 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;24.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section24032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:29,&amp;quot;range&amp;quot;:&amp;quot;17280-17533&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit30&quot; id=&quot;section23032009&quot;&gt;23.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Avatar „jarry_skytower“ hat heute die Region „Battery Park“ auf der Sim1 von der Region-Ownerin „angi_messmer2“ von uns übertragen bekommen, da die Avatarin die Region lange Zeit ungenutzt zurückgelassen hatte. Als wir die Region-Ownerin per E-Mail anschrieben ob sie ihre Region überhaupt noch nutzt, wollte diese sich sogar gar nicht mehr daran erinnern können daß sie jemals eine eigene Region hatte - und das obwohl sie die gesamte Region per Terraforming umgestellt hatte und ein Haus darauf baute. Leute gibts …
&lt;/p&gt;

&lt;p&gt;
Diese negativen Erfahrungen mit Avataren den man kostenlos eine gesamte Region zum bebauen anbietet und diese dann verwaisen lassen werden wir sicherlich in zukünftige Übertragungen von Regionen mit berücksichtigen. Da wir die Sim1 ohnehin schon aus Gründen der Performance um einige Regionen kleiner machen mussten und nicht mehr allzuviel Platz darauf ist, vergeben wir nun freie Regionen nur noch an Avatare die schon einige Zeit registriert und aktiv sind und auch gezeigt haben daß sie wirklich das kostenlos zur Verfügung gestellte Land nutzen wollen. Neue Regionen werden ausserdem nur noch auf Sim2 bis Sim4 eingerichtet.
&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;23.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section23032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:30,&amp;quot;range&amp;quot;:&amp;quot;17534-18721&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit31&quot; id=&quot;section20032009&quot;&gt;20.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der neue Hippo OpenSIM Viewer 0.5.0 ist heute erschienen.
&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;20.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section20032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:31,&amp;quot;range&amp;quot;:&amp;quot;18722-18801&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit32&quot; id=&quot;section18032009&quot;&gt;18.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mini-Sim zum ausprobieren: Wir werden in Kürze die von uns vorgestellte Mini-Sim mit 1 Region online stellen und damit jedem Interessenten zum ausprobieren zur Verfügung stellen, sodaß sich jeder selbst ein Bild machen kann was technisch möglich 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;18.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section18032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:32,&amp;quot;range&amp;quot;:&amp;quot;18802-19078&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit33&quot; id=&quot;section13032009&quot;&gt;13.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Neu integriert in das OpenSIM-Wiki ist eine Umfrage-Seite die aktuell die Frage stellt ob wir weiterhin OpenSIM-Standalone-Server im Hypergrid-Modus betreiben, oder uns mit einer oder mehreren Sims an ein Grid anschliessen sollen. Die jeweiligen Vorteile und Nachteile können diskutiert 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;13.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section13032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:33,&amp;quot;range&amp;quot;:&amp;quot;19079-19396&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit34&quot; id=&quot;section11032009&quot;&gt;11.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute ist wieder ein IT-Unternehmen an uns herangetreten um das OpenSIM-Projekt zu fördern. Diesmal ist aber im Gegensatz zu den üblichen Business-Konzepten anderer Firmen ein tatsächlich nützliches Angebot dabei entstanden die Open Source Software OpenSimulator („OpenSIM“) durch das Aufstellen weiterer OpenSIM-Server in verschiedenen Rechenzentren (ganz so wie wir uns ein redundantes Grid an VR-Servern vorstellen) zu fördern, indem genug Kapazitäten zur Verfügung gestellt werden um grösseren Benutzergruppen kostenfrei die Möglichkeit zu geben OpenSIM ausgiebig testen zu können, alternativ zu anderen Anbietern die OpenSIM kommerzialisieren und für alles Geld verlangen. OpenSIM sollte eine echte Alternative und Verbesserung zu Second Life darstellen und die Entwicklung offener 3D-Internetinfrastrukturen ermöglichen, wozu wir beitragen wollen.
&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;11.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section11032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:34,&amp;quot;range&amp;quot;:&amp;quot;19397-20284&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit35&quot; id=&quot;section06032009&quot;&gt;06.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im Moment läuft die Sim1 recht stabil und Abstürze sind nur noch selten. Offenbar haben wir nun eine ausgewogene Balance zwischen Hard- und Software gefunden. Erweiterungen im Sinne weiterer Regionen werden sich dann vorraussichtlich nur noch auf weiterens Sims abspielen. Dazu wurde gestern bereits die 2.te Sim für den Dauerbetrieb aktiviert. Die Sim2 wurde sogleich von einigen Avataren bestürmt, obwohl es sich nur um zwei flache, fast unbebaute Regionen handelt. Mehr als mehr Platz wird im Moment da nicht angeboten.
&lt;/p&gt;

&lt;p&gt;
Obwohl OpenSIM mit den Sim-Servern ein nonkommerzielles Projekt ist, ging auch gestern wieder ein konkret kommerzielles Angebot eines grösseren deutschen Unternehmens ein die Wiki-Plattform OpenSIM, das Wissen um die Software und die Technologie zu vermarkten. Ich halte das aber für die Software und die Community als eher schädlich und der Entwicklung der virtuellen Welten als freie 3D-Plattform als nicht zuträglich und lehne solche Anfragen generell ab. Bei mittlerweile über 600 registrierten, fast durchgehend deutschsprachigen OpenSIM-Benutzern und einem täglich immer grösser werdenden, festen OpenSIM-Nutzerstamm die ständig eingeloggt sind wird einem täglich bewusst wie hoch die Ansprüche, wie hoch das Interesse und wie gross der Markt virtueller Netzwerke ist, den auch immer mehr Firmen für sich nutzen möchten.
&lt;/p&gt;

&lt;p&gt;
OpenSIM vereint mittlerweile mit ziemlicher Sicherheit die grösste deutschsprachige OpenSIM-Community mit täglichem Wachstum, die durch seine Dynamik am ansonsten eher schwächelnden Finanzmarkt für kommerzielle Unternehmen natürlich attraktiv erscheint. Man muß aber fast jedem Unternehmer immer erst einmal gebetsmühlenartig erklären das OpenSIM noch weit in den Anfängen liegt und es für Business-Konzepte arg verfrüht ist. Wer diese interessante Open Source Server-Software für virtuelle 3D-Welten wirklich fördern will der sollte am besten die Weiterentwicklung der Software forcieren und das Geld lieber in qualifizierte Programmierer mit Know-how und Verstand investieren als haufenweise Geld in verfrühte Marketingkampagnen zu stecken. Liebe Investoren es gibt sehr viele höchst interessante Projekte die ihr fördern könnt, OpenSIM ist mit hoher Sicherheit so eines mit einem hohen Potential zukunftsweisender Internettechnologie, aber man muß bares auch an der richtigen Stelle einsetzen, und das ist im Moment immer noch die Entwicklung der Software, denn wir befinden uns immer noch in tiefster Alpha-Phase. Die Software als Basis in stabile Bahnen zu bringen und die anstehenden Fragen und Teilaufgaben lösen, die noch zu erfüllen sind, muß erste Priorität sein. Es gibt viel zu tun, packt mit 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;06.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section06032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:35,&amp;quot;range&amp;quot;:&amp;quot;20285-23005&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit36&quot; id=&quot;section05032009&quot;&gt;05.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die M34 Sim2 ist heute dazugekommen und kann von der Sim1 per Hypergrid-Teleport erreicht werden. Die Sim2 läuft auf einer Windows-Box (Windows 7) und dient vornehmlich als „Vergleichs-Sim“ zur Fehlereingrenzung zwischen Linux und Windows. Weiterhin hab ich heute einem Kunden OpenSIM gezeigt und er war so von der Möglichkeit begeistert virtuelle Objekte erstellen zu können die man begehen kann daß er nun überlegt ob er dies in sein Portfolio mit einbaut. Die Umsetzung soll unsere Firma machen. Von einem schweizerischen OpenSIM-User hörte ich daß OpenSIM zukünftig dazu verwendet werden soll ein virtuelles Hotel zu bauen indem Personen angelernt werden sollen um sie später in einen definierten Arbeitsprozess zu integrieren. Mehr dazu später.
&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;05.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section05032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:36,&amp;quot;range&amp;quot;:&amp;quot;23006-23787&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit37&quot; id=&quot;section02032009&quot;&gt;02.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Alle registrierten OpenSIM-User haben ab sofort die Möglichkeit persönliche Benutzerseiten in diesem OpenSIM-Wiki im Bereich „User“ anzulegen. Zum Login werden diesselben Zugangsdaten (nur OpenSIM-Vorname und OpenSIM-Passwort, OpenSIM-Nachname entfällt) verwendet wie zum Login in die Sim. Wer also gerne persönliches auf eigenen Webseiten veröffentlichen möchte, oder einfach nur Infos oder Termine über eventuelle Inworld-Veranstaltungen auf seiner Sim oder Region, kann dies ab sofort tun. Vorher aber bitte bei uns über den Support melden, denn die Zugangsdaten werden nicht automatisch mit jeder OpenSIM-Registrierung auch im OpenSIM-Wiki übernommen, sondern müssen erst von uns manuell angelegt 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;02.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section02032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:37,&amp;quot;range&amp;quot;:&amp;quot;23788-24528&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit38&quot; id=&quot;section01032009&quot;&gt;01.03.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die auf der Sim 1 aktuell eingesetzte OpenSIM-Version ist 0.6.3.8646 (Interface Version 3) die gestern Abend einen ersten Belastungstest mit mehreren Avataren hatte. Bisher läuft die Sim 1 allerdings nur mit 2 Regionen, denn offenbar gibt es ein Kapazitätsproblem wenn alle 16 Regionen gleichzeitig auf der Sim 1 laufen. Wir werden heute im Laufe des Tages eine Region nach der anderen wieder aufschalten und versuchen zu ermitteln wo die Schmerzgrenze ist. Dazu hilft Inworld unter anderem das Beobachten der Sim-Performance die jeder Avatar mit der Tastensteuerung STRG-SHIFT-1 (alles gleichzeitig drücken) erreichen kann.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt;
Das Kapazitäts- bzw. Performance-Problem auf der Sim 1 scheint gefunden worden zu sein. Eine Avatarin hatte auf ihrer Region recht exzessiv hunderte von animierten Grasbüscheln eingesetzt die die Leistung der Sim 1 sehr in Mitleidenschaft gezogen hatten (Ping von teilweise &amp;lt;3000 ms). Die Avatarin war sich nicht bewusst daß diese vielen hunderte Animationen zusammengenommen eine unnötig hohe Serverlast durch die benötigte Rechenzeit ergibt. Nachdem die animierten Grasbüschel dann von der Avatarin wieder entfernt worden sind lief die Sim spürbar und messbar besser. Die Latenz (Ping-Wert) fiel zusehends und die Sim 1 läuft nun wieder richtig flüssig und stabil. Bisher haben wir 9 der 16 Regionen wieder hochgefahren und stehen gewohnt den Regionenbesitzern zur Verfügung. Die verbleibenden 7 Regionen werden in den nächsten Tagen wieder hochgefahren, haben aber keine hohe Priorität, da entweder die Regionen wenig genutzt werden (&amp;gt;5 Besuche pro Tag), oder nur Sandboxen sind die als Platzhalter dienen wenn komplette Regionen von einer Sim zur einer anderen Sim umgezogen werden. Auch die Hypergrid Teleport-Regionen stehen wieder zur Verfügung !
&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;01.03.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section01032009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:38,&amp;quot;range&amp;quot;:&amp;quot;24529-26357&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit39&quot; id=&quot;section28022009&quot;&gt;28.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„Script-Husten“, so könnte man in etwa den aktuellen Zustand der Sim 1 bezeichnen. In der vergangenen Nacht haben wir mit allen möglichen Methoden versucht die Sim 1 wieder zum laufen zu bewegen, aber beim Starten der Sim friert der OpenSIM-Serverprozess beim Laden von Scripten mit der XEngine jedesmal komplett ein. Das Deaktivieren der XEngine half da leider auch nicht. Sehr selten funktionierte es kurz und sofort waren wieder Avatare eingeloggt die leider die Offline-Statusmeldung nicht beachtet haben und der Server hing sich wieder auf. Wir haben daher nun als Notlösung bis auf die Startregion alle anderen 15 Regionen vorerst abgeschaltet um wenigstens eine Login-Möglichkeit zur Sim 1 zu schaffen.
&lt;/p&gt;

&lt;p&gt;
Möglicherweise müssen wir die 16 Regionen der Sim 1 auf die anderen Sims, sprich mehrere physikalischen Server, verteilen, denn offenbar gibt es aus einem noch unbekannten Grund ein Kapazitätsproblem von OpenSIM. Da die Software nicht wirklich stabil läuft ist derzeit kaum eine andere praktikable Lösung in Sicht. Wer in der Lage ist einen eigenen OpenSIM-Server zu betreiben sei hiermit dazu aufgefordert die Serverlast besser zu verteilen, denn dazu ist OpenSIM mit der Hypergrid-Funktion ausgelegt und es bietet sich geradezu an diese Funktion auch ausgiebig zu nutzen um der Zentralisierung von einzelnen Grids (die nichts weiter sind als Inseln (wenn sie nicht ausgiebig Hypergrid nutzen) mit einer zentralen und damit angreifbaren Datenbank) entgegenzuwirken und lieber ein verteiltes System von unabhängigen Sims nach Art des Internets nachzubauen.
&lt;/p&gt;

&lt;p&gt;
Ich denke ein P2P-System (Peer-to-Peer) macht bei OpenSIM mehr Sinn als lauter einzelne Grids wo jeder Avatar für jedes Grid wieder neue Login-Daten benötigt. Es sollte für einen Avatar völlig egal sein wo er sich einloggt und kann dann von seiner Login-Region sich völlig frei über die einzelnen Sims bewegen. Das ist im Prinzip nichts anderes als wenn man sich bei seinem Internetprovider (ISP) einloggt und sich dann frei im Internet bewegen kann. Momentan wirken die OpenSIM Installationen weltweit eher wie einzelne abgeschlossene Intranets, die nur als Zusatzoption und nach Gutdünken des Administrators Sprungbretter (Hypergrid) zu anderen OpenSIM´s anbieten. Was bisher (noch) die Ausnahme ist sollte eigentlich die Regel 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;28.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section28022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:39,&amp;quot;range&amp;quot;:&amp;quot;26358-28702&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit40&quot; id=&quot;section27022009&quot;&gt;27.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Leider besteht immer noch das Problem daß OpenSIM öfters mal nach dem Start plötzlich einfriert und keine Kommandos mehr im DOS-Fenster annimmt. Wir versuchen seit Tagen die Ursache herauszufinden und haben schon testweise die Scripte komplett deaktiviert, die mySQL-Datenbank reorganisiert und optimiert, die Speicherpuffer von mySQL erhöht, die Festplatten defragmentiert, zigfach die Netzwerkeinstellungen überprüft und einen Proxy zwischengeschaltet, aber nichts hilft. Ich bin fast der Meinung die gerade eingesetzte Version ist einfach nur buggy und muß schleunigst auf eine stabil laufende Version aktualisiert werden, denn einen manchmal hochschnellender Ping von über 3000 ms bei nur 3 eingeloggten Avataren ist absolut nicht normal, schon gar nicht wenn meine Admin-Verbindung gar nicht über das Internetgateway läuft, sondern direkt auf die lokale IP-Adresse des OpenSIM-Servers.
&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;27.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section27022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:40,&amp;quot;range&amp;quot;:&amp;quot;28703-29625&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit41&quot; id=&quot;section26022009&quot;&gt;26.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
In der letzten Nacht wurden bis heute morgen Wartungsarbeiten an der Sim 1 durchgeführt. Dabei wurden nach und nach einige der früheren Regionen importiert. Bei einer Region gab es ein Problem wo der OpenSIM-Serverprozess mitten im Start beim Laden eines Scripts über die XEngine komplett einfror. Die betreffende Region wurde daraufhin isoliert, sodaß der OpenSIM-Server wieder gestartet werden konnte. Wir kennen zwar nun die problematische Region, aber nicht deren Ursache, weil die auf der Region eingesetzten Scripts in anderen Regionen fehlerfrei laufen und sich daraus kein Zusammenhang erkennen lässt.
&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;26.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section26022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:41,&amp;quot;range&amp;quot;:&amp;quot;29626-30262&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit42&quot; id=&quot;section21022009&quot;&gt;21.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Anmeldeformular zur OpenSIM-Registrierung wurde modifiziert. Leider mussten wir in der Vergangenheit immer wieder Registrierungen ablehnen weil die Anmelder entweder vergessen haben die Pflichtangaben auszufüllen, oder die Nutzungsregeln bzw. Nutzungsbedingungen nicht gelesen haben. Das neue Anmeldeformular prüft nun auf valide Angaben und übernimmt nur noch korrekte Anmeldungen.
&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;21.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section21022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:42,&amp;quot;range&amp;quot;:&amp;quot;30263-30674&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit43&quot; id=&quot;section20022009&quot;&gt;20.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute dasselbe wie gestern: der OpenSIM-Serverprozess friert nach vielen Stunden normalen Betrieb irgendwann einfach ein und muss zwangsbeendet werden, da man nichts mehr in das Konsolenfenster eingeben kann. Derzeit behelfen wir uns mit Linux-Bordmitteln und unserem Server Live-Monitoring den Betrieb zu überwachen und jedesmal neu zu starten. Verwendet wird der OpenSimulator in der Version 0.6.2.8470 (interface version 2) unter Linux Ubuntu 8.10 mit mySQL 5.
&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;20.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section20022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:43,&amp;quot;range&amp;quot;:&amp;quot;30675-31161&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit44&quot; id=&quot;section19022009&quot;&gt;19.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Sim 1 läuft noch, aber ich habe im Logfile gesehen daß OpenSIM nach einigen Stunden die mySQL-Datenbankverbindung verliert (ein bekannter Fehler), aber wieder automatisch aufbaut. Ich habe ein Test-Login mit meinem Master-Avatar probiert und es lief bis jetzt einwandfrei. Mal die Entwicklung im Laufe des Tages abwarten wenn wir den OpenSIM-Serverprozess zwischendrin neu starten.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt;
Nach vielen Stunden Betrieb ist der OpenSIM-Serverprozess einfach eingefroren, man kann dann nichts mehr in das OpenSIM-Konsolenfenster eingeben und muss das Programm über den Task-Manager zwangsbeenden und dann neustarten. Bis jetzt hab ich leider nicht herausfinden können warum OpenSIM sich manchmal weghängt, oder ob das in bestimmten Zeitabständen passiert. Mir bleibt nichts anderes als die Entwicklung genau zu beobachten.
&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;19.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section19022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:44,&amp;quot;range&amp;quot;:&amp;quot;31162-32013&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit45&quot; id=&quot;section18022009&quot;&gt;18.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Um die OpenSIM-Fehler möglichst einzugrenzen und die Sim 1 wieder in Betrieb nehmen zu können haben wir zunächst erst einmal mit einer Neuinstallation von OpenSIM V. 0.6.2.8470 (interface version 2) mit mySQL-Datenbank, Standalone-Modus, Hypergrid aktiv, alle Regionen platt gemacht, dann die Benutzerkonten wieder eingerichtet und zunächst nur 3 der 16 Regionen wieder importiert. Momentan ist die Sim 1 im eingeschränkten Testbetrieb um die Ursache der plötzlichen Probleme nach dem Datenbank-Umzug von SQLite nach mySQL zu ermitteln. Sim 2-4 wurden testweise parallel gestartet um Ausfallzeiten zu erkennen. Hypergrid ist zwar auf allen Sims aktiv, jedoch ist kein Hypergrid-Link derzeit aktiv um die Fehlerquote nicht unnötig heraufzutreiben.
&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;18.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section18022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:45,&amp;quot;range&amp;quot;:&amp;quot;32014-32789&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit46&quot; id=&quot;section17022009&quot;&gt;17.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wegen eines unbekannten Problems mit OpenSIM ist die Sim 1 derzeit nicht erreichbar. Die Probleme fingen gestern an als OpenSIM plötzlich sehr stark ruckelte und mehrfach eingeloggte Avatare davon berichteten daß es ständig „Hänger“ gibt. Sofort suchten wir die Spassbremse, konnten aber auf Betriebssystem- und Hardwareebene, als auch in der Konfiguration von OpenSIM keine Fehler finden. An der neuen mySQL-Datenbank kann es eigentlich auch nicht liegen, da diese auf maximale Performance getrimmt ist. Die Ursache ist leider nicht besonders einfach zu finden, da das Logfile von OpenSIM wenig aufschlussreich ist. Wir vermuten - sind aber nicht sicher - die Ursache entweder an einem Fehler in der verwendeten OpenSIM-Version 0.6.2, oder aber im Protokoll UDP das in unserem Netzwerk eingesetzt wird. Wir arbeiten derzeit an einer Lösung und benachrichtigen Euch hier wieder an dieser Stelle wenn wir den Fehler gefunden haben und den OpenSIM-Betrieb wieder aufnehmen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt;
Der Fehler konnte immer noch nicht gefunden werden, daher haben wir vorerst auf den Server umgestellt den wir vorher im Einsatz hatten. Welche Fehler bisher bekannt sind haben wir hier zusammengetragen. Möglicherweise sind nicht behebbare Fehler in den vorherigen Datenbanken, sodaß bei einer Migration nach mySQL diese Fehler mitgeschleppt werden. Dann bliebe nur ein kompletter Neuanfang.
&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;17.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section17022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:46,&amp;quot;range&amp;quot;:&amp;quot;32790-34193&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit47&quot; id=&quot;section16022009&quot;&gt;16.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Umstellung der Datenbank von SQLite nach mySQL die letzte Nacht hat durch die ausgiebigen Tests und vorbereitenden Arbeiten perfekt geklappt. Wir hatten eine OpenSIM-Downtime von exakt 30 min. Pünktlich um 0 Uhr (Mitternacht) wurde der Server wieder hochgefahren und es dauerte nur Sekunden bis wieder die ersten Avatare online waren. Es musste danach Inworld noch etwas Fine-Tuning an den Regionen vorgenommen werden. Alle registrierten Avatare aus der „1.Generation“ haben nun als Geburtstag den 14. oder 15.2.2009. Wir haben mit dem DB-Wechsel auch zugleich den Server gewechselt und sind von dem testweise im Einsatz gewesenen Microsoft Windows 7 Betriebssystem wieder zurück auf ein Linux Ubuntu 8.10 System umgezogen. Alleine am vergangenen Wochenende haben sich knapp 30 Leute für OpenSIM registriert, was zeigt das enormes Interesse besteht. Im Moment sind noch 5 Regionen frei und kostenlos abzugeben.
&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;16.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section16022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:47,&amp;quot;range&amp;quot;:&amp;quot;34194-35133&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit48&quot; id=&quot;section15022009&quot;&gt;15.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Geplanter Termin für die Umstellung der Datenbank von SQLite auf mySQL. Wir nehmen dazu den OpenSIM-Server mit der Sim 1 in der Nacht von Sonntag auf Montag am 15.Februar 2009 ab 23:00 Uhr MESZ (CET) vom Netz, sichern die bis dahin erreichten Datenbankzustände, die XML-Konfigurationsdateien, die Benutzerdatenbank und die Regionen. Nicht gesichert und übertragen auf die neue mySQL-Datenbank werden die Benutzer-Inventare (User-Inventory). Um das Benutzer-Inventar muss sich jeder registrierte und angemeldete Benutzer selbst kümmern. Wir schreiben dazu jeden registrierten Benutzer per E-Mail an und machen auf die Umstellung aufmerksam.
&lt;/p&gt;

&lt;p&gt;
Wie man sein Inventar sichern kann haben wir in einer kurzen Anleitung beschrieben.
&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;15.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section15022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:48,&amp;quot;range&amp;quot;:&amp;quot;35134-35884&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit49&quot; id=&quot;section12022009&quot;&gt;12.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Eine sehr gute Idee die ich über einen OpenSIM RSS-Feed fand möchte ich ebenfalls aufgreifen: eine Freebie-Region erstellen auf der jeder Benutzer freie Gegenstände (z.B. Möbel, Scripts etc.) für andere Benutzer ablegen kann. Diese Region wird dann regelmäßig von uns als OAR-Datei (OpenSIM Archive) gespeichert und zum Download angeboten. Damit kann dann jeder auf seinem eigenen OpenSimulator eine komplette Region mitsamt den freien Gegenständen laden. Das ist sicher für Leute die komplett neu anfangen eine gute Idee, denn so fängt man nicht komplett leer an und hat schon mal einen Satz Gegenstände mit denen man ausprobieren kann was mit OpenSIM machbar 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;12.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section12022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:49,&amp;quot;range&amp;quot;:&amp;quot;35885-36583&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit50&quot; id=&quot;section10022009&quot;&gt;10.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir sind von verschiedenen Personen und von zwei Schulen angesprochen worden ob wir eine vorkonfigurierte OpenSimulator-Software mitsamt dem OpenSIM Wiki als Wissensdatenbank auf CD-ROM anbieten würden, oder als ISO-Image Download zum selberbrennen. Es gibt viele Interessenten an virtuellen 3D-Welten, die aber oft am Installationsaufwand und dem benötigtem PC- und Netzwerk-Grundwissen scheitern, was sehr schade ist, denn die Arbeit lohnt sich auf jeden Fall. Wir versuchen mit diesem OpenSIM-Wiki es ohnehin schon die technischen Hürden zu nehmen und es interessierten Anwendern so einfach wie möglich zu machen ihren eigenen 3D-Simulator zu betreiben, oder das von und angebotene OpenSIM-Testsystem zu nutzen. Bisher haben wir keine CD-ROM oder ISO-Image im Angebot, überlegen aber gerade ob wir eine solche zukünftig anbieten sollen, denn es würde der öffentlichen Verbreitung des Open Source Simulators sehr entgegen kommen, damit nicht nur Freaks, sondern auch gewöhnliche Anwender in den Genuss des OpenSimulators kommen.
&lt;/p&gt;

&lt;p&gt;
Es gibt bereits von einem anderen Anbieter ein downloadbares ISO-Image zum selberbrennen, was wir allerdings nicht getestet haben und dafür auch keine Empfehlung aussprechen können. Wer es aber ausprobieren möchte findet unter diesem Link die benötigten Dateien. Wer diese Version getestet hat kann seine Erfahrungen damit gerne als Kommentar dazu hier hinterlassen. Ein Video von der Live-CD kann man sich hier ansehen.
&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.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section10022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:50,&amp;quot;range&amp;quot;:&amp;quot;36584-38071&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit51&quot; id=&quot;section09022009&quot;&gt;09.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die OpenSIM-Gemeinschaft wächst weiterhin rasant an und die Printmedien (Presse) melden sich vermehrt bei uns um Informationen über die faszinierenden, virtuellen 3D-Welten zu bekommen. Wir suchen daher noch erfahrene OpenSIM-Anwender die sich als Interview-Partner zur Verfügung stellen möchten. Wir vermitteln den Kontakt dann weiter. Interessenten melden sich bei uns bitte über den Live-Support.
&lt;/p&gt;

&lt;p&gt;
Ausserdem wurde heute noch eine OpenSIM-Cam integriert.
&lt;/p&gt;

&lt;p&gt;
Ein Benutzer machte mich heute ausserdem darauf aufmerksam daß plötzlich Scripte auf seiner Region nicht mehr laufen, obwohl weder etwas an der Region noch an der Server-Konfiguration umgestellt wurde. Nach einem OpenSIM-Serverneustart lief alles wieder normal. Ausserdem fiel mir auf das ohne nachvollziehbaren Grund sich plötzlich Teleport-Zielpositionen geändert haben, ebenfalls ohne daß jemand die Positionen geändert hätte. Manche Fehler in OpenSIM können wir einfach nicht nachvollziehen oder deren Ursache finden. Man wird in solchen Fällen immer wieder daran erinnert das sich der Opensimulator immer noch im tiefsten Alpha-Softwareentwicklungsstadium befindet und noch nicht die Version 1.0 erreicht hat. Bis dahin kann es noch ein längerer Weg werden - der sich aber auf jeden Fall lohnt!
&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;09.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section09022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:51,&amp;quot;range&amp;quot;:&amp;quot;38072-39366&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit52&quot; id=&quot;section07022009&quot;&gt;07.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Seit gestern läuft der OpenSIM-Serverprozess der Sim 1 mit der SQLite DB leider sehr instabil und muß mehrmals täglich neu gestartet werden. Angefangen hat es mit einem Chaos in der Inventory-Datenbank beim hochladen von Texturen bei einem Avatar die wohl der Server nicht so schnell speichern konnte wie sie hochgeladen wurden. Der Avatar konnte sich anschliessend sogar nicht mehr mit seinem Account einloggen und musste zwangsweise einen neuen Namen annehmen. Wir prüfen gerade die Migration von SQLite nach mySQL um die unserer Meinung nach performanceschwache SQLite Datenbank abzulösen, die höchstwahrscheinlich die Ursache für die angehäuften OpenSIM-Crashs 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;07.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section07022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:52,&amp;quot;range&amp;quot;:&amp;quot;39367-40066&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit53&quot; id=&quot;section05022009&quot;&gt;05.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Programm-Tipp: Artifex Terra 3D Terrain Editor ist eine kostenlose Software um faszinierende, virtuelle Landschaften zu gestalten. Ausserdem kann nun der Status aller von uns betriebenen Sims über die Seite Sim-Status in Echtzeit abgefragt 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;05.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section05022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:53,&amp;quot;range&amp;quot;:&amp;quot;40067-40337&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit54&quot; id=&quot;section03022009&quot;&gt;03.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Locator-Karte (Map) wurde aktualisiert und weitere Hypergrid-Regionen wurden angebunden.
&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;03.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section03022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:54,&amp;quot;range&amp;quot;:&amp;quot;40338-40452&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit55&quot; id=&quot;section02022009&quot;&gt;02.02.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute haben gleich zwei Firmen bei uns angefragt ob sie OpenSIM nutzen können für eine Firmenpräsenz im virtuellen 3D-Raum. Meine Standard-Antwort: „können“ schon, aber ob das Sinn macht kann schwer bezweifelt werden. Firmen verfolgen in der Regel kommerzielle Ziele, also gewerbliche Ausrichtung mit Gewinnerwartungen. Diese Erwartungen aber zu erfüllen in einem Projekt was rein nonkommerziell ist macht die Sache gänzlich banal. OpenSIM soll open sein und bleiben, offen für jeden und ohne Kosten. Falsch geplante, nicht genutzte und unnötige Shops wie es sie zu zigtausenden in Second Life gibt möchte zumindest ich nicht in OpenSIM sehen. OpenSIM soll den kreativen Köpfen, den Wegbereitern, den Tüftlern und Machern unter uns eine ideale Plattform bieten um sich ohne Grenzen austoben zu 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;02.02.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section02022009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:55,&amp;quot;range&amp;quot;:&amp;quot;40453-41288&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit56&quot; id=&quot;section30012009&quot;&gt;30.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die von uns betriebene Test-Sim „M34“ wurde nun testweise via Hypergrid auf 4 Server erweitert und besteht nun aus insgesamt 64 Regionen (je Server 16 Regionen). Beteiligt sind jeweils 1 Windows 7 Server und 3 Linux Ubuntu 8.10 Serverracksysteme die in unserer eigenen Serverhalle auf dem Grundstück betrieben werden. Die Server sind jeweils mit 2x GigaBit-NIC´s an den Switches angeschlossen um eine maximale Redundanz zu erreichen. Die Gesamtbandbreite steht netzwerkintern per 1 GBit und internetseitig mit 10 MBit zur Verfügung. Die Serverlast wurde mit hunderten PCampBot´s getestet und ist erstaunlich stabil, obwohl die OpenSIM-Software immer noch im Alpha-Stadium ist und bei weitem noch nicht ausgereift.
&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;30.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section30012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:56,&amp;quot;range&amp;quot;:&amp;quot;41289-42028&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit57&quot; id=&quot;section29012009&quot;&gt;29.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das OpenSimulator-Projekt ist nun bereits 2 Jahre alt und wird entsprechend gefeiert. Am 29.Januar 2007 veröffentlichte Darren Guard seinen ersten Prototyp des 3D-Welt Servers OpenSimulator. Mehr zum geschichtlichen Ablauf kann man in der &lt;a href=&quot;http://opensimulator.org/wiki/History&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/History&quot; rel=&quot;ugc nofollow noopener&quot;&gt;englischsprachigen History&lt;/a&gt; nachlesen.
&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;29.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section29012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:57,&amp;quot;range&amp;quot;:&amp;quot;42029-42370&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit58&quot; id=&quot;section26012009&quot;&gt;26.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wegen ständig hoher Nachfrage haben wir die neue Hauptrubrik „Downloads“ hinzugefügt, die unterteilt ist in verschiedene Download-Kategorien wie Scripts, Texturen, Animationen und vieles andere mehr. Die Downloads können in OpenSIM frei verwendet 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;26.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section26012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:58,&amp;quot;range&amp;quot;:&amp;quot;42371-42650&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit59&quot; id=&quot;section21012009&quot;&gt;21.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die aktuellen News vom vergangenen Jahr 2008 sind nun in ein Archiv ausgelagert worden.
&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;21.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section21012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:59,&amp;quot;range&amp;quot;:&amp;quot;42651-42760&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit60&quot; id=&quot;section20012009&quot;&gt;20.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wir begrüssen heute den 500.registrierten OpenSIM-Benutzer. Momentan wächst die Anzahl registrierter OpenSIM-Benutzer stark an, was vermutlich auch mit der Preiserhöhung ab 1.1.2009 bei Second Life zu tun 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;20.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section20012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:60,&amp;quot;range&amp;quot;:&amp;quot;42761-42995&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit61&quot; id=&quot;section19012009&quot;&gt;19.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die neue Rubrik „wiesoweshalbwarum“ ist hinzugekommen und erklärt grundlegendes zu OpenSIM und zur Sim „M34“.
&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;19.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section19012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:61,&amp;quot;range&amp;quot;:&amp;quot;42996-43128&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit62&quot; id=&quot;section18012009&quot;&gt;18.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die von uns betriebene Sim „M34“ ist nun deutlich grösser geworden und besteht aus insgesamt 16 Regionen mit einer Fläche von etwas über 4 qkm.
&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;18.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section18012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:62,&amp;quot;range&amp;quot;:&amp;quot;43129-43297&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit63&quot; id=&quot;section12012009&quot;&gt;12.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Gerade eben haben wir testweise OpenSIM 0.6.1 auf dem brandneuen MicroSoft Windows 7 Ultimate (Beta 7000) auf einem etwas älteren Test-PC (1,3 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; AMD-CPU, 512 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; RAM, 40 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; IDE, NVidia MX200) in unserer Serverhalle installiert um festzustellen inwieweit es Probleme geben könnte. OpenSIM läuft einwandfrei und sehr stabil auf W7. Wichtig aber ist wie bei Vista auch: ins Root-Verzeichnis installieren (C:\OpenSim) und als Administrator ausführen.
&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;12.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section12012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:63,&amp;quot;range&amp;quot;:&amp;quot;43298-43771&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit64&quot; id=&quot;section09012009&quot;&gt;09.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Downloads für Windows und Linux wurden aktualisiert. Es gibt nun für beide Betriebssysteme unterschiedliche Installationspakete.
&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;09.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section09012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:64,&amp;quot;range&amp;quot;:&amp;quot;43772-43928&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit65&quot; id=&quot;section01012009&quot;&gt;01.01.2009&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Ein gutes neues Jahr 2009 an alle OpenSIM-Nutzer, -Betreiber und -Interessenten! Wir haben nun für Euch auf der Chat-Seite ein Java-Applet integiert mit dem es möglich ist auch ohne installierten &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Client mit dem Webbrowser am OpenSIM-Chat teilzunehmen. Der OpenSIM-Chat ist ein &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Channel auf dem Server freenode.net und kann als freie Kommunikationsmöglichkeit unter OpenSIM-Anwendern genutzt werden. Der OpenSIM-Chat ist allerdings kein Support-Chat für technische Fragen. Den OpenSIM-Support finden Sie unter 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;01.01.2009&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section01012009&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:65,&amp;quot;range&amp;quot;:&amp;quot;43929-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:archiv:news</category>
            <pubDate>Fri, 29 Nov 2019 10:58:31 +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>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>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>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>Sim Crash Logger</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/sim_crash_logger?do=revisions&amp;rev=1575021523</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;sim_crash_logger&quot;&gt;Sim Crash Logger&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//********************************************************
//This Script was pulled out for you by YadNi Monde from the SL FORUMS at http://forums.secondlife.com/forumdisplay.php?f=15, it is intended to stay FREE by it s author(s) and all the comments here in ORANGE must NOT be deleted. They include notes on how to use it and no help will be provided either by YadNi Monde or it s Author(s). IF YOU DO NOT AGREE WITH THIS JUST DONT USE!!!
//********************************************************

/////////////////////////////////////////
//SIM CRASH/REBOOT LOGGER
//by: Kyrah Abattoir
/////////////////////////////////////////

integer timering = 10;//the polling rate, put the speed you wish, in seconds

//there we go...
integer UNIX;
string _buffer;
list log;
integer span = 0;
float fps;
float dilation;
integer crash = 0;
string date;
//2004-08-27T00:56:21.785886Z

default
{
    state_entry()
    {
        llSetTimerEvent(timering);//starting our timer
    }
    timer()
    {
        string timestamp = llGetTimestamp();
        list temp = llParseString2List(timestamp,[&amp;quot;T&amp;quot;,&amp;quot;:&amp;quot;,&amp;quot;:&amp;quot;,&amp;quot;.&amp;quot;],[]);
        integer _hour = llList2Integer(temp,1) + 4;
        if(_hour &amp;gt; 24) //getting the hours
            _hour = _hour - 24 ;

        string _date = llList2String(temp,0);
        integer _min = llList2Integer(temp,2);
        integer _sec = llList2Integer(temp,3);
        string buffer;

        if(date == _date) //daily reset of the average fps and dilation
            span++;
        else
        {
            span = 1;
            date = _date;
            fps = 0;
            dilation = 0;
        }

        fps += llGetRegionFPS();
        dilation += llGetRegionTimeDilation();
        integer avg_FPS = (integer)(fps/span);
        string avg_dilation= llGetSubString((string)(dilation/span),0,3);

        buffer += llGetRegionName();
        buffer += &amp;quot;\n FPS:&amp;quot;+(string)avg_FPS;
        buffer += &amp;quot; dil. :&amp;quot;+(string)avg_dilation;
        //buffer += &amp;quot;\n&amp;quot; + llDumpList2String(log,&amp;quot;\n&amp;quot;);

        integer _UNIX = _sec + _min * 60 + _hour * 3600;//making our timestamp
       
        if (_UNIX - UNIX &amp;gt; timering + 5 &amp;amp;&amp;amp; UNIX != 0)//okay the delay has been waaay too olong, it probably crashed or rebooted
        {
            crash++;
            log += (string)_date + &amp;quot; - &amp;quot; + (string)_hour+ &amp;quot;:&amp;quot;+(string)_min+&amp;quot;:&amp;quot;+(string)_sec;
            if(llGetListLength(log) &amp;gt; 9)
                log = llDeleteSubList(log,0,0);
        }
        buffer += &amp;quot;\n sim crashes: &amp;quot; + (string)crash + &amp;quot;\n last crash: \n&amp;quot; + llDumpList2String(log,&amp;quot;\n&amp;quot;);
        if(_buffer != buffer); //display
        {
            llSetText(buffer,&amp;lt;1,1,1&amp;gt;,1.0);
            _buffer = buffer;   
        }
        UNIX = _UNIX;
    }
}&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>YouTube MP4 Video-Link</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/youtube_mp4_video-link?do=revisions&amp;rev=1663850643</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;youtube_mp4_video-link&quot;&gt;YouTube MP4 Video-Link&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Wenn man die echte MP4-Video-Link &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; eines YouTube-Videos herausbekommen möchte kann man Webseiten wie z.B. die nachfolgenden Links verwenden die nicht nur das Video als MP4-Download-Link anbieten, sondern die Video-&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; des Google Videos Servers auch anbieten mittels Rechtsklick auf den Download-Schalter und kopieren der &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;. Ob dieser Link allerdings dann dauerhaft gültig bleibt ist noch zu testen. Bei meinen ersten Tests fehlte ausserdem der Ton. Nach dem übernehmen des Videos also immer kontrollieren ob die Video-Auflösung stimmt (720p sollte es mindestens sein) und ob der Ton zu hören ist.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.amoyshare.com/youtube-to-mp4&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.amoyshare.com/youtube-to-mp4&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.amoyshare.com/youtube-to-mp4&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;https://en.savefrom.net/1-youtube-video-downloader-354&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://en.savefrom.net/1-youtube-video-downloader-354&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://en.savefrom.net/1-youtube-video-downloader-354&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;YouTube MP4 Video-Link&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;youtube_mp4_video-link&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-751&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;nas-4_mp4-downloader&quot;&gt;NAS-4 MP4-Downloader&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der Downloader auf NAS-4 kann auch direkt normale YouTube-&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; als MP4-Videos 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;NAS-4 MP4-Downloader&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nas-4_mp4-downloader&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;752-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen</category>
            <pubDate>Thu, 22 Sep 2022 14:44:03 +0000</pubDate>
        </item>
        <item>
            <title>Begriffe</title>
            <link>http://itclive.spdns.de/wiki/hilfe/begriffe?do=revisions&amp;rev=1579622624</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;begriffe&quot;&gt;Begriffe&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;div class=&quot;qna-toc&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#autolink&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;Autolink&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#dns&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;DNS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#map&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;Map&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#meta-suchmaschine&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;Meta-Suchmaschine&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#rss&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;RSS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#stream&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;Stream&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;span class=&quot;qna-toc-question&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/hilfe/begriffe#template&quot; class=&quot;wikilink1&quot; title=&quot;hilfe:begriffe&quot; data-wiki-id=&quot;hilfe:begriffe&quot;&gt;Template&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;autolink&quot;&gt;Autolink&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Bezeichnet ein Verfahren das hier im Intranet verwendet wird. Dabei werden bestimmte, vordefinierte Begriffe automatisch beim Schreiben in Links verwandelt. Dadurch wird eine konsistente Verfügbarkeit von Hilfen zu verwendeten Begriffen ermöglicht, ausserdem werden wichtige Begriffe automatisch zu den passenden Diensten verknüpft.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;dns&quot;&gt;DNS&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Domain Name System. Wandelt die bei netzwerkbasierten Kommunikationstechniken von Computern verwendeten IP-Adressen, die aus Zahlen bestehen, in für Menschen leichter zu merkende, sprechende Namen um. Einer IP-Adresse können gleichzeitig mehrere Domain Namen zugeordnet sein. So hat ein Computer zwar nur eine IP-Adresse, kann aber viele verschiedene Namen haben unter der er erreichbar ist.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;map&quot;&gt;Map&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Maps (Karten) werden bei uns durch einen eigenen Map-Server verwendet um Positionen auf einer Karte darzustellen. Diese Karten können mit verschiedenen Symbolen erweitert werden, beispielsweise um einen bestimmten Ort zu markieren und zu beschriften. Ausserdem können Wegstrecken eingezeichnet werden um Touren von A nach B aufzuzeigen. Die Karten können als Link gespeichert werden.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;meta-suchmaschine&quot;&gt;Meta-Suchmaschine&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Eine Meta-Suchmaschine ist eine Suchmaschine, deren wesentliches Merkmal darin besteht, dass sie eine Suchanfrage an mehrere andere Suchmaschinen gleichzeitig weiterleitet, die Ergebnisse sammelt und aufbereitet. Eine Metasuchmaschine besitzt keinen eigenen Index. Suchmaschinen, die Suchanfragen an andere Suchmaschinen weiterleiten und gleichzeitig einen eigenen Index besitzen, werden als Hybride bezeichnet. Unsere eigene Suchmaschine SiteCrawl ist eine Hybride Suchmaschine, da sie auf die Meta-Suchmaschinen Software SearX und gleichzeitig auf den Web-Crawler YaCy basiert, also beides gleichzeitig verwendet.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;rss&quot;&gt;RSS&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 RSS (Rich Site Summary) sind Dateiformate für Web-Feeds. Sie zeigen Änderungen auf Websites, z. B. auf News-Seiten, Blogs, Audio-/Video-Logs etc. Das Backronym steht aktuell für Really Simple Syndication (etwa sehr einfache Verbreitung), vormals waren bereits andere Bedeutungen gegeben. RSS-Dienste werden meist auf speziellen Service-Websites angeboten, sogenannten RSS-Channels. Ein gewöhnlicher RSS-Channel versorgt den Adressaten, ähnlich einem Nachrichtenticker, mit kurzen Informationsblöcken, die aus einer Schlagzeile mit Textanriss und einem Link zur Originalseite bestehen. Zunehmend werden aber auch komplette Inhalte klassischer Webangebote ergänzend als Volltext-RSS bereitgestellt. Die Bereitstellung von Daten im RSS-Format bezeichnet man auch als RSS-Feed, von engl. to feed – im Sinne von füttern, einspeisen, zuführen. Wenn ein Benutzer einen RSS-Channel abonniert hat, so sucht der Client in regelmäßigen Abständen beim Server nach Aktualisierungen im RSS-Feed.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;stream&quot;&gt;Stream&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Ein Stream bezeichnet einen Download den man bereits während des Downloads ansehen/anhören kann. Bei einem herkömmichen Download muß man erst den Abschluß der kompletten Dateiübertragung abwarten.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-block&quot;&gt;
&lt;div class=&quot;qna-question&quot;&gt;
&lt;div class=&quot;qna-title&quot;&gt;&lt;a name=&quot;template&quot;&gt;Template&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;qna-answer&quot;&gt;

&lt;p&gt;
 Vorlage, beispielsweise ein Briefbogen mit Firmenlogo und Adresse um ein einheitliches Aussehen bei Firmenschreiben zu ermöglichen. In der IT werden Templates beispielsweise in Software Programm-Codes verwendet um sich wiederholende Elemente einzufügen. Alternativ kann auf ein zentrales, externes Element verwiesen werden dass von mehreren Stellen aus referenziert wird.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>hilfe</category>
            <pubDate>Tue, 21 Jan 2020 17:03:44 +0000</pubDate>
        </item>
        <item>
            <title>Fernwartungs-Software</title>
            <link>http://itclive.spdns.de/wiki/nuetzliches/fernwartungs-software?do=revisions&amp;rev=1575021600</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;fernwartungs-software&quot;&gt;Fernwartungs-Software&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;Fernwartungs-Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fernwartungs-software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-37&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;must_haves_fuer_it-dienstleister_unverzichtbar&quot;&gt;Must haves (für IT-Dienstleister unverzichtbar)&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; Installationsfrei - sonst kann es nicht auf allen Clients (z.B. Thin-Clients) genutzt werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ohne Routerkonfiguration - keine Portweiterleitungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mindestens 3 unabhängige Sitzungen gleichzeitig - keine zeitliche oder mengenmässige Beschränkungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dateiübertragung - Dateien und Ordner übertragen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Taskmanager - aktuell laufende Prozesse einsehen und ggf. auch beenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Reboot-Funktion - nötig nach Updates, Treiber-Änderungen oder Änderungen an der Registry&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sitzungsaufzeichnung - Arbeitsnachweise, Dokumentation&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verschlüsselte Übertragung - damit auch potentiell unsichere Übertragungswege genutzt werden können&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hosted Version - damit auch jederzeitiger Zugriff möglich ist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kontaktliste - unbegrenzt viele Einträge, unterteilbar in Gruppen, Kategorien&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;Must haves (f\u00fcr IT-Dienstleister unverzichtbar)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;must_haves_fuer_it-dienstleister_unverzichtbar&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;38-904&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;nice_to_have_key-features&quot;&gt;Nice to have (Key-Features)&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; Aufzeichnung zu Dokumentationszwecken, für Schulungen oder Reporting&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Aufzeichnung der Sitzungszeit zur Abrechnung, z.B. für monatliche Leistungsberichte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verschlüsselte Dateiübertragung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Unterstützung von PC`s mit mehreren angeschlossenen Bildschirmen (Multi-Screen)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Benutzerkonto des Kunden wechseln&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Persönliche Anpassung an das Corporate Identity möglich (Firmenlogo)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Clients auch für Mobilgeräte verfügbar&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;Nice to have (Key-Features)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nice_to_have_key-features&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;905-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>nuetzliches</category>
            <pubDate>Fri, 29 Nov 2019 11:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Phrasen</title>
            <link>http://itclive.spdns.de/wiki/nuetzliches/phrasen?do=revisions&amp;rev=1675432460</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;phrasen&quot;&gt;Phrasen&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;Phrasen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;phrasen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-21&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;woerter&quot;&gt;Wörter&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; Ausgefehlert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diesbezüglich (diesbzgl.)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Entstörung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Initiiert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Meßtechnisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nachbeplant&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sachstandsmitteilung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schwachfug&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sozusagen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vermittlungsseitig&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;W\u00f6rter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;woerter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;22-230&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;saetze&quot;&gt;Sätze&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; Aktuell liegt eine Netzstörung vor. An der Entstörung wird aktuell mit Hochdruck gearbeitet.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Chefität&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Copy &amp;amp; Waste&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Derzeit können wir diesbezüglich keine Aussage treffen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Schwierigkeit ist das Problem&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Draussen ist es kälter als nachts&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Eis mit ohne Sahne&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es dauert noch ein bisschen Zeit&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gefundene Findings&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; God shave the Queen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ich weiss wo dein Haus wohnt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Minimal-invasiver, netzwerktechnischer Eingriff&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Minutiöse Prüfung des Sachverhaltes&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit Bitte um weitere Veranlassung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sowie uns darüber Informationen vorliegen werden Sie von uns benachrichtigt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Spässken machen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Technisch-administrative Arbeiten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Warte mal schnell&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wer früher stirbt ist länger tot&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wer später bremst ist länger schnell&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zeitnahes Feedback&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gibt es hierzu schon Feedback? Oder belle ich vor der falschen Hütte?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wir sind nicht erreichbar, was logischerweise sehr blöd ist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hier Lippe, dort Mund, da Nase (Lippstadt, Dortmund)&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;S\u00e4tze&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;saetze&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;231-1253&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;absaetze&quot;&gt;Absätze&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; Aktuell gibt es in der Region eine Großstörung. Unsere Fachabteilungen arbeiten derzeit mit Hochdruck an der Entstörung. Sobald uns neue Informationen vorliegen werden wir Sie umgehend  informieren.&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;Abs\u00e4tze&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;absaetze&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1254-1480&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;sprueche&quot;&gt;Sprüche&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; Interpunktion und Orthographie dieses Beitrages sind frei erfunden. Ähnlichkeiten mit bestehenden oder künftigen Rechtschreibregeln sind nicht beabsichtigt und rein zufällig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Lösung ist gut, aber das Problem war falsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wartesch lange in der Warteschlange&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Über den Berg ist es weiter als zu Fuß&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nachts ist es kälter als draussen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tourette … benannt nach dem Typ vom Tourette, der vielleicht sogar so heisst.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Was ist denn heute los mit mir, ich kann weder sprechen noch reden!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ich höre Stimmen, wenn du redest.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wie heisst nochmal der Ort in Ukraine, wo der Unfall war? Hiroshima?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sind wir jetzt bei 31 einhalb oder bei 31:30?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wieviel Geld hast du eigentlich am Ende des Monats, wenn du alles ausgegeben hast?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Kieferorthopäde hat mir heute die Zahnzwischenräume weggehobelt, das tut voll weh.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ich habe eine gekrackte Version von OpenOffice.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Was ist das, da brennt es. Meinst du das hier? Ja. Nein, das ist nur Feuer.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Könntet ihr bitte Regeln einführen, dass man beim schmatzen nicht essen sollte?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein Auto hat halt 4 Reifen und eine Karrosserie, da kann man nicht viel anders machen, deshalb sieht aber ein Honda noch lange nicht aus wie ein Civic.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Zeit ändert sich mit der Zeit.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Du isst mit vollem Mund, das ist ekelig, mach erst den Mund leer, bevor du isst.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Zahnarzt: ich hatte heute die Weisheitsentfernung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das ist manchmal so, ich kann einfach nicht zwischen Ironie unterscheiden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wir haben gar keine Fritzbox, wir haben Ethernet.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wir haben das WLAN-Kabel in der Steckdose.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Damals hat man WLAN noch mit Kabel gehabt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ich sehe gerade, dass du x und y von a nach b verschoben hast, wie kommt sowas? Äh, keine Ahnung, mein Computer geht auch ab und zu von alleine an.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hey kann es sein, dass du gesundheitlich krank bist?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wieviel Internet hast du?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Warum ist nur die Hälfte voll?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Von keine Ahnung habe ich überhaupt keinen Plan.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Einer ist AFK und fängt plötzlich an zu senden. Der hat Push-To-Talk angelassen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Er hat seit drei Tagen nichts mehr getrunken, jetzt wird er verhungern.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sag mir mal eine Farbe … zwischen Gelb und Blau …&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wer ist das? Eine Sängerin! Eine weibliche Sängerin?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wie kann ich eine Textur finden die ich nicht mehr finden kann?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ich lebe in England. Du sprichst aber Deutsch, aus welchem anderen deutschen Land kommst du denn?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der klügere kippt nach …&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bin nicht da! Bin mich suchen gegangen! Wenn ich wieder da bin, bevor ich zurück komme sag mir Bescheid ich soll auf mich warten!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Täglich verschwinden Rentner im Internet, weil sie Alt + Entfernen auf der Tastatur drücken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Was kann ich gegen (für) Dich tun?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Besten Schrank (Besten Dank)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gibt es hierzu schon Feedback? Oder belle ich vor der falschen Hütte?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Läuft´s? Es geht!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Und, wie geht´s? Es läuft!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Comedy alle wegen mir?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Heute nur für Sie: es singt/sinkt das Niveau.&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;Spr\u00fcche&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sprueche&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1481-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>nuetzliches</category>
            <pubDate>Fri, 03 Feb 2023 14:54:20 +0000</pubDate>
        </item>
        <item>
            <title>PeerTube</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/peertube?do=revisions&amp;rev=1632907306</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;peertube&quot;&gt;PeerTube&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/anleitungen/software/peertube.jpg?w=600&amp;amp;tok=000eba&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt; PeerTube ist eine freie, dezentralisierte Open Source Software für Video Plattformen, betrieben mit ActivityPub und WebTorrent, die Peer-to-Peer Technologie einsetzt um die Last auf einen einzelnen Server zu reduzieren. Die üblichen Videoportale verdienen Geld mit Deinen Daten, indem sie Dein Verhalten analysieren und Dich mit gezielter Werbung überfluten. Peertube ist keinem Unternehmensmonopol unterstellt, finanziert sich nicht durch Werbung und spioniert dir nicht hinterher. Am wichtigsten ist aber: Du bist ein Mensch für PeerTube, nicht ein Objekt, das analysiert werden muss um es im Videokonsum zu fesseln. Beispielsweise benutzt PeerTube keine fiesen Algorithmen um Dich stundenlang online zu halten.
&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;PeerTube&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;peertube&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-795&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;links&quot;&gt;Links&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; &lt;a href=&quot;https://joinpeertube.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://joinpeertube.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://joinpeertube.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;Links&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;links&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;796-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Wed, 29 Sep 2021 11:21:46 +0000</pubDate>
        </item>
        <item>
            <title>SCCM</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/sccm?do=revisions&amp;rev=1632381038</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;sccm&quot;&gt;SCCM&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Microsoft System Center Configuration Manager (SCCM) (seit Version 1910 Microsoft Endpoint Configuration Manager) ist eine Software-Managementsuite von Microsoft, mit der Benutzer eine große Anzahl an Windows-Computern verwalten können. SCCM bietet Fernverwaltung, Patch-Verwaltung, Installation von Betriebssystemen, Netzwerkschutz und andere Dienste.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.microsoft.com/de-at/security/business/microsoft-endpoint-manager&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.microsoft.com/de-at/security/business/microsoft-endpoint-manager&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.microsoft.com/de-at/security/business/microsoft-endpoint-manager&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;SCCM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sccm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-454&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;websites&quot;&gt;Websites&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; &lt;a href=&quot;https://www.anoopcnair.com/sccm-linux-unix-support-is-dead&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.anoopcnair.com/sccm-linux-unix-support-is-dead&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.anoopcnair.com/sccm-linux-unix-support-is-dead&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;https://www.windowspro.de/roland-eich/system-center-configuration-manager-windows-10-ueber-pxe-verteilen&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.windowspro.de/roland-eich/system-center-configuration-manager-windows-10-ueber-pxe-verteilen&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.windowspro.de/roland-eich/system-center-configuration-manager-windows-10-ueber-pxe-verteilen&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://systemcenter.no/?p=509&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://systemcenter.no/?p=509&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://systemcenter.no/?p=509&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://systemcenter.no/?p=331&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://systemcenter.no/?p=331&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://systemcenter.no/?p=331&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;https://docs.microsoft.com/de-de/sccm/core/clients/manage/manage-clients-for-linux-and-unix-servers&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://docs.microsoft.com/de-de/sccm/core/clients/manage/manage-clients-for-linux-and-unix-servers&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://docs.microsoft.com/de-de/sccm/core/clients/manage/manage-clients-for-linux-and-unix-servers&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;https://blogs.technet.microsoft.com/jeffbutte/2016/02/01/deploying-a-script-or-package-to-a-linux-host-with-system-center-configuration-manager-2012-r2&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://blogs.technet.microsoft.com/jeffbutte/2016/02/01/deploying-a-script-or-package-to-a-linux-host-with-system-center-configuration-manager-2012-r2&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://blogs.technet.microsoft.com/jeffbutte/2016/02/01/deploying-a-script-or-package-to-a-linux-host-with-system-center-configuration-manager-2012-r2&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;https://medium.com/@PiereWoehl/microsoft-dhcp-server-mit-sccm-uefi-boot-server-und-linux-bios-boot-server-mit-dnsmasq-parallel-2586bc9f39d&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://medium.com/@PiereWoehl/microsoft-dhcp-server-mit-sccm-uefi-boot-server-und-linux-bios-boot-server-mit-dnsmasq-parallel-2586bc9f39d&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://medium.com/@PiereWoehl/microsoft-dhcp-server-mit-sccm-uefi-boot-server-und-linux-bios-boot-server-mit-dnsmasq-parallel-2586bc9f39d&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;https://alternativeto.net/software/system-center-configuration-manager&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://alternativeto.net/software/system-center-configuration-manager&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://alternativeto.net/software/system-center-configuration-manager&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;https://community.spiceworks.com/topic/1953987-sccm-with-fog-project-on-same-network&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://community.spiceworks.com/topic/1953987-sccm-with-fog-project-on-same-network&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://community.spiceworks.com/topic/1953987-sccm-with-fog-project-on-same-network&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;Websites&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;websites&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;455-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Thu, 23 Sep 2021 09:10:38 +0000</pubDate>
        </item>
        <item>
            <title>YaCy</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/yacy?do=revisions&amp;rev=1632751482</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;yacy&quot;&gt;YaCy&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/anleitungen/software/yacy.png?w=600&amp;amp;tok=d92775&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt; YaCy („Yet another Cyberspace“) ist eine Suchmaschine die nach dem Peer-to-Peer-Prinzip (P2P) arbeitet. Dabei gibt es keinen zentralen Server, sondern alle Betreiber einer YaCy-Instanz sind gleichwertig. Durch die Installation von YaCy wird ein lokaler YaCy-Proxy bereitgestellt. Alle über diesen Proxy abgerufenen Webseiten, sowie durch mitgelieferte Plugins auch andere Daten, werden lokal indexiert und können durch den Nutzer mittels eines Webinterface durchsucht werden. Der Index wird (optional) redundant auf anderen Peers des globalen YaCy-Netzwerkes verteilt, so dass ein globaler Index entsteht. Eine globale Suche fragt den globalen Index ab, der aus den Peers besteht, die gerade online sind. Durch dieses dezentrale Prinzip ist YaCy resistent gegen Ausfälle.
&lt;/p&gt;

&lt;p&gt;
Der eigene Index (und somit indirekt der globale) lässt sich durch das Losschicken eines eigenen Webcrawlers erweitern. Es können alternativ eigene YaCy-basierte Netzwerke zur Bildung eines gemeinsamen Index konfiguriert werden.
&lt;/p&gt;

&lt;p&gt;
Das Projekt YaCy wurde von Michael Christen im Jahr 2003 gegründet
&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;YaCy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;yacy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1145&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;links&quot;&gt;Links&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; &lt;a href=&quot;https://wiki.yacy.net/index.php/De:Start&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://wiki.yacy.net/index.php/De:Start&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wiki.yacy.net/index.php/De:Start&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;div class=&quot;plugin_nspages&quot;&gt;&lt;p class=&quot;catpageheadline&quot;&gt;Unternamensraum:&lt;/p&gt;
&lt;p&gt;
Keine Unternamensräume.
&lt;/p&gt;
&lt;p class=&quot;catpageheadline&quot;&gt;Seiten in diesem Namensraum:&lt;/p&gt;
&lt;div class=&quot;catpagecol&quot; style=&quot;width: 100%&quot; &gt;&lt;div class=&quot;catpagechars&quot;&gt;Y&lt;/div&gt;
&lt;ul class=&quot;nspagesul&quot;&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://itclive.spdns.de/wiki/anleitungen/software/yacy/yacy_installieren&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:software:yacy:yacy_installieren&quot; data-wiki-id=&quot;anleitungen:software:yacy:yacy_installieren&quot;&gt;YaCy installieren&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class=&quot;catpageeofidx&quot;&gt;&lt;/div&gt;&lt;/div&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;Links&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;links&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1146-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Mon, 27 Sep 2021 16:04:42 +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__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;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>Searx installieren</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/searx/searx_installieren?do=revisions&amp;rev=1635345963</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;searx_installieren&quot;&gt;Searx installieren&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;Searx installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;searx_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-34&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;step-bystep_installation&quot;&gt;Step-bystep Installation&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; &lt;a href=&quot;https://searx.github.io/searx/admin/installation-searx.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://searx.github.io/searx/admin/installation-searx.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://searx.github.io/searx/admin/installation-searx.html&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;https://searx.github.io/searx/admin/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://searx.github.io/searx/admin/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://searx.github.io/searx/admin/installation.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;Step-bystep Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;step-bystep_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;35-195&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;fehler_waehrend_der_installation&quot;&gt;Fehler während der Installation&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Leider mussten wir feststellen das viele Anleitungen, die wir im Web gefunden haben, fehlerhaft, oder zumindest nicht ganz vollständig sind. Klassische Fehler die bei der Installation auftreten können haben wir &lt;a href=&quot;http://itclive.spdns.de/wiki/anleitungen/software/searx/searx_fehler&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:software:searx:searx_fehler&quot; data-wiki-id=&quot;anleitungen:software:searx:searx_fehler&quot;&gt;hier aufgelistet&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;Fehler w\u00e4hrend der Installation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fehler_waehrend_der_installation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;196-517&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;installations-anleitungen&quot;&gt;Installations-Anleitungen&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; &lt;a href=&quot;https://github.com/asciimoo/searx/wiki/Installation&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/asciimoo/searx/wiki/Installation&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/asciimoo/searx/wiki/Installation&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;https://asciimoo.github.io/searx/admin/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://asciimoo.github.io/searx/admin/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://asciimoo.github.io/searx/admin/installation.html&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;https://searx.github.io/searx/admin/installation.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://searx.github.io/searx/admin/installation.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://searx.github.io/searx/admin/installation.html&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;https://return42.github.io/handsOn/searx.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://return42.github.io/handsOn/searx.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://return42.github.io/handsOn/searx.html&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;https://linuxreviews.org/Searx&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://linuxreviews.org/Searx&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://linuxreviews.org/Searx&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;https://www.howtoforge.de/anleitung/so-installieren-sie-die-searx-meta-suchmaschine-auf-ubuntu-1804-lts/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.howtoforge.de/anleitung/so-installieren-sie-die-searx-meta-suchmaschine-auf-ubuntu-1804-lts/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.howtoforge.de/anleitung/so-installieren-sie-die-searx-meta-suchmaschine-auf-ubuntu-1804-lts/&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;https://decatec.de/home-server/metasuchmaschine-searx-auf-eigenem-server-installieren-mit-docker-und-nginx/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://decatec.de/home-server/metasuchmaschine-searx-auf-eigenem-server-installieren-mit-docker-und-nginx/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://decatec.de/home-server/metasuchmaschine-searx-auf-eigenem-server-installieren-mit-docker-und-nginx/&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;https://codingworld.io/project/searx-auf-dem-raspberry-pi-installieren&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://codingworld.io/project/searx-auf-dem-raspberry-pi-installieren&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://codingworld.io/project/searx-auf-dem-raspberry-pi-installieren&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;https://vitux.com/how-to-install-searx-search-engine-on-ubuntu&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://vitux.com/how-to-install-searx-search-engine-on-ubuntu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://vitux.com/how-to-install-searx-search-engine-on-ubuntu&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;https://raspiblog.noblogs.org/post/2018/01/27/installing-searx-with-apache-and-morty&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raspiblog.noblogs.org/post/2018/01/27/installing-searx-with-apache-and-morty&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://raspiblog.noblogs.org/post/2018/01/27/installing-searx-with-apache-and-morty&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;https://hub.docker.com/r/wonderfall/searx/&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://hub.docker.com/r/wonderfall/searx/&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://hub.docker.com/r/wonderfall/searx/&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;Installations-Anleitungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installations-anleitungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;518-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software:searx</category>
            <pubDate>Wed, 27 Oct 2021 16:46:03 +0000</pubDate>
        </item>
        <item>
            <title>Ad-hoc</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ad-hoc?do=revisions&amp;rev=1575021491</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ad-hoc&quot;&gt;Ad-hoc&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der Ad-hoc Modus ist eine bestimmte Peer-to-Peer (P2P) Betriebsart von WLAN-Netzwerkkarten. Im Ad-hoc Modus kommunizieren zwei oder mehr WLAN-Karten direkt miteinander, ohne einen zentralen Access Point. Die erzielbaren Reichweiten sind weitaus geringer als in WLAN´s mit einem zentralen Access Point. Wichtig bei der Ad-hoc Kommunikation ist, daß alle beteiligten Stationen diesselbe SSID (Stationskennung) verwenden und das die Stationen relativ nahe beieinander stehen müssen um sich „zu sehen“.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:58:11 +0000</pubDate>
        </item>
        <item>
            <title>PTMP</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ptmp?do=revisions&amp;rev=1575021492</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptmp&quot;&gt;PTMP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point-to-Multipoint (Punkt-zu-Mehrpunkt-Verbindung).
&lt;/p&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:58:12 +0000</pubDate>
        </item>
        <item>
            <title>PTP</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/betriebsarten/ptp?do=revisions&amp;rev=1575021492</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptp&quot;&gt;PTP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point-to-Point (Punkt-zu-Punkt-Verbindung).
&lt;/p&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:58:12 +0000</pubDate>
        </item>
        <item>
            <title>PTMP</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/protokolle/ptmp?do=revisions&amp;rev=1575021498</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptmp&quot;&gt;PTMP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
(Point-to-Multipoint) Punkt-zu-Mehrpunkt Verbindung
&lt;/p&gt;

&lt;p&gt;
Falsche Kategorie, gehört zu den Betriebsarten. Hier steht das „P“ mal ausnahmsweise nicht für „Protocol“.
&lt;/p&gt;

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

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:protokolle</category>
            <pubDate>Fri, 29 Nov 2019 10:58:18 +0000</pubDate>
        </item>
        <item>
            <title>PTP</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/protokolle/ptp?do=revisions&amp;rev=1575021499</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptp&quot;&gt;PTP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point to Point (Punkt-zu-Punkt Verbindung)
&lt;/p&gt;

&lt;p&gt;
Falsche Kategorie, gehört zu den Betriebsarten. Hier steht das „P“ mal ausnahmsweise nicht für „Protocol“.
&lt;/p&gt;

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

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:protokolle</category>
            <pubDate>Fri, 29 Nov 2019 10:58:19 +0000</pubDate>
        </item>
        <item>
            <title>Shared Key</title>
            <link>http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/sicherheit/shared_key?do=revisions&amp;rev=1575021500</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;shared_key&quot;&gt;Shared Key&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Beim shared Key Verfahren wird zur Authentifizierung von auf einen Access Point zugriffsberechtigten WLAN-Clients ein Challenge Response Verfahren auf Basis des WEP-Keys gemacht. Dazu wird die Authentifizierungsanfrage von WLAN-Clients mit einem 128 Byte langen Zufallstext vom Access Point beantwortet. Der WLAN-Client verschlüsselt diesen Zufallstext anhand des beiden Systemen bekannten WEP-Schlüssels und sendet das Ergebnis als Antwort an den Access Point zurück. Erst wenn der Access Point diese Antwort über den eingestellten WEP-Schlüssel wieder rekonstruieren kann, erhält der Client Zugriff auf das Netz. Dieses Verfahren kostet natürlich etwas Performance, macht aber den Datenverkehr per Funk etwas sicherer als völlig ungeschützte Systeme. Allerdings ist dieses Verfahren nicht sicher gegenüber Replay-Attacken und gilt deshalb als unsicher.
&lt;/p&gt;

&lt;p&gt;
Der am Access Point benutzte WEP-Schlüssel muß an allen angeschlossenen WLAN-Clients identisch sein. Da alle WLAN-Clients quasi denselben Schlüssel verwenden (to share = teilen) um sich als berechtigter Nutzer am Access Point zu authentifizieren ist dieses System für professionelle Hotspots mit individualisierten User-Logins (z.B. zur Abrechnung) völlig unbrauchbar.
&lt;/p&gt;

&lt;p&gt;
Der Unterschied zum sichereren Personal-Key-Verfahren ist, dass hier ganze Gruppen von Usern denselben Schlüssel benutzen. Es kann über diese Methode also festgestellt werden, ob jemand überhaupt die Berechtigung hat, sich in ein Netz einzulinken – die Frage, um wen es sich nun aber ganz genau handelt, wird mit diesem Verfahren jedoch nicht geklärt.
&lt;/p&gt;

&lt;p&gt;
Auch wenn bei diesem Verfahren der WEP-Key involviert ist, hat die Benutzer-Authentifizierung nichts mit der Daten-Verschlüsselung zu tun, denn beide Systeme sind unabhängig voneinander. Da das shared Key Verfahren eigentlich nicht wirklich wasserdicht funktioniert wie es sollte und zudem beim Cracken des WEP-Keys hilft ist es zu empfehlen Open System zu verwenden, am besten in Kombination mit einem professionellen Verschlüsselungssystem wie IPsec auf höherer Ebene und zur Authentifizierung von berechtigten Usern einen RADIUS-Server (Stichwort: Virtual Private Network, VPN).
&lt;/p&gt;

&lt;p&gt;
Siehe auch &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/hotspot-muenchen/sicherheit/open_system&quot; class=&quot;wikilink1&quot; title=&quot;archiv:hotspot-muenchen:sicherheit:open_system&quot; data-wiki-id=&quot;archiv:hotspot-muenchen:sicherheit:open_system&quot;&gt;Open System&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:hotspot-muenchen:sicherheit</category>
            <pubDate>Fri, 29 Nov 2019 10:58:20 +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>Medienkompetenzportal NRW</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/blog/medienkompetenzportal_nrw?do=revisions&amp;rev=1565564400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;medienkompetenzportal_nrw&quot;&gt;Medienkompetenzportal NRW&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Am 1.4.2014 lädt die Landesanstalt für Medien NRW (LfM) zu einer Fachtagung zum Thema „Kompetent beraten in Medienfragen“ ein. Die ganztägige Veranstaltung findet in Münster statt und steht in diesem Jahr unter dem Motto „Mediennutzung to go“. Drei von vier Jugendlichen besitzen ein Smartphone. Der mobile Zugang zum Internet steigt. Was verändert sich durch die mobile Mediennutzung? Welche Auswirkungen hat das auf die Begleitung von Kindern und Jugendlichen? Die LfM möchte Akteur/innen, die sich mit den Themen Jugendmedienschutz und Medienkompetenzförderung beschäftigen, zu einem stetigen Wissens- und Erfahrungsaustausch einladen und sie hinsichtlich der aktuellen Medienentwicklungen informieren und beraten.
&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;Medienkompetenzportal NRW&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;medienkompetenzportal_nrw&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-768&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;informationen_zum_programm&quot;&gt;Informationen zum Programm&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Am Vormittag stellt sich die LfM, als Partner öffentlicher Einrichtungen, ihre medienpädagogischen Angebote vor. Ein besonderer Augenmerk gilt der LfM-Forschung zur Mediennutzung: Prof. Dr. Peter Vorderer („Mediatisierung mobil – Handy und mobile Internetnutzung von Heranwachsenden“) und Dr. Florian Kerkau („Phänomen Social TV – Hype oder Revolution des Fernsehens?“) geben Einblicke in ihre Arbeit.
&lt;/p&gt;

&lt;p&gt;
Am Nachmittag finden Praxis-Inputs in Workshop-Form statt. Schwerpunkte sind:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Snapchat, Instagram und Co. - Jugendschutzrelevanz mobiler Kommunikationsdienste&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Child protect und Surfgarten - Jugendschutzprogramme für mobile Endgeräte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Smartphone, Apps &amp;amp; Co: Kinder &amp;amp; Jugendliche mobil – Eltern mobilisieren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kindersichere Smartphones – Tipps und Empfehlungen für das Surfen und Spielen unterwegs&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Die Teilnahme ist kostenlos. Weitere Details zu Programm und Anmeldung finden sich auf der &lt;a href=&quot;http://www.medienkompetenzportal-nrw.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.medienkompetenzportal-nrw.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Homepage der LfM&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;Informationen zum Programm&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;informationen_zum_programm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;769-&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>Rezzen</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/rezzen?do=revisions&amp;rev=1575021516</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;rezzen&quot;&gt;Rezzen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/prim.jpg?id=archiv%3Aopensim%3Abegriffe%3Arezzen&quot; class=&quot;media&quot; title=&quot;prim.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/prim.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;prim.jpg&quot; alt=&quot;prim.jpg&quot; /&gt;&lt;/a&gt; Etwas rezzen (engl. to rez) bedeutet ein &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/prim&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:prim&quot; data-wiki-id=&quot;archiv:opensim:begriffe:prim&quot;&gt;Prim&lt;/a&gt; in einer 3D-Welt zu erstellen, das entweder durch ein &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/begriffe/script&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:begriffe:script&quot; data-wiki-id=&quot;archiv:opensim:begriffe:script&quot;&gt;Script&lt;/a&gt; erzeugt wird, oder das mit der Maus aus dem &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; in die 3D-Welt gezogen wird. Das Wort „Rez“ geht übrigens aus dem Film „&lt;a href=&quot;http://de.wikipedia.org/wiki/Tron_(Film)&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Tron_(Film)&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Tron&lt;/a&gt;“ zurück und entstammt ursprünglich vermutlich dem englischen Wort Resurrection = Wiederbelebung.
&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:36 +0000</pubDate>
        </item>
        <item>
            <title>Animationen</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/animationen?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;animationen&quot;&gt;Animationen&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;Animationen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;animationen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-25&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;festhalten&quot;&gt;Festhalten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_hold_l_bow.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_hold_l_bow.bvh&quot;&gt;avatar_hold_l_bow.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_hold_r_bazooka.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_hold_r_bazooka.bvh&quot;&gt;avatar_hold_r_bazooka.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_hold_r_handgun.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_hold_r_handgun.bvh&quot;&gt;avatar_hold_r_handgun.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_hold_r_rifle.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_hold_r_rifle.bvh&quot;&gt;avatar_hold_r_rifle.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_hold_throw_r.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_hold_throw_r.bvh&quot;&gt;avatar_hold_throw_r.bvh&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;Festhalten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;festhalten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;26-250&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;frauen-animationen&quot;&gt;Frauen-Animationen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_female_walk.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_female_walk.bvh&quot;&gt;avatar_female_walk.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_female.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_female.bvh&quot;&gt;avatar_sit_female.bvh&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;Frauen-Animationen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;frauen-animationen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;251-358&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;gehenlaufenrennen&quot;&gt;Gehen/Laufen/Rennen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_female_walk.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_female_walk.bvh&quot;&gt;avatar_female_walk.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_slowwalk.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_slowwalk.bvh&quot;&gt;avatar_slowwalk.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_walk.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_walk.bvh&quot;&gt;avatar_walk.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_crouchwalk.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_crouchwalk.bvh&quot;&gt;avatar_crouchwalk.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_run.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_run.bvh&quot;&gt;avatar_run.bvh&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;Gehen\/Laufen\/Rennen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gehenlaufenrennen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;359-566&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;kaempfen&quot;&gt;Kämpfen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_kick_roundhouse_r.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_kick_roundhouse_r.bvh&quot;&gt;avatar_kick_roundhouse_r.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/boxing.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:boxing.bvh&quot;&gt;boxing.bvh&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;K\u00e4mpfen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kaempfen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;567-659&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;posieren&quot;&gt;Posieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_musclebeach.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_musclebeach.bvh&quot;&gt;avatar_musclebeach.bvh&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;Posieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;posieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;660-719&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;schlafenliegen&quot;&gt;Schlafen/Liegen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sleep.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sleep.bvh&quot;&gt;avatar_sleep.bvh&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;Schlafen\/Liegen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schlafenliegen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;720-780&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;sitzen&quot;&gt;Sitzen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit.bvh&quot;&gt;avatar_sit.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_female.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_female.bvh&quot;&gt;avatar_sit_female.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_generic.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_generic.bvh&quot;&gt;avatar_sit_generic.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_ground.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_ground.bvh&quot;&gt;avatar_sit_ground.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_ground_constrained.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_ground_constrained.bvh&quot;&gt;avatar_sit_ground_constrained.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_sit_to_stand.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_sit_to_stand.bvh&quot;&gt;avatar_sit_to_stand.bvh&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;Sitzen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sitzen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;781-1035&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;springen&quot;&gt;Springen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_jump.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_jump.bvh&quot;&gt;avatar_jump.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_jumpforjoy.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_jumpforjoy.bvh&quot;&gt;avatar_jumpforjoy.bvh&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;Springen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;springen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;1036-1126&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;stehenposen&quot;&gt;Stehen/Posen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_stand.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_stand.bvh&quot;&gt;avatar_stand.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_stand_1.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_stand_1.bvh&quot;&gt;avatar_stand_1.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_stand_2.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_stand_2.bvh&quot;&gt;avatar_stand_2.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_stand_3.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_stand_3.bvh&quot;&gt;avatar_stand_3.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_stand_4.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_stand_4.bvh&quot;&gt;avatar_stand_4.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_standup.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_standup.bvh&quot;&gt;avatar_standup.bvh&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;Stehen\/Posen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;stehenposen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;1127-1359&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;tanzen&quot;&gt;Tanzen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance1.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance1.bvh&quot;&gt;avatar_dance1.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance2.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance2.bvh&quot;&gt;avatar_dance2.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance3.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance3.bvh&quot;&gt;avatar_dance3.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance4.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance4.bvh&quot;&gt;avatar_dance4.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance5.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance5.bvh&quot;&gt;avatar_dance5.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance6.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance6.bvh&quot;&gt;avatar_dance6.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance7.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance7.bvh&quot;&gt;avatar_dance7.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_dance8.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_dance8.bvh&quot;&gt;avatar_dance8.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/break-dance-long.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:break-dance-long.bvh&quot;&gt;break-dance-long.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/capoiera3.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:capoiera3.bvh&quot;&gt;capoiera3.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/eikodance.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:eikodance.bvh&quot;&gt;eikodance.bvh&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;Tanzen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tanzen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;1360-1747&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;umdrehen&quot;&gt;Umdrehen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_turn_180.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_turn_180.bvh&quot;&gt;avatar_turn_180.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_turnback_180.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_turnback_180.bvh&quot;&gt;avatar_turnback_180.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_turnleft.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_turnleft.bvh&quot;&gt;avatar_turnleft.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_turnright.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_turnright.bvh&quot;&gt;avatar_turnright.bvh&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;Umdrehen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;umdrehen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;1748-1917&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;zeigen&quot;&gt;Zeigen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_point_me.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_point_me.bvh&quot;&gt;avatar_point_me.bvh&lt;/a&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_media/downloads/avatar_point_you.bvh&quot; class=&quot;media mediafile mf_bvh wikilink2&quot; title=&quot;downloads:avatar_point_you.bvh&quot;&gt;avatar_point_you.bvh&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;Zeigen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zeigen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;1918-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Diskussion &amp; Kommentare</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/talk/download?do=revisions&amp;rev=1575021534</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;
Brit, 2009/01/09 12:43
Kann man Opensim auch auf dem Mac installieren ? Falls ja wo gibt es die Mac-Downloadversion ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/01/09 12:54
Hallo Brit ! Hier findest Du Informationen für Apple Macintosh Nutzer: &lt;a href=&quot;http://opensimulator.org/wiki/Build_Instructions#Mac_OS_X_10.5.2F10.4&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Build_Instructions#Mac_OS_X_10.5.2F10.4&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://opensimulator.org/wiki/Build_Instructions#Mac_OS_X_10.5.2F10.4&lt;/a&gt; Dazu den Hippo-Viewer 0.4.0 für Mac OSX den man sich hier downloaden kann: &lt;a href=&quot;http://dl.getdropbox.com/u/51818/HippoOpenSimViewer-040.dmg&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://dl.getdropbox.com/u/51818/HippoOpenSimViewer-040.dmg&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://dl.getdropbox.com/u/51818/HippoOpenSimViewer-040.dmg&lt;/a&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/05 18:01
Hallo, ich benutze OpenSim offline und wollte daher mal fragen, ob es auch eine offline version vom hippo-viewer gibt.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/05 18:50
Hallo Marc ! Es gibt keine spezielle Offline-Version vom Hippo-Viewer, aber man kann die ganz normale Version auch offline nutzen. Man muss dazu nur die Grid-Einstellungen auf seine persönlichen Bedürfnisse anpassen, z.B. indem man dort lokale IP-Adressen einträgt.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/05 19:01
Ja meine aber, wenn ich es starte steht sowas da von cannot connect to network und als einzigste option kann ich „Quit“ auswählen. Ich nehme an, das das irgendwas mit dem hintergrund pc bzw. den news die auf der loginpage erscheinen zu tun hat.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/05 19:46
Man muss eben zuerst eine lokale Quelle in den Grid-Einstellungen definieren, z.B. Localhost, weil auch die Login-Seite (Splashscreen genannt) eben auch ein Startbild aufmachen will. Wenn da nichts entsprechendes eingetragen wird kommt besagte Fehlermeldung. Das muß im Offline-Modus, also ohne Internetverbindung, halt alles auf eine lokale Quelle konfiguriert werden. Was haben Sie denn bei sich in den Grid-Einstellungen vom Hippo-Viewer eingetragen ? Möglicherweise ist auch der OpenSIM-Server falsch konfiguriert.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/05 19:53
Ich habe den OpenSim erst seit gestern. Beim Hippo habe ich bis jetzt nichts eingetragen. Mir wurde von einem Bekannten die „login.bat“ gegeben. darin steht: hippo.exe -loginuri &lt;a href=&quot;http://127.0.0.1:9000&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://127.0.0.1:9000&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://127.0.0.1:9000&lt;/a&gt; Danke für&amp;#039;s antworten. &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/smile2.svg&quot; class=&quot;icon smiley&quot; alt=&quot;=)&quot; /&gt;
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/05 20:04
Hallo Marc ! Könnten Sie bitte zu uns in den Support kommen (links im Menü auf „Support“ klicken), denn jede Einzelheit hier über die Kommentarfunktion zu übermitteln ist etwas langwierig. Im Support-Chat gehts schneller und direkter.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/05 20:23
Derzeit kein Supporter da
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/05 20:41
Bitte was Geduld, wir sind nur 2 Leute hier und haben grad je 4 Support-Chats gleichzeitig !
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/07 19:16
Hallo allerseits! hab (malwieder) ein Problem. Unzwar diesmal In-Game. Ich habe mir ein Haus gebaut ( mit Sl Ingame BauTool) das problem ist, ich kann durch die Wände laufen und sinke in den Fußboden ein. Kann jemand helfen? Danke!
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/07 19:29
Hallo Marc ! Dieses Problem ist bekannt und wurde bereits in der &lt;abbr title=&quot;Frequently Asked Questions&quot;&gt;FAQ&lt;/abbr&gt; besprochen. Bitte diesen Link nutzen um das Problem zu beheben !
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marc, 2009/05/07 19:42
Ahh Danke ^^
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Patrick, 2009/05/16 17:15
Gibt es eine kostenlose Alternative zu Second Inventory um Objekte aus Second Life nach OpenSim zu bringen ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/16 20:02
Es gibt noch den CopyBot (steht weiter oben unter Tools), der aber gegen die Nutzungsbestimmungen von Second Life verstösst.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Patrick, 2009/05/16 20:44
Gibt es ansonsten keine anderen Alternativen ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/05/16 22:03
Soweit mir bekannt ist nicht.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Andy, 2009/06/02 19:59
Darf ein stand allone Server auch komerziel sein…spricht darf man das land dann vermeiten, verkaufen? Danke!
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/06/04 09:44
&lt;/p&gt;

&lt;p&gt;
Hallo Andy ! Dürfen schon, aber ab man das auch kann ist die Frage, denn erstens verfügt OpenSIM bisher über kein integriertes, funktionierendes Zahlungssystem und zweitens werden sich Käufer von virtuellem Land das sicher mehr als 1x überlegen ob sie für etwas bezahlen sollen was es woanders kostenlos gibt.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
P. Schmid, 2009/06/07 06:06
Eine kleiner hinweis am rande; die scipts von PN, den patriotic nigras funktionieren nur teilweise da ihr code noch auf den älteren server versionen bis 1.20 basiert. Grosse hilfe kann von diesen chaoten nicht erwartet werden da sie a) von second life gebannt sind b) ihr benutzter code veraltet ist c) sie über keine aktuellen informationen betreffend dem servercode verfügen. Wer sein zeugs auf kostenfreiem weg aus sl holen will, benutzt stattdessen den test-client von LL. Mit visual c++ 2005/2008 lässt sich der bot so anpassen dass ihr euer zeugs bequem runtersaugen könnt. viel spass beim üben ;)
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/06/07 13:58
Hallo P. Schmid ! Danke für den wertvollen, wichtigen Hinweis ! Soweit ich viele OpenSIM-User kenne haben diese durchaus erweiterte Kenntnisse gegenüber den meisten, sehr passiven Second Life Nutzern. Diejenigen die Scripts anwenden, egal ob kopiert oder selbstgeschrieben, sind sowieso entweder Sim-Owner, Region-Owner oder Landbesitzer mit detailierteren technischen Kenntnissen und wissen sich in der Regel sehr gut zu helfen, was der OpenSIM Live-Support immer wieder zeigt.
&lt;/p&gt;

&lt;p&gt;
Die im Umlauf befindlichen Scripts sind tatsächlich nicht unbedingt alle OpenSIM-kompatibel, sind oftmals Adaptionen von Second Life Scripts und in den wenigsten Fällen speziell für OpenSIM geschriebene Scripts. Dazu kommen noch die unterschiedlichen OpenSIM Server-Versionen und unterschiedliche OpenSIM Konfigurationen auf denen nicht jedes Script läuft. Man muß fast jedes einzelne Script auf seine Tauglichkeit prüfen und für eine bestimmte Server-Konfiguration anpassen. Aber das ist normal bei einer Software die noch im Alpha-Stadium, also in einer sehr frühen Entwicklungsphase, ist. Wenn man bedenkt das OpenSIM noch nicht mal Version 1.0 hat und das einmal vergleicht mit beispielsweise dem Internet Explorer 1.0 und dem heutigen &lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; 8.0 sieht man wie weit der Weg noch ist.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Thierry Knoller (SL), 2009/06/14 10:58
Ich hab da mal ne Frage wohin muss ich OpenSIMWI-Redux kopieren direkt ins Opensim-Verzeichnis?
Muss man da noch ein Setup dürchführen falls dann wie?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/06/14 11:19
Eine Anleitung zur Installation von OpenSIMwi (Redux) müsste auf der Homepage der Software zu finden sein:
&lt;a href=&quot;http://forge.opensimulator.org/gf/project/opensimwi&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://forge.opensimulator.org/gf/project/opensimwi&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://forge.opensimulator.org/gf/project/opensimwi&lt;/a&gt;
&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: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>Diskussion &amp; Kommentare</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/talk/wiesoweshalbwarum?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;
Roger, 2009/01/19 11:46
Super geschriebener Artikel ! Vielen Dank dafür das sind sehr interessante Anregungen und Aspekte.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Marita, 2009/01/19 11:48
Auch von mir ein Kompliment.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Agnes, 2009/01/19 13:12
Gut gemacht Mike ! Vielen lieben Dank dafür ! Gruss, Agnes
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Will, 2009/01/19 16:42
Nice to see your community grows up
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Adam, 2009/01/20 00:51
Cheers Mike !
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Meike, 2009/02/11 18:41
Klasse gemacht, Respekt ! Endlich mal jemand der alles zusammenfasst.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
totoe, 2009/02/16 03:18
Danke für diesen interessanten Artikel
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Kunigunde von der Alm, 2009/02/20 11:25
Liebe grid`ler… 65536 sq ganze Sim 49152 sq davon Wasser 16384 sq (11200 prims) is dann sozusagen ne bewohnbare ganze sim(nur Land) 4096 sq(2800 prims) eine 1/4 bewohnbare Sim davon. Wahrscheinlich könnte man dann irgendwann wieder seine 1/4 sim um das vierfache erhöhen wenn man das wasser wegrechnet? und dann werden auch monatliche gebühren wieder fällig sein.Zwar weniger, aber dafür so gut wie nix los. In Second life habe ich das Gefühl, das die Leute angestellt haben, die ab und zu auf deinem land vorbeischauen. Anscheinend gibt es nur 500 firmen oder auch inzwischen viel weniger die wirklich was verdienen in SL.Ignoranz ist das größte Problem in SL. Stehn viele Avatare rum die programiert sind und alles alleine machen und kein schwein ist am Pc. Möglicherweise aufgrund einer sich seit 2006 hinziehenden Klage vor dem obersten US-Gerichtshof über die Verkaufspraxis virtueller Ländereien hat Linden Lab im Februar 2007 angekündigt, sich aus dem Landverkauf zurückziehen zu wollen. Womit sich der Betreiber künftig finanzieren will, ist bislang unklar. In einem Interview für die Zeitschrift Focus im Juni 2008 äußerte der neue Geschäftsführer von Linden Lab, Mark Kingdon: „Ich empfehle Geschäftsleuten, eher abzuwarten. In naher Zukunft wird es einen Zeitpunkt geben, an dem sie zurückkommen können, um dem ‚Zweiten Leben’ eine zweite Chance zu geben.“ siehe: &lt;a href=&quot;http://www.focus.de/digital/games/second_life/online-welt-zweite-chance-fuer-second-life_aid_307403.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.focus.de/digital/games/second_life/online-welt-zweite-chance-fuer-second-life_aid_307403.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.focus.de/digital/games/second_life/online-welt-zweite-chance-fuer-second-life_aid_307403.html&lt;/a&gt; Na wie soll das weiter gehn……… Kunigunde(ALM)
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/02/20 11:42
@Kunigunde von der Alm: meine persönliche Empfehlung wenn ich auf dieses Thema von Linden Lab angesprochen werde: „öffnet die Netze“ (respektive Grids), denn nur so haben sie langfristig eine Zukunft ! Insofern ist OpenSIM genau das Projekt welchem ich die grössten Zukunftschancen einräume, denn es ist durch seine integrierten Grid- und Hypergrid-Funktionen per se dazu ausgelegt sich mit anderen Grids und Standalones zu verbinden um so ein 3D-Grid zu implementieren was die Größe von Second Life irgendwann einmal ziemlich alt aussehen lässt.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Guli Deckel, 2009/04/26 09:48
Hallo &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt; Gemeinde: Mich faszinieren die Möglichkeiten, die 3D Simulatoren bieten und ich glaube ebenfalls, dass sich hier eine zukunftsweisenden Technologie entwickelt, die das Web sehr stark verändern wird. Nach über einem Jahr SL ahne ich natürlich auch, welchen Verlockungen hier einige erlegen sein können und leider bereits schon wieder sind. Die Opensim Software ist jedem frei zugänglich und jeder/jede kann mit ein wenig Lernbereitschaft selbst Opensim-Server auf den Weg bringen. Den dabei erarbeiteten Wissensvorsprung nun auch gleich wieder in klingende Münze umzuwandeln, halte ich zumindest für bedenklich. Geld ansich ist ja schon hinreichend genug virtuell geworden und wo das hinführt, sehen wir gerade gegenwärtig jeden Tag. Und in einer virtuellen Welt mit virtueller Währung ist das auch nicht anders, wie SL beweist. immer mehr kreative Köpfe wenden sich ab von dieser Art virtuellem Kapitalismus und suchen nach Alternativen. Es liegt an uns, an jedem Einzelnen von uns, zumindest hier in einer virtuellen Umgebung zu wagen, ohne den schöden Mammon auszukommen und wirklich kreative Kräfte freizusetzen. Ich sage, wer auch hier wieder an Gewinnoptimierung und Vorteilsname glaubt, handelt legitim und es sei jedem gegönnt, der es schafft, hier ein paar Euros zu „verdienen“, wenn man das überhaupt so nennen darf. Aber diese Menschen haben die Intension von Opensim nicht verstanden und das finde ich einfach schade. Welche Möglichkeiten diese Technologie bietet, dass bleibt Menschen, die nur ans Geld denken, verborgen, da nützt auch die vermeintliche Cleverness nichts. Einfach nur verschenktes Potential.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Philo Braham, 2009/06/05 20:18
Sehr interessant. Habe mich gestern eingeloggt und würde das gerne alles direkt begleiten. Leider war aber meine Geduld nicht sehr groß und ich setzte eine schnelle Rückbestätigung voraus, zweifelte an einer wirksamen Anmeldung die ich dann wiederholte. Nun ist ja das ein „Ausschlußkriterium“ und ich habe nichts mehr zu erwarten. Sehr schade fand ich daher, daß kein Support erreichbar war um sich dazu nochmals zu äußern (Doppelanmeldung ohne Hintergedanken). Finde auch das Vorgehen sehr oberlehrerhaft. Wir sind doch Kinder von Gewohnheiten, wenn hier nicht eine simple erwartete Funktion wie die Rückbestätigung zeitnah erfolgt, wo dann im Leben? Ich finde Zweifel am richtigen Vorgehen die sich ,eben daraus, aufdrängen und Wierholungen der Anmeldung dürften doch nicht m. E. zu so ruppigen Verfahrensweisen führen, zumal ja auch bekannt ist, wie schwer es ist sich an richtiger Stelle zu äußern. Ach ja, vielleicht kann von Euch ja mal jemand mit der Glocke an geeigneter Stelle klingeln, damit die richtige Person diese Zeilen liest und doch ein Einsehen hat.
&lt;/p&gt;

&lt;p&gt;
Der Artikel zeigt jedenfalls was diese Welten dennoch ausmacht: Sinn für ein aufrichtiges Engagement zu erkennen und danach auch selbst zu handeln. Ein ganz wertvoller Keim der in all diesen Welten liegt, je stärker sie in ihrer Graduierung von Eigenschaften der Individuen, zum positiven, konstituiert sind. Vielen Dank - und Entschuldigung für die Zweigleisigkeit meiner Einlassung…
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/06/05 22:28
Hallo Philo Braham ! Die Nutzungsregeln sind in einer offenen Netzwerkplattform wie OpenSIM absolut nötig und wichtig um die Bedingungen aller Nutzer möglichst gleichmässig zu verteilen, möglichst jedem gerecht zu werden und keinen zu bevorzugen. Wenn bei Dir eine Ausnahme gemacht werden würde, kämen gleich reihenweise Beschwerden von anderen Usern warum da anders verfahren wird und man hat dann sofort Erklärungsnotstand. Mehrfachanmeldungen sind nicht nur eine Mehrbelastung für Sim-Owner, sondern auch unfair gegenüber anderen Usern. Wir müssen von Usern einfach erwarten können daß diese sich an wenigstens die grundlegensten Punkte halten - und mehr sind die paar Nutzungsregeln auch nicht (wer die TOS von Second Life mal gelesen hat weiss was ich meine) - um ein partnerschaftliches und freundliches Miteinander in den virtuellen Welten zu haben. Im echten Leben ist es auch nicht anders und die Konsequenzen oft härter.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Philo Braham, 2009/06/08 14:36
Nun gut, aber um Reue flehend weiß noch immer ich nicht das rechte zu tun. Ich habe nur eine Mailadresse und den Namen möchte ich übernehmen. Ist nicht ein nunmehr erneutes, manipulierendes Vorgehen viel unsolider? Oder soll ich mit neuer Mail , extra wegen dieses Ausrutschers und neuem Namen eine neue Registrierung vornehmen? Aufwendig und irgendwie ein bischen diskriminierend. Mein Motiv war eben doch nicht mich doppelt anzumelden und das Motiv ist doch eigentlich immer ausschlaggebend, so wie ich die Nutzungsregeln nicht zu Euerm Nachteil anwenden wollte, sondern weil ich an meiner korrekten Vorgehensweise, evtl. der Technik zu zweifeln begann.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
T Berten, 2009/07/02 23:08
Hallo bin noch recht neu hier &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; ich habe da mal eine frage. ich habe einen öffentlichen opensimserver mit 3 inseln. wie kann man den an dem M34 Server von opensim veröffentlichen, so dass andere leute meine meine inseln sehen können ? würde mich über eine antwort freuen,
Gruss Reno Rewell
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/07/03 12:02
Hallo T Berten ! Das ist unter Konfiguration - Sims miteinander verbinden schon erklärt. Um Sims miteinander zu verbinden muß man genauso wie auf einer Homepage einen Link auf seiner Homepage setzen. Dann geht der Link aber nur von der eigenen Sim zur Sim von dem anderen. Damit dort auch ein Link zu sehen ist muß der andere Sim-Betreiber auch einen Link machen.
&lt;/p&gt;

&lt;p&gt;
Mit anderen Worten: Sie selbst können Ihre Sim nicht bei uns sichtbar machen, sondern das können nur wir. Sie können auf Ihrer Sim aber unsere Sim sichtbar machen, indem Sie erstens Ihren Simulator im Hypergrid-Modus starten (üblicherweise mit opensim.exe -hypergrid=true) und anschliessend wenn der Simulator fertig geladen ist das folgende Hypergrid-Kommando in der OpenSIM-Konsole eingeben: „link-region 1001 1001 DOMAIN 9090 M34“.
&lt;/p&gt;

&lt;p&gt;
Die hier nur beispielhaft verwendeten Sim-Koordinaten 1001,1001 müssen Sie an Ihre eigenen Verhältnisse anpassen. Wenn Sie nur eine einzelne Region haben und diese die Standard-Koordinaten 1000,1000 hat können Sie das Beispiel übernehmen.
&lt;/p&gt;

&lt;p&gt;
Bitte beachten Sie daß Hypergrid-Links nur zu anderen Sims funktioniert die einen maximalen Abstand von 4096 Sim-Koordinaten haben.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
T Berten, 2009/07/19 03:17
hallo leute ich brauche mal hilfe habe auf meinem sim heuser hochgladen und gebaut,teilweise bleiben die heuser grau und die textur wird nicht geladen weiss jemand wo da das problem ist ? über hilfe wäre ich dankbar
gruss Reno Rewell
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/07/19 03:24
Das Texturen bei kopierten Objekten öfters mal nicht laden habe ich auch immer wieder beobachten können. Ich vermute das liegt daran daß die Texturen vom ursprünglichen Server weiterhin referenziert werden und nicht mitkopiert wurden.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
T Berten, 2009/07/28 08:10
ein mal dank an Michael für den tipp mit den texturen sie werden vom ursprünglichen server geladen aber ich brauche da noch mal hilfe weiss jemand was man machen muss um fahr scripte zum laufen zu bekommen oder geht das garnicht ?
gruss Reno Rewell und was muss ich machen das ich mit meiner sim an opensim angebunden werde ?
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/07/28 09:54
Ein einfaches Fahr-Script befindet sich im Downloadbereich (Downloads - Scripts) unter dem Namen „Takecontrol Drive“. Wie man Sims per Hypergrid miteinander verbindet steht unter Konfiguration - Sims miteinander verbinden.
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
T Berten, 2009/07/29 16:52
hallo, danke nochmal an michael für die info, aber ich habe mich wohl falsch ausgedrückt mit der anbindung. ich möchte wissen, was ich machen muss, dass meine sim am M34 veröffentlich wird.
gruss reno rewell
&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;
Mike, 2009/07/30 11:52
Sie selbst können es nicht beeinflussen ob Ihre Sim auf unserer Map zu sehen ist, das können nur wir selber. Das funktioniert vom Prinzip her exakt genauso wie ein externer Link auf einer Homepage. Ich gebe dazu ein Beispiel wie es im Internet millionenfach praktiziert wird und für Sims ebenso gilt:
&lt;/p&gt;

&lt;p&gt;
Sie können zwar auf Ihrer Homepage (hier: Ihre Sim) einen Link zu unserer Homepage (hier: unsere Sim) machen, aber das heisst noch lange nicht daß damit automatisch auch ein Link zu Ihrer Homepage (hier: Ihre Sim) auf unserer Homepage (hier: unsere Sim) existiert.
&lt;/p&gt;

&lt;p&gt;
Das kann technisch auch gar nicht funktionieren, denn nicht alle Sims sind gleich und haben völlig unterschiedliche Koordinaten. Bei einem Link-Region Kommando muss man aber die Koordinaten für externe Sims festlegen wo diese auf der eigenen Map erscheinen sollen. Die Maps der jeweiligen Standalone-Sims sind jedoch völlig unterschiedlich und damit auch die Koordinaten der extern eingebundenen Sims. Es muss also jeder einzelne Sim-Betreiber einer Standalone-Sim festlegen wo genau externe Sims auf der eigenen Map angezeigt werden sollen.
&lt;/p&gt;

&lt;p&gt;
Um also auf den Maps beider Sims die jeweils andere Sim anzuzeigen, müssen beide Sim-Owner einen Link-Region Kommando zur anderen Sim einrichten, sonst ist das wie eine Einbahnstrasse und der Avatar kommt nur mit dem Home-Kommando wieder zurück wo er herkam. Ob der jeweils andere Sim-Owner allerdings gewillt ist jeweils alle eingehenden Links auch wieder gegenzuverlinken und damit unter Umständen die Aufteilung seiner Map zu zerstören ist eine andere Sache.
&lt;/p&gt;

&lt;p&gt;
Um zu Ihrer Frage zu kommen:
Damit wir externe Sims auf der Map unserer Sim anzeigen können, benötigen wir die &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt; und Port Ihrer Sim, sowie den Namen der Sim. Wir nehmen allerdings nur Sims auf die rund um die Uhr dauerhaft in Betrieb sind und keine testweise eingerichteten Sims.
&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>Ad-hoc</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ad-hoc?do=revisions&amp;rev=1575021549</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ad-hoc&quot;&gt;Ad-hoc&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der Ad-hoc Modus ist eine bestimmte Peer-to-Peer (P2P) Betriebsart von WLAN-Netzwerkkarten. Im Ad-hoc Modus kommunizieren zwei oder mehr WLAN-Karten direkt miteinander, ohne einen zentralen Access Point. Die erzielbaren Reichweiten sind weitaus geringer als in WLAN´s mit einem zentralen Access Point. Wichtig bei der Ad-hoc Kommunikation ist, daß alle beteiligten Stationen diesselbe SSID (Stationskennung) verwenden und das die Stationen relativ nahe beieinander stehen müssen um sich „zu sehen“.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:59:09 +0000</pubDate>
        </item>
        <item>
            <title>PTMP</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ptmp?do=revisions&amp;rev=1575021550</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptmp&quot;&gt;PTMP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point-to-Multipoint (Punkt-zu-Mehrpunkt-Verbindung).
&lt;/p&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:59:10 +0000</pubDate>
        </item>
        <item>
            <title>PTP</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/betriebsarten/ptp?do=revisions&amp;rev=1575021550</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptp&quot;&gt;PTP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point-to-Point (Punkt-zu-Punkt-Verbindung).
&lt;/p&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:betriebsarten</category>
            <pubDate>Fri, 29 Nov 2019 10:59:10 +0000</pubDate>
        </item>
        <item>
            <title>PTMP</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/protokolle/ptmp?do=revisions&amp;rev=1575021552</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptmp&quot;&gt;PTMP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
(Point-to-Multipoint) Punkt-zu-Mehrpunkt Verbindung
&lt;/p&gt;

&lt;p&gt;
Falsche Kategorie, gehört zu den Betriebsarten. Hier steht das „P“ mal ausnahmsweise nicht für „Protocol“.
&lt;/p&gt;

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

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:protokolle</category>
            <pubDate>Fri, 29 Nov 2019 10:59:12 +0000</pubDate>
        </item>
        <item>
            <title>PTP</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/protokolle/ptp?do=revisions&amp;rev=1575021552</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;ptp&quot;&gt;PTP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Point to Point (Punkt-zu-Punkt Verbindung)
&lt;/p&gt;

&lt;p&gt;
Falsche Kategorie, gehört zu den Betriebsarten. Hier steht das „P“ mal ausnahmsweise nicht für „Protocol“.
&lt;/p&gt;

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

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:protokolle</category>
            <pubDate>Fri, 29 Nov 2019 10:59:12 +0000</pubDate>
        </item>
        <item>
            <title>Shared Key</title>
            <link>http://itclive.spdns.de/wiki/archiv/wlan/sicherheit/shared_key?do=revisions&amp;rev=1575021553</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;shared_key&quot;&gt;Shared Key&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Beim shared Key Verfahren wird zur Authentifizierung von auf einen Access Point zugriffsberechtigten WLAN-Clients ein Challenge Response Verfahren auf Basis des WEP-Keys gemacht. Dazu wird die Authentifizierungsanfrage von WLAN-Clients mit einem 128 Byte langen Zufallstext vom Access Point beantwortet. Der WLAN-Client verschlüsselt diesen Zufallstext anhand des beiden Systemen bekannten WEP-Schlüssels und sendet das Ergebnis als Antwort an den Access Point zurück. Erst wenn der Access Point diese Antwort über den eingestellten WEP-Schlüssel wieder rekonstruieren kann, erhält der Client Zugriff auf das Netz. Dieses Verfahren kostet natürlich etwas Performance, macht aber den Datenverkehr per Funk etwas sicherer als völlig ungeschützte Systeme. Allerdings ist dieses Verfahren nicht sicher gegenüber Replay-Attacken und gilt deshalb als unsicher.
&lt;/p&gt;

&lt;p&gt;
Der am Access Point benutzte WEP-Schlüssel muß an allen angeschlossenen WLAN-Clients identisch sein. Da alle WLAN-Clients quasi denselben Schlüssel verwenden (to share = teilen) um sich als berechtigter Nutzer am Access Point zu authentifizieren ist dieses System für professionelle Hotspots mit individualisierten User-Logins (z.B. zur Abrechnung) völlig unbrauchbar.
&lt;/p&gt;

&lt;p&gt;
Der Unterschied zum sichereren Personal-Key-Verfahren ist, dass hier ganze Gruppen von Usern denselben Schlüssel benutzen. Es kann über diese Methode also festgestellt werden, ob jemand überhaupt die Berechtigung hat, sich in ein Netz einzulinken – die Frage, um wen es sich nun aber ganz genau handelt, wird mit diesem Verfahren jedoch nicht geklärt.
&lt;/p&gt;

&lt;p&gt;
Auch wenn bei diesem Verfahren der WEP-Key involviert ist, hat die Benutzer-Authentifizierung nichts mit der Daten-Verschlüsselung zu tun, denn beide Systeme sind unabhängig voneinander. Da das shared Key Verfahren eigentlich nicht wirklich wasserdicht funktioniert wie es sollte und zudem beim Cracken des WEP-Keys hilft ist es zu empfehlen Open System zu verwenden, am besten in Kombination mit einem professionellen Verschlüsselungssystem wie IPsec auf höherer Ebene und zur Authentifizierung von berechtigten Usern einen RADIUS-Server (Stichwort: Virtual Private Network, VPN).
&lt;/p&gt;

&lt;p&gt;
Siehe auch &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/wlan/sicherheit/open_system&quot; class=&quot;wikilink1&quot; title=&quot;archiv:wlan:sicherheit:open_system&quot; data-wiki-id=&quot;archiv:wlan:sicherheit:open_system&quot;&gt;Open System&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:wlan:sicherheit</category>
            <pubDate>Fri, 29 Nov 2019 10:59:13 +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>Bounce</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/bounce?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;bounce&quot;&gt;Bounce&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;default {
    state_entry() {
        llSetTimerEvent( 15 );
   
    }
    timer() {
            float mass = llGetMass();
           
           
           
            vector force = &amp;lt;0,0,10.0&amp;gt;;
            vector result = mass * force;
           
            result.x = (float) result.x;
            result.y = (float) result.y;
            result.z = (float) result.z;
           
         llApplyImpulse(result,FALSE);
    }

}


// *MAKE SURE PRIM IS SET TO PHYSICAL&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>Briefkasten</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/briefkasten?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;briefkasten&quot;&gt;Briefkasten&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Per Notecard eine Nachricht hinterlassen die per E-Mail zugestellt wird.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;default 
{ 
state_entry() 
{ 
llSetText(&amp;quot;Bitte ziehe Deine Nachricht von Deinem Inventar auf den Briefkasten&amp;quot;,&amp;lt;1,1,1&amp;gt;,1);
llAllowInventoryDrop(TRUE); 
llSay(0, &amp;quot;Please drag your Notecard from your Inventory to the Mailbox.&amp;quot;); 
} 
changed(integer mask) 
{ 
if(mask &amp;amp; (CHANGED_ALLOWED_DROP | CHANGED_INVENTORY)) 
llWhisper(0, &amp;quot;Thank you for submitting your Notecard !
Danke fuer Deine Nachricht !&amp;quot;); 
integer count = llGetInventoryNumber(INVENTORY_NOTECARD);
llInstantMessage(llGetOwner(), &amp;quot;Sie haben &amp;quot;+(string) count +&amp;quot; neue Nachrichten&amp;quot;);
llEmail(&amp;quot;adresse@domain.xyz&amp;quot;, &amp;quot;E-Mail von OpenSim&amp;quot;, &amp;quot;Sie haben &amp;quot;+(string) count +&amp;quot; neue Nachrichten&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>Dynamic Texture</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/dynamic_texture?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;dynamic_texture&quot;&gt;Dynamic Texture&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Dieses Script kann Bilder im Format bmp, gif und jpg auf Webseiten auf Prims abbilden. Die URL´s der Bilder können im Script leicht an die persönlichen Bedürfnisse angepasst werden. Mit Klick auf das Prim werden die Bilder angezeigt. Lässt sich beispielsweise für Webcams gut nutzen.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;//cs
// kinoc test script
// each touch advances to the next picture
integer picindex=0;
LSL_Types.list urlarray = [] ;
public void default_event_state_entry()
{
llSay( 0, &amp;quot;cs osSetDynamicTextureURL Tester&amp;quot;);
urlarray.Add(&amp;quot;http://www.goes.noaa.gov/FULLDISK/GEVS.JPG&amp;quot;);
urlarray.Add(&amp;quot;http://www.goes.noaa.gov/FULLDISK/MTVS.JPG&amp;quot;);
urlarray.Add(&amp;quot;http://www.goes.noaa.gov/FULLDISK/GIVS.JPG&amp;quot;);
urlarray.Add(&amp;quot;http://www.goes.noaa.gov/FULLDISK/GMVS.JPG&amp;quot;);
urlarray.Add(&amp;quot;http://www.osei.noaa.gov/IOD/OSEIiod.jpg&amp;quot;);
urlarray.Add(&amp;quot;http://internettrafficreport.com/gifs/tr_map_global.gif&amp;quot;);
}
 
public void default_event_touch_start(integer total_number)
{
llSay( 0, &amp;quot;Fetching.&amp;quot;);
string dynamicID=&amp;quot;&amp;quot;;
integer refreshRate = 600;
string contentType=&amp;quot;image&amp;quot;;
picindex = (picindex+1) % urlarray.Length;
string srcURL = urlarray.GetSublist(picindex,picindex).ToString(); // URL
string URLTexture=osSetDynamicTextureURL(dynamicID, contentType ,srcURL , &amp;quot;&amp;quot;, refreshRate );
if (llStringLength(URLTexture)&amp;gt;0)
{
llSay(0,&amp;quot;URLTexture = &amp;quot;+srcURL);
llSetTexture(URLTexture, 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:39 +0000</pubDate>
        </item>
        <item>
            <title>Poseball</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/poseball?do=revisions&amp;rev=1575021522</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;poseball&quot;&gt;Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Jippen Faddoul&amp;#039;s Poseball script - Low ram/lag posepall thats just drag-and drop simple
// Copyright (C) 2007 Jippen Faddoul
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License version 3, as
//    published by the Free Software Foundation.
//
//    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, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;



//This text will appear in the floating title above the ball
string TITLE=&amp;quot;Sit here&amp;quot;;           
//You can play with these numbers to adjust how far the person sits from the ball. ( &amp;lt;X,Y,Z&amp;gt; )
vector offset=&amp;lt;0.0,0.0,0.5&amp;gt;;           

///////////////////// LEAVE THIS ALONE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
string ANIMATION;
integer visible = TRUE;
key avatar;

vector COLOR = &amp;lt;1.0,1.0,1.0&amp;gt;;
float ALPHA_ON = 1.0;
float ALPHA_OFF = 0.0;

show(){
    visible = TRUE;
    llSetText(TITLE, COLOR,ALPHA_ON);       
    llSetAlpha(ALPHA_ON, ALL_SIDES);
}

hide(){
    visible = FALSE;
    llSetText(&amp;quot;&amp;quot;, COLOR,ALPHA_ON);       
    llSetAlpha(ALPHA_OFF, ALL_SIDES);
}

default{
    state_entry() {
        llSitTarget(offset,ZERO_ROTATION);
        if((ANIMATION = llGetInventoryName(INVENTORY_ANIMATION,0)) == &amp;quot;&amp;quot;){
            llOwnerSay(&amp;quot;Error: No animation&amp;quot;);
            ANIMATION = &amp;quot;sit&amp;quot;;
            }
        llSetSitText(TITLE);
        show();
    }

    touch_start(integer detected) {
        //llOwnerSay(&amp;quot;Memory: &amp;quot; + (string)llGetFreeMemory());
        if(visible){ hide(); }
        else       { show(); }
    }

    changed(integer change) {
        if(change &amp;amp; CHANGED_LINK) {
            avatar = llAvatarOnSitTarget();
            if(avatar != NULL_KEY){
                //SOMEONE SAT DOWN
                hide();
                llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
                return;
            }else{
                //SOMEONE STOOD UP
                if (llGetPermissionsKey() != NULL_KEY){ llStopAnimation(ANIMATION); }
                show();
                return;
            }
        }
        if(change &amp;amp; CHANGED_INVENTORY) { llResetScript(); }
        if(change &amp;amp; CHANGED_OWNER)     { llResetScript(); }
    }

    run_time_permissions(integer perm) {
        if(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) {
            llStopAnimation(&amp;quot;sit&amp;quot;);
            llStartAnimation(ANIMATION);
            hide();
        }
    }
}&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>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>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>Zero Lag Poseball</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/zero_lag_poseball?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;zero_lag_poseball&quot;&gt;Zero Lag Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Jippen Faddoul&amp;#039;s Poseball script - Low ram/lag posepall thats just drag-and drop simple
// Copyright (C) 2007 Jippen Faddoul
//    This program is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License version 3, as 
//    published by the Free Software Foundation.
//
//    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, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;
 
 
 
//This text will appear in the floating title above the ball
string TITLE=&amp;quot;Sit here&amp;quot;;            
//You can play with these numbers to adjust how far the person sits from the ball. ( &amp;lt;X,Y,Z&amp;gt; )
vector offset=&amp;lt;0.0,0.0,0.5&amp;gt;;            
 
///////////////////// LEAVE THIS ALONE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
string ANIMATION;
integer visible = TRUE;
key avatar;
 
vector COLOR = &amp;lt;1.0,1.0,1.0&amp;gt;;
float ALPHA_ON = 1.0;
float ALPHA_OFF = 0.0;
 
show(){
    visible = TRUE;
    llSetText(TITLE, COLOR,ALPHA_ON);        
    llSetAlpha(ALPHA_ON, ALL_SIDES);
}
 
hide(){
    visible = FALSE;
    llSetText(&amp;quot;&amp;quot;, COLOR,ALPHA_ON);        
    llSetAlpha(ALPHA_OFF, ALL_SIDES);
}
 
default{
    state_entry() {
        llSitTarget(offset,ZERO_ROTATION);
        if((ANIMATION = llGetInventoryName(INVENTORY_ANIMATION,0)) == &amp;quot;&amp;quot;){
            llOwnerSay(&amp;quot;Error: No animation&amp;quot;);
            ANIMATION = &amp;quot;sit&amp;quot;;
            }
        llSetSitText(TITLE);
        show();
    }
 
    touch_start(integer detected) {
        //llOwnerSay(&amp;quot;Memory: &amp;quot; + (string)llGetFreeMemory());
        if(visible){ hide(); }
        else       { show(); }
    }
 
    changed(integer change) {
        if(change &amp;amp; CHANGED_LINK) {
            avatar = llAvatarOnSitTarget();
            if(avatar != NULL_KEY){
                //SOMEONE SAT DOWN
                hide();
                llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
                return;
            }else{
                //SOMEONE STOOD UP
                if (llGetPermissionsKey() != NULL_KEY){ llStopAnimation(ANIMATION); }
                show();
                return;
            }
        }
        if(change &amp;amp; CHANGED_INVENTORY) { llResetScript(); }
        if(change &amp;amp; CHANGED_OWNER)     { llResetScript(); }
    }
 
    run_time_permissions(integer perm) {
        if(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) {
            llStopAnimation(&amp;quot;sit&amp;quot;);
            llStartAnimation(ANIMATION);
            hide();
        }
    }
}&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>
    </channel>
</rss>
