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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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>Mon, 06 Apr 2026 00:36:50 +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>Adam Frisby</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/personen/adam_frisby?do=revisions&amp;rev=1575021532</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;adam_frisby&quot;&gt;Adam Frisby&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/adam_frisby.jpg?id=archiv%3Aopensim%3Apersonen%3Aadam_frisby&quot; class=&quot;media&quot; title=&quot;adam_frisby.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/adam_frisby.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;adam_frisby.jpg&quot; alt=&quot;adam_frisby.jpg&quot; /&gt;&lt;/a&gt; Adam Frisby ist einer der Hauptentwickler des OpenSimulator (Avatar Adam Zaius) von der Firma DeepThink.
&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://www.adamfrisby.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.adamfrisby.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.adamfrisby.com&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://twitter.com/AdamFrisby&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://twitter.com/AdamFrisby&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://twitter.com/AdamFrisby&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:personen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:52 +0000</pubDate>
        </item>
        <item>
            <title>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>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>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>Emby</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/emby?do=revisions&amp;rev=1633421607</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;emby&quot;&gt;Emby&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/emby.png?w=600&amp;amp;tok=5c6555&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt; Emby ist eine Media-Server für Videos, Audios und Fotos die wir in der Version als TurnKey Mediaserver im Einsatz haben. TurnKey Mediaserver hat zusätzlich ein Datei-Management System mit Windows-kompatiblen (SMB) Dateizugriff, SFTP, rsync, NFS und WebDAV an Bord. Die Medien können auf einem öffentlichen und auf privaten Speichern zur Verfügung gestellt werden.
&lt;/p&gt;

&lt;p&gt;
Siehe auch &lt;a href=&quot;http://itclive.spdns.de/wiki/anleitungen/software/jellyfin&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:software:jellyfin&quot; data-wiki-id=&quot;anleitungen:software:jellyfin&quot;&gt;Jellyfin&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;Emby&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;emby&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-494&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;links&quot;&gt;Links&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://emby.media&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://emby.media&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://emby.media&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.turnkeylinux.org/mediaserver&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.turnkeylinux.org/mediaserver&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.turnkeylinux.org/mediaserver&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;495-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Tue, 05 Oct 2021 10:13:27 +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>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>OpenSIM-Installation unter Linux</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/installation/linux?do=revisions&amp;rev=1575021527</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensim-installation_unter_linux&quot;&gt;OpenSIM-Installation unter Linux&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

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

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

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

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

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

&lt;/div&gt;

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

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

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

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

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

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

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

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

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

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

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

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

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Konfigurationstipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_konfigurationstipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;12635-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:installation</category>
            <pubDate>Fri, 29 Nov 2019 10:58:47 +0000</pubDate>
        </item>
        <item>
            <title>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>Jellyfin</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/jellyfin?do=revisions&amp;rev=1633419973</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;jellyfin&quot;&gt;Jellyfin&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/jellyfin.jpg?w=600&amp;amp;tok=c3da0d&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt; Jellyfin ist eine Suite von Multimedia-Anwendungen zum Organisieren, Verwalten und Freigeben digitaler Mediendateien für vernetzte Geräte.
&lt;/p&gt;

&lt;p&gt;
Siehe auch &lt;a href=&quot;http://itclive.spdns.de/wiki/anleitungen/software/emby&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:software:emby&quot; data-wiki-id=&quot;anleitungen:software:emby&quot;&gt;Emby&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;Jellyfin&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jellyfin&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-266&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://jellyfin.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://jellyfin.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://jellyfin.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;267-311&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;standard-ports&quot;&gt;Standard-Ports&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; 8096&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 8920&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;Standard-Ports&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;standard-ports&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;312-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Tue, 05 Oct 2021 09:46:13 +0000</pubDate>
        </item>
        <item>
            <title>Links</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/links?do=revisions&amp;rev=1575021544</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In unseren Links finden Sie weiterführende, weltweite Quellen in verschiedenen Sprachen zu OpenSIM die uns bekannt sind. Falls Sie noch weitere Links kennen die hier nicht aufgeführt sind können Sie diese über die Diskussion einfügen.
&lt;/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;:1,&amp;quot;range&amp;quot;:&amp;quot;1-260&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;opensim_server_betreiber&quot;&gt;OpenSIM Server Betreiber&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;

&lt;h4 id=&quot;deutschsprachige_opensim_betreiber&quot;&gt;Deutschsprachige OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://2lifegrid.game-host.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://2lifegrid.game-host.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;2life Grid&lt;/a&gt; - CH&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://account.3dsim.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://account.3dsim.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;3Dsim&lt;/a&gt; - DE&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.annuna.net/opengrid&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.annuna.net/opengrid&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Annuna&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &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;Birnenland&lt;/a&gt; - DE-Magdeburg (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://sim-linuxmain.org:8081/CuonGrid/index.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://sim-linuxmain.org:8081/CuonGrid/index.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cuon Grid&lt;/a&gt; - DE-Loehne&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://eu-grid.eu&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://eu-grid.eu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;EU-Grid&lt;/a&gt; - DE-Syke (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.germangrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.germangrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;German Grid&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.grid4us.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.grid4us.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Grid4us&lt;/a&gt; - DE-Kaiserslautern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.jamland.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.jamland.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Jamland&lt;/a&gt; - DE-Plauen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metropolis&lt;/a&gt; - DE-Asbach-Bäumenheim / DE-VS-Schwenningen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://liliagrid.de.vu&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://liliagrid.de.vu&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Lilia Grid&lt;/a&gt; - &lt;a href=&quot;http://www.eis.bplaced.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.eis.bplaced.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Lilia Grid&lt;/a&gt; - DE-Laer (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.next-reality.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.next-reality.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Next Reality&lt;/a&gt; - DE-Glauburg (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.open-d-grid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.open-d-grid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open D:Grid&lt;/a&gt; - DE-Sundern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.osgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid.de&lt;/a&gt; - DE-Bad Aibling (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.playneko.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.playneko.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Playneko&lt;/a&gt; - DE-Blankenfelde (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.swissopensim.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.swissopensim.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SwissOpenSim Grid&lt;/a&gt; - CH&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.talentraspel.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.talentraspel.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;TalentRaspel Grid&lt;/a&gt; - DE-Karlsruhe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtyou.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtyou.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtyou&lt;/a&gt; - DE-Berlin&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.yourgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.yourgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;YourGrid&lt;/a&gt; - DE-Pfinztal (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;englischsprachige_opensim_betreiber&quot;&gt;Englischsprachige OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.apex-grid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.apex-grid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Apex Grid&lt;/a&gt; - Henderson, Nevada, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.augrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.augrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;AUGrid&lt;/a&gt; - Scranton, Pennsylvania, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.centralgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.centralgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;CentralGrid&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://condensationland.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://condensationland.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Condensation Land&lt;/a&gt; -&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.deepgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.deepgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DeepGrid&lt;/a&gt; - Villas, New Jersey, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.diamondcloud.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.diamondcloud.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DiamondCloud Grid&lt;/a&gt; - North Charleston, South Carolina, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dreamstategrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dreamstategrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Dream State Grid&lt;/a&gt; - Clementon, New Jersey, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.xrgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.xrgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Extreme Reality Grid&lt;/a&gt; - Holland, Pennsylvania, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.gridsplash.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.gridsplash.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Grid Splash&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://litesim.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://litesim.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;LiteSim&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://metaversesims.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://metaversesims.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metaversesims&lt;/a&gt; - (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://openlifegrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://openlifegrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenLifeGrid&lt;/a&gt; - San Diego, California, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.osgrid.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.osgrid.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid&lt;/a&gt; - San Francisco, California, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://pleasureplanet.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://pleasureplanet.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Pleasure Planet&lt;/a&gt; - Poway, California, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://reactiongrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://reactiongrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ReactionGrid&lt;/a&gt; - Ft. Pierce, Florida, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.sciencesim.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.sciencesim.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ScienceSim&lt;/a&gt; - USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.thecontentgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.thecontentgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;The Content Grid&lt;/a&gt; -&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.uvatar.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.uvatar.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Uvatar&lt;/a&gt; - Dallas, Texas, USA&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.vizigrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.vizigrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ViziGrid&lt;/a&gt; - Kapaa, Hawaii, USA (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;andere_sprachen_opensim_betreiber&quot;&gt;Andere Sprachen OpenSIM Betreiber&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtualworldgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtualworldgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;FrancoGrid&lt;/a&gt; - Spanien&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.cyberlandia.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.cyberlandia.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cyberlandia&lt;/a&gt; - Italien&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://k-grid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://k-grid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;K-Grid&lt;/a&gt; - Frankreich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.newworldgrid.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.newworldgrid.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;New World Grid&lt;/a&gt; - Frankreich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.tribalnet.se&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.tribalnet.se&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Tribal Net&lt;/a&gt; - Schweden (offline)&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;OpenSIM Server Betreiber&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_server_betreiber&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;261-3375&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;opensim_blogs&quot;&gt;OpenSIM Blogs&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.3dgrid.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.3dgrid.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;3DGrid&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.adamfrisby.com/blog&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.adamfrisby.com/blog&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Adam Frisby&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.cybertechnews.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.cybertechnews.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Cybertechnews&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://dantonsideways.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://dantonsideways.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Danton Sideways&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://hallow.twoday.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://hallow.twoday.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Hallow Palmer, Grid4us&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://gwynethllewelyn.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://gwynethllewelyn.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Gwyneth Llewelyn&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://justincc.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://justincc.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Justincc´s OpenSIM Blog&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://metaverse.acidzen.org/2007/the-opensim-project&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://metaverse.acidzen.org/2007/the-opensim-project&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Living in the Metaverse&lt;/a&gt; - englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://imohax.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://imohax.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mo Hax&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://modrex.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://modrex.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Modrex Experiences&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://mrtopf.de/blog&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://mrtopf.de/blog&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mr. Topf&lt;/a&gt; - englisch/deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimuser.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimuser.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Maxx Monde&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://twitter.com/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://twitter.com/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM on Twitter&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensim.it&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensim.it&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Opensim.it&lt;/a&gt; - italienisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.ning.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.ning.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Users&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensimulator.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator Project&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.palloopetrov.de/category/virtuelle-welten/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.palloopetrov.de/category/virtuelle-welten/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Palloo Petrov&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://snoopypfeffer.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://snoopypfeffer.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Snoopy Pfeffer&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://outsidersopensim.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://outsidersopensim.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;The Outsider´s OpenSim Blog&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://xyzzyxyzzy.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://xyzzyxyzzy.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;xyzzyxyzzy&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://zonjacapalini.wordpress.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://zonjacapalini.wordpress.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Zonja Capalini&lt;/a&gt; - englisch&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;OpenSIM Blogs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_blogs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3376-4841&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;opensim_foren&quot;&gt;OpenSIM Foren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.slinfo.de/vb_forum/forumdisplay.php?f=520&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.slinfo.de/vb_forum/forumdisplay.php?f=520&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLinfo OpenSIM-Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=listcat&amp;amp;catid=1006&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://slinside.com/index.php?option=com_fireboard&amp;amp;Itemid=462&amp;amp;func=listcat&amp;amp;catid=1006&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLinside OpenSIM-Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://forge.opensimulator.org/gf&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://forge.opensimulator.org/gf&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator GForge&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.openlifegrid.com/Forums/tabid/323/Default.aspx&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.openlifegrid.com/Forums/tabid/323/Default.aspx&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Openlife Grid Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://osgrid.org/forums&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://osgrid.org/forums&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSGrid Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &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;OSGrid Forum&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://opensim.ning.com/forum&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensim.ning.com/forum&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Discussion Forum&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.mail-archive.com/opensim-users@lists.berlios.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mail-archive.com/opensim-users@lists.berlios.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Mailing List&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://lists.berlios.de/pipermail/opensim-users&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://lists.berlios.de/pipermail/opensim-users&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM Mailing List Archiv&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.sluniverse.com/php/vb/opensim-discussion&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.sluniverse.com/php/vb/opensim-discussion&quot; rel=&quot;ugc nofollow noopener&quot;&gt;SLUniverse&lt;/a&gt; - englisch&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;OpenSIM Foren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_foren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4842-5738&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;opensim_wiki-systeme&quot;&gt;OpenSIM Wiki-Systeme&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimulator.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimulator.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimulator.org&lt;/a&gt; - die offizielle OpenSimulator-Website, mehrsprachig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.mikebert.de/archiv/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mikebert.de/archiv/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM-Wiki Archiv&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimwiki.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimwiki.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimwiki.de&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensimgerman.us&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensimgerman.us&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSimGerman.us&lt;/a&gt; - deutsch&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;OpenSIM Wiki-Systeme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_wiki-systeme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5739-6085&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;opensim_themenrelevante_websites&quot;&gt;OpenSIM themenrelevante Websites&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://comlounge.net/de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://comlounge.net/de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;COM.lounge&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://sketchup.google.com/3dwarehouse&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://sketchup.google.com/3dwarehouse&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Google 3D-Galerie&lt;/a&gt; - deutsch/englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://gridhop.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://gridhop.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;GridHop&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergrids.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergrids.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;HyperGrid Projekt&lt;/a&gt; - deutsch/englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.hypergridbusiness.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hypergridbusiness.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;HyperGrid Business&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.industrial-technology-and-witchcraft.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.industrial-technology-and-witchcraft.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Industrial Technology &amp;amp; Witchcraft&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.maxping.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.maxping.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Maxping&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.metaverseink.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.metaverseink.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Metaverse Ink&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.dmu.com/opensime&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.dmu.com/opensime&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSim Hypergrid&lt;/a&gt; - englisch (offline)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://openmv.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://openmv.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open Metaverse Foundation&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.opensim.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensim.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSim.ch&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://osurl.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://osurl.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OSURLs, Location-based Linking Service&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://vue.ed.ac.uk/openvue&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://vue.ed.ac.uk/openvue&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open Vue, the virtual University of Edinburgh&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.projectmanhattan.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.projectmanhattan.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Project Manhattan&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ralf-haifisch.biz&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ralf-haifisch.biz&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ralf Haifisch&lt;/a&gt; - deutsch/englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.swiss-sl.ch&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.swiss-sl.ch&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Swiss OpenSim&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ugotrade.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ugotrade.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;UgoTrade&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtual-world.info&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtual-world.info&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtual World Info&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.virtualworldsnews.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtualworldsnews.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtual World News&lt;/a&gt; - englisch&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;OpenSIM themenrelevante Websites&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_themenrelevante_websites&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6086-7460&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;opensim_news&quot;&gt;OpenSIM News&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://cia.vc/stats/project/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://cia.vc/stats/project/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;CIA.vc, OpenSIM Real-time Open Source Activity Statistics&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://planet.opensim.us&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://planet.opensim.us&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Planet OpenSIM&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ohloh.net/projects/4753?p=OpenSim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ohloh.net/projects/4753?p=OpenSim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Ohloh, the Open Source Network&lt;/a&gt; - englisch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.koinup.com/in-opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.koinup.com/in-opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Koinup&lt;/a&gt; - englisch&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;OpenSIM News&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_news&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7461-7819&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;opensim_in_der_wikipedia&quot;&gt;OpenSIM in der Wikipedia&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://de.wikipedia.org/wiki/OpenSimulator&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/OpenSimulator&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM in der Wikipedia&lt;/a&gt; - deutsch&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenSimulator&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://en.wikipedia.org/wiki/OpenSimulator&quot; rel=&quot;ugc nofollow noopener&quot;&gt;OpenSIM in der Wikipedia&lt;/a&gt; - englisch&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;OpenSIM in der Wikipedia&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim_in_der_wikipedia&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;7820-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim</category>
            <pubDate>Fri, 29 Nov 2019 10:59:04 +0000</pubDate>
        </item>
        <item>
            <title>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>Kosmetik</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/firmen/kosmetik?do=revisions&amp;rev=1576191600</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;kosmetik&quot;&gt;Kosmetik&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;Kosmetik&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kosmetik&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-24&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;beautysalonskosmetikstudios&quot;&gt;Beautysalons / Kosmetikstudios&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; Beautysalon Ladylike, Kahlenstr.31, 59555 Lippstadt, ☎ 02941-2981984, &lt;a href=&quot;http://www.beautysalon-ladylike.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.beautysalon-ladylike.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.beautysalon-ladylike.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; BeautyStudio VeniStyle, Ostlandstr.3, 59558 Lippstadt, ☎ 02941-1504273, &lt;a href=&quot;http://www.venistyle.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.venistyle.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.venistyle.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kosmetikstudio und Fingernagelstudio ANAbella, Erwitterstr.29, 59557 Lippstadt, ☎ 02941-951751, &lt;a href=&quot;http://www.anabella-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.anabella-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.anabella-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kosmetik by Yvonne, Wiedenbrückerstr.6, 59555 Lippstadt, ☎ 02941-22895, &lt;a href=&quot;http://www.kosmetik-by-yvonne.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.kosmetik-by-yvonne.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.kosmetik-by-yvonne.de&lt;/a&gt;‎&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kosmetik und Fußpflege Landre Larissa Schäfermeier, Am Alten Kirchhof 4, 59558 Lippstadt, ☎ 02941-8288658, &lt;a href=&quot;http://www.landre-kosmetik.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.landre-kosmetik.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.landre-kosmetik.de&lt;/a&gt;‎&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Salon Basak, Orientalische und ayurvedische Schönheitspflege, Wiedenbrückerstr.3, 59555 Lippstadt, ☎ 02941-204666, &lt;a href=&quot;http://www.salonbasak.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.salonbasak.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.salonbasak.de&lt;/a&gt;‎&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Studio 86 Tattoo Loft, Poststr.5, 59555 Lippstadt, ☎ 02941-9104538, &lt;a href=&quot;http://www.tattoostudio86.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.tattoostudio86.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.tattoostudio86.de&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;Beautysalons \/ Kosmetikstudios&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;beautysalonskosmetikstudios&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;25-883&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;fusspflegepodologen&quot;&gt;Fußpflege / Podologen&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; Nadjas Fachfußpflege, Lippestr.35, 59558 Lippstadt, ☎ 02941-7435106, &lt;a href=&quot;http://www.fach-fusspflege-hetterich.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.fach-fusspflege-hetterich.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.fach-fusspflege-hetterich.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nikola Bohle, Podologin, Ferdinandstr.15, 59555 Lippstadt, ☎ 02941-9332344, &lt;a href=&quot;http://www.podologie-bohle.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.podologie-bohle.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.podologie-bohle.de&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;Fu\u00dfpflege \/ Podologen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fusspflegepodologen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;884-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:firmen</category>
            <pubDate>Fri, 13 Dec 2019 00:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Motorräder</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/firmen/motorraeder?do=revisions&amp;rev=1459724400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;motorraeder&quot;&gt;Motorräder&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; MotorPoint, Hansastr.18, 59557 Lippstadt, ☎ 02941-25599, &lt;a href=&quot;http://www.motorpoint-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.motorpoint-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.motorpoint-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zweirad Schröder, Windmüllerstr.42, 59557 Lippstadt, ☎ 02941-244403, &lt;a href=&quot;http://www.zweiradschroeder.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.zweiradschroeder.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.zweiradschroeder.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; By Ulli, Kleinestr.1, 59556 Lippstadt, ☎ 02945-200302, &lt;a href=&quot;http://www.byulli.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.byulli.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.byulli.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zweiradcenter, Erwitterstr.109, 59557 Lippstadt‎, ☎ 02941-2025225&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Motorradhaus Glahn Gerd Notorft, Josefstr.3, 59557 Lippstadt, ☎ 02941-17058&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Honda Motorradhaus am Wasser, Windmüllerstr.4, 59557 Lippstadt, ☎ 02941-18257&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:firmen</category>
            <pubDate>Mon, 04 Apr 2016 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Mietangebote</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/immobilien/mietangebote?do=revisions&amp;rev=1565564400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mietangebote&quot;&gt;Mietangebote&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Auf dieser Seite finden Sie direkte Links zu aktuellen Mietangeboten in Lippstadt. Sie können kostenlos ein Inserat schalten und veröffentlichen. Nutzen Sie dazu die Seite &lt;a href=&quot;http://itclive.spdns.de/wiki/immobilien/mietgesuche&quot; class=&quot;wikilink2&quot; title=&quot;immobilien:mietgesuche&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;immobilien:mietgesuche&quot;&gt;Mietgesuche&lt;/a&gt;.
&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://www.immobilienscout24.de/Suche/S-T/Wohnung-Miete/Nordrhein-Westfalen/Soest-Kreis/Lippstadt&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.immobilienscout24.de/Suche/S-T/Wohnung-Miete/Nordrhein-Westfalen/Soest-Kreis/Lippstadt&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Immobilien-Scout24&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.immowelt.de/immobilien/immoliste.aspx?geoid=10805974028&amp;amp;etype=1&amp;amp;esr=2&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.immowelt.de/immobilien/immoliste.aspx?geoid=10805974028&amp;amp;etype=1&amp;amp;esr=2&quot; rel=&quot;ugc nofollow noopener&quot;&gt;ImmoWelt&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;Mietangebote&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mietangebote&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-467&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;aktuelle_mietangebote_in_lippstadt&quot;&gt;Aktuelle Mietangebote in Lippstadt&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul class=&quot;rss&quot;&gt;&lt;li&gt;&lt;div class=&quot;li&quot;&gt;&lt;em&gt;Es ist ein Fehler beim Laden des Feeds aufgetreten: &lt;/em&gt;&lt;a href=&quot;http://www.immonet.de/immobiliensuche/rss.do?&amp;amp;sortby=0&amp;amp;suchart=1&amp;amp;objecttype=1&amp;amp;parentcat=1&amp;amp;city=116437&amp;amp;listsize=100&amp;amp;orderby=objectpublish&amp;amp;ordertype=asc&amp;amp;rssid=abc0-HCs-Auy29YHlIEZt13cde89fb1a&amp;amp;ext=.xml&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.immonet.de/immobiliensuche/rss.do?&amp;amp;sortby=0&amp;amp;suchart=1&amp;amp;objecttype=1&amp;amp;parentcat=1&amp;amp;city=116437&amp;amp;listsize=100&amp;amp;orderby=objectpublish&amp;amp;ordertype=asc&amp;amp;rssid=abc0-HCs-Auy29YHlIEZt13cde89fb1a&amp;amp;ext=.xml&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.immonet.de/immobiliensuche/rss.do?&amp;amp;sortby=0&amp;amp;suchart=1&amp;amp;objecttype=1&amp;amp;parentcat=1&amp;amp;city=116437&amp;amp;listsize=100&amp;amp;orderby=objectpublish&amp;amp;ordertype=asc&amp;amp;rssid=abc0-HCs-Auy29YHlIEZt13cde89fb1a&amp;amp;ext=.xml&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;Aktuelle Mietangebote in Lippstadt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;aktuelle_mietangebote_in_lippstadt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;468-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:immobilien</category>
            <pubDate>Mon, 12 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>UUID</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/uuid?do=revisions&amp;rev=1575021517</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;uuid&quot;&gt;UUID&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Eine UUID (Universally Unique Identifier) ist eine 16 Byte lange Zeichenkette, die etwa wie folgt aussieht: 987fc1b0-bd3b-47fb-8506-2b1ffbec8984
&lt;/p&gt;

&lt;p&gt;
8 Zeichen, 4 Zeichen, 4 Zeichen, 4 Zeichen, 12 Zeichen, alle durch Minuszeichen voneinander abgetrennt. Auf der Second Life Plattform werden UUID an den verschiedensten Stellen verwendet wo komplexe Datensammlung durch einen kleineren, einfacheren Verweis dargestellt werden sollen. Eine UUID ist nur 16 Byte lang. Daten, die einen UUID haben könnten, sind unter anderem:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Avatare&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Landparzellen: Wenn Sie Parzellen erstellen, unterteilen, zusammenfassen oder anderweitig verändern, erhalten diese jedes Mal eine neue UUID&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gruppen: Jede Gruppe, die sich bildet, erhält eine UUID&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Regionen: Sie haben nicht nur eindeutige Namen, sondern auch eindeutige UUID&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Simulator-Status, wobei es sich um Momentaufnahmen einer Region handelt. Sie werden regelmäßig gespeichert und erhalten dann eine UUID&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Geldgeschäfte und Inventar-Transaktionen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ihre Login-Sitzungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ordner in Ihrem Inventar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle von Ihnen erstellten Fotos&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jedes Ereignis und jede Werbung oder Anzeige, die Sie erstellen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Besitz, bei dem es sich um gemeinsam nutzbare Ressourcen handelt, wie etwa Texturen, Objekte, Landmarken, Kleidung und fast alles, was sich in Ihrem Inventar befindet&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;UUID&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uuid&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1366&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;uuid-generator&quot;&gt;UUID-Generator&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Auf der &lt;a href=&quot;http://www.famkruithof.net/uuid/uuidgen&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.famkruithof.net/uuid/uuidgen&quot; rel=&quot;ugc nofollow noopener&quot;&gt;UUID-Generator Webseite&lt;/a&gt; können Sie sich neue UUID-Nummern erzeugen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;UUID-Generator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;uuid-generator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1367-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:37 +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>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>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>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>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>Teleport</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/teleport?do=revisions&amp;rev=1575021524</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;teleport&quot;&gt;Teleport&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Teleport v2.02 by Pablo Pharmanaut
//based on code by Cubey Terra

integer totalPos = 4;                    //This integer should equal total number of positions
integer currentPos = 1;
string currentpos;

vector vPos1 = &amp;lt;117,152,22&amp;gt;;             //These are vectors for the positions to
vector vPos2 = &amp;lt;81,23, 103&amp;gt;;             //which you wish to teleport
vector vPos3 = &amp;lt;83, 49.00, 29&amp;gt;;
vector vPos4 = &amp;lt;67,120,22&amp;gt;;
//vector vPos5 = &amp;lt;143.3,238.8,50.2&amp;gt;;

string sPos1 = &amp;quot;Position One&amp;quot;;           //name of positions, if desired.  This helps
string sPos2 = &amp;quot;Position Two&amp;quot;;           //you to know where you are going!
string sPos3 = &amp;quot;Position Three&amp;quot;;
string sPos4 = &amp;quot;Position Four&amp;quot;;
//string sPos5 = &amp;quot;Position Five&amp;quot;;

vector currentvPos;

setPos()
{
    if (currentPos == 1)
    {
        currentpos = sPos1;
        currentvPos = vPos1;
    }
    else if (currentPos == 2)             
    {                                     
        currentpos = sPos2;               
        currentvPos = vPos2;             
    }                                     
    else if (currentPos == 3)
    {
        currentpos = sPos3;
        currentvPos = vPos3;
    }
    else if (currentPos == 4)
    {
        currentpos = sPos4;
        currentvPos = vPos4;
    }
//  else if (currentPos == 5)
//  {
//      currentpos = sPos5;
//      currentvPos = vPos5;
//  }
   
    //add else if section here with higher currentPos integer to add TP destinations.
    //Don&amp;#039;t forget to increase totalPos integer at top of script

    vector pos = llGetPos();
    llSetText(&amp;quot;Teleport to &amp;quot;+currentpos+&amp;quot;\nTouch me to change destination&amp;quot;,&amp;lt;1,1,1&amp;gt;,1.0);
    vector offset = currentvPos - pos;
    llSitTarget(offset, ZERO_ROTATION);
}

default
{
    state_entry()
    {
        llSetSitText(&amp;quot;Teleport&amp;quot;);            //This changes HUD display from &amp;quot;sit&amp;quot; to &amp;quot;Teleport&amp;quot;
    }
    touch_start(integer total_number)
    {
        currentPos += 1;
        if (currentPos &amp;gt; totalPos) currentPos = 1;
        setPos();
    }
    changed(integer change)
    {
        if ((change &amp;amp; CHANGED_LINK)==CHANGED_LINK)
        {
            if (llAvatarOnSitTarget() != NULL_KEY)
            {
                llUnSit(llAvatarOnSitTarget());
            }
        }
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:44 +0000</pubDate>
        </item>
        <item>
            <title>Tip Jar / Donation Box</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/tip_jar?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;tip_jardonation_box&quot;&gt;Tip Jar / Donation Box&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//Keknehv Psaltery Updated Version of DONATION BOX By jean cook, ama omega, and nada epoch Debugged by YadNi Monde (LoL) Yea, that s a Bunch O Peeps =) 
//Summary: The following script will make an object accept donations on your behalf. 
//Usage: stick it on any object you own(my favorite is a top hat), and it will promptly display: 
//&amp;quot;&amp;lt;your name&amp;gt;&amp;#039;s donation hat. 
//Donate if you are so inclined.&amp;quot; 
//at which point anyone can right click on it and give you a tip. also, the script tells the donator thanks, and then tells you who donated how much 
//also shows the total amount donated
 
integer totaldonated; 
string owner; 
 
default 
{ 
    on_rez( integer sparam ) 
    { 
        llResetScript(); 
    } 
    state_entry() 
    { 
        owner = llKey2Name( llGetOwner() ); 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L0 Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        //Red Light flash 
         llParticleSystem 
        ([ 
            PSYS_PART_FLAGS, 
            PSYS_PART_INTERP_COLOR_MASK| 
            PSYS_PART_FOLLOW_SRC_MASK| 
            PSYS_PART_EMISSIVE_MASK, PSYS_SRC_PATTERN, 
            PSYS_SRC_PATTERN_ANGLE_CONE, 
            PSYS_SRC_INNERANGLE, 0.0, 
            PSYS_SRC_OUTERANGLE, 0.1, 
            PSYS_SRC_BURST_SPEED_MIN, 0.0, 
            PSYS_SRC_BURST_SPEED_MAX, 0.0, 
            PSYS_SRC_BURST_RADIUS, 0.0, 
            PSYS_SRC_BURST_PART_COUNT, 5, 
            PSYS_SRC_BURST_RATE, 1.0, 
            PSYS_PART_MAX_AGE, 1.0, 
            PSYS_PART_START_SCALE, &amp;lt;1,1,1&amp;gt;, 
            PSYS_PART_START_COLOR, &amp;lt;1,0.2,0.2&amp;gt;, 
            PSYS_PART_END_COLOR, &amp;lt;1,0,0&amp;gt;, 
            PSYS_PART_START_ALPHA, 1.0, 
            PSYS_PART_END_ALPHA, 0.0 
        ]); 
        // Rotate 
         llTargetOmega(&amp;lt;0,0,0.05&amp;gt;,PI,0.05); 
    } 
 
    money(key id, integer amount) 
    { 
        totaldonated += amount; 
        llSetText( owner + &amp;quot;&amp;#039;s Tip Jar.\nPlease tip if you are so inclined!\n$L&amp;quot; + (string)amount + &amp;quot; Was donated last!\n&amp;quot; + &amp;quot;$L&amp;quot; + (string)totaldonated + &amp;quot; Donated so far&amp;quot;,&amp;lt;.25,1,.65&amp;gt;,1); 
        llInstantMessage(id,&amp;quot;Thanks for the tip!  I really appreciate it.&amp;quot;); 
        llInstantMessage(llGetOwner(),(string)llKey2Name(id)+&amp;quot; donated $&amp;quot; + (string)amount); 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Youtube Video Player</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/youtube_video_player?do=revisions&amp;rev=1575021525</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;youtube_video_player&quot;&gt;Youtube Video Player&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// ytv by Ziah Zhangsun
// based on the youtubeplayer by Nebadon Izume
// with some few lines of code from DanFernandez Project innerTube

string yt_url = &amp;quot;http://www.youtube.com/watch?v=&amp;quot;; // base url of yt vid
string vid_id = &amp;quot;&amp;quot;;                                // video_id of yt video
string vid_base = &amp;quot;http://www.youtube.com/get_video?fmt=18&amp;amp;video_id=&amp;quot;;
string vid_url = &amp;quot;&amp;quot;;
key    reqid;

string StringBetween(integer pos, string source, string start, string end)
{
    if (pos &amp;gt; 0)
        source = llGetSubString(source, pos, -1);
    integer sindex = llSubStringIndex(source, start);
    integer eindex = llSubStringIndex(source, end);
    if (sindex == -1 || eindex == -1)
        return &amp;quot;&amp;quot;;
    else return llGetSubString(source, sindex + llStringLength(start), eindex -1);
}

default {
   
    state_entry() {
        llListen(7,&amp;quot;&amp;quot;,NULL_KEY,&amp;quot;&amp;quot;);     
        llOwnerSay(&amp;quot;Ready...&amp;quot;);         
    }

    listen( integer channel, string name, key id, string message )
    {
        if(channel == 7) {
            vid_id = message;
            reqid = llHTTPRequest( yt_url + vid_id, [], &amp;quot;&amp;quot; );
        }
    }   
   
    http_response(key id, integer status, list meta, string body) {
        if ( id != reqid )
            return;

        //llOwnerSay(body);

        integer swfArgIdx = llSubStringIndex(body, &amp;quot;swfArgs&amp;quot;);
        string stringArgs = StringBetween(swfArgIdx,body,&amp;quot;{&amp;quot;,&amp;quot;}&amp;quot;);

       
        list allArgs = llParseString2List(stringArgs,[&amp;quot;,&amp;quot;,&amp;quot;\&amp;quot;&amp;quot;,&amp;quot; &amp;quot;],[]);

        //find argName &amp;quot;t&amp;quot; and return value ( this is the token that has to bee added to the url to access the
        //video.mp4 directy.


        integer len = llGetListLength(allArgs);
        integer i;
        string pattern = &amp;quot;&amp;quot;;
        string token = &amp;quot;&amp;quot;;
        for (i = 0; i &amp;lt; len; ++i) {

            pattern = llList2String(allArgs,i);
            if(pattern == &amp;quot;t&amp;quot;) {
                token = llList2String(allArgs,i+2);
                llOwnerSay(&amp;quot;Found Token : &amp;quot; + token);
                i = len; //break from loop
            }
               
        }   

        //finally, if everything goes smooth, set the generated URL to the parcell media
       
        vid_url = vid_base + vid_id + &amp;quot;&amp;amp;t=&amp;quot; + token;
        //llOwnerSay(vid_url);
        llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,vid_url]);
    }
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:45 +0000</pubDate>
        </item>
        <item>
            <title>Virtuelle Maschinen und Container</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/virtuelle_maschinen?do=revisions&amp;rev=1633523902</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;virtuelle_maschinen_und_container&quot;&gt;Virtuelle Maschinen und Container&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Linux-Container und virtuelle Maschinen (VM) sind paketierte Computing-Umgebungen, die verschiedene IT-Komponenten vereinen und vom Rest des Systems isolieren. Sie unterscheiden sich hauptsächlich in Bezug auf ihre Skalierbarkeit und Portierbarkeit.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Virtuelle Maschinen und Container&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtuelle_maschinen_und_container&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-301&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;was_ist_der_unterschied_zwischen_einer_virtuelle_maschine_und_einem_container&quot;&gt;Was ist der Unterschied zwischen einer virtuelle Maschine und einem Container?&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;Was ist der Unterschied zwischen einer virtuelle Maschine und einem Container?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_ist_der_unterschied_zwischen_einer_virtuelle_maschine_und_einem_container&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;302-393&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;virtuelle_maschinen&quot;&gt;Virtuelle Maschinen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Eine virtuelle Maschine (VM) emuliert durch Software ein Computersystem. Dadurch ist es möglich, viele dieser „virtuellen Maschinen“ getrennt voneinander auf einer einzigen Hardware zu betreiben, dem Host-Server. Dabei teilen sich die Softwares der VM – also Betriebssysteme wie Linux oder Windows und entsprechende Anwendungen – die Hardware-Ressourcen wie Festplatten, Arbeitsspeicher und CPU des Host-Servers.  Jede VM hat dabei ein eigenes, vollständiges Betriebssystem, das auf einer emulierten Hardware läuft. Diese wird durch eine Software simuliert, die man Hypervisor nennt. Sie sitzt zwischen dem Betriebssystem des Host-Servers und der virtuellen Maschine. 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;vorteile_von_vm_s&quot;&gt;Vorteile von VM´s&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dank der zahlreichen, ihnen zur Verfügung stehenden Ressourcen können VM´s ganze Server, Betriebssysteme, Desktops, Datenbanken und Netzwerke abstrahieren, aufteilen, duplizieren und emulieren.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;nachteile_von_vm_s&quot;&gt;Nachteile von VM´s&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jede einzelne VM muß getrennt voneinander administriert werden, da diese ja komplett getrennt sind. Dadurch ist der Verwaltungs- und Zeitaufwand beispielsweise bei Updates durch ein vielfaches höher.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ausserdem sind VM´s eine enorme Belastung an Systemressourcen. Jede VM führt nicht nur eine vollständige Kopie eines Betriebssystems aus, sondern auch eine virtuelle Simulation der gesamten Hardware, die dieses Betriebssystem zur Ausführung benötigt. Dies summiert sich schnell zu einer Menge an Arbeitsspeicher und CPU-Zyklen, die blockiert werden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VM´s haben eine geringere Performance (sind langsamer) als reale Maschinen, da sie indirekt über den Hypervisor auf die Hardware zugreifen.&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;Virtuelle Maschinen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtuelle_maschinen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;394-2074&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;container&quot;&gt;Container&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In einen Container werden nur die App und alle zum Ausführen erforderlichen Dateien paketiert. Häufig werden darin auch einzelne Funktionen paketiert, die bestimmte Aufgaben (sogenannte Microservices) ausführen. Container können aufgrund ihrer geringen Größe und ihres gemeinsam genutzten Betriebssystems (&lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;) sehr einfach in verschiedenen Umgebungen hin- und hergeschoben werden.
&lt;/p&gt;

&lt;p&gt;
Wie VM´s sind auch Container ein Weg zur Virtualisierung. Doch sie virtualisieren dabei nicht ein ganzes Computersystem, sondern nur das Betriebssystem. In der Regel enthält ein Container nur eine Anwendung mit allen Binärdateien, Bibliotheken und Konfigurationsdateien, welche diese braucht. Dabei teilt sich jeder Container den Kernel des Host-Betriebssystems und normalerweise auch dessen Binärdateien und Bibliotheken. Diese von allen Containern verwendeten Komponenten sind schreibgeschützt. Durch diese gemeinsame Nutzung ist es nicht notwendig, dass der Code des Betriebssystems mehrmals kopiert werden muss.
&lt;/p&gt;

&lt;p&gt;
Daher sind Container außergewöhnlich klein – sie sind nur wenige Megabyte groß und benötigen daher auch nur Sekunden zum Starten. VM´s dagegen brauchen oft Minuten, bis sie am laufen sind. Durch die geringe Größe von Containern kann man eine sehr große Zahl gleichzeitig auf einem Host-Server ausführen.
&lt;/p&gt;

&lt;p&gt;
Container spielen heute eine große Rolle bei der agilen Softwareentwicklung, da man mit ihnen unzählige Versionen einer Anwendung mit all ihren Abhängigkeiten gleichzeitig testen kann. Zudem machen sie es möglich, sehr große und komplexe Softwarearchitekturen in Softwarekomponenten, sogenannte Microservices, zu zerlegen. Dabei läuft jeder Anwendungsprozess als Microservice in einem eigenen Container und kommuniziert über eine Schnittstelle mit anderen Prozessen. Dadurch ist es möglich, jederzeit einzelne Microservices unabhängig von den anderen zu ändern oder neu zu deployen, ohne die Stabilität der gesamten Softwarearchitektur zu gefährden. Firmen können so schnell große Architekturen aufbauen, skalieren und im laufenden Betrieb entwickeln. Beispiel von Unternehmen, die auf Microservices setzen, sind Google, Amazon und Netflix. 
&lt;/p&gt;

&lt;p&gt;
Die am häufigsten verwendete Plattform zur Container-Virtualisierung ist Docker. Ihr Name wird oft auch als Synonym für die Technologie benutzt. Auch die Cloud Container Engine der Open Telekom Cloud basiert auf Docker.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;vorteile_von_containern&quot;&gt;Vorteile von Containern&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weniger Kosten: Container benötigen weniger Systemressourcen als herkömmliche oder virtuelle Maschinen, da sie nur die erforderlichen Daten zur Ausführung der Applikation enthalten. Unternehmen können durch Container die Zahl ihrer Server und notwendiger Lizenzen stark reduzieren.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Portabilität: Einmal „containerisiert“, können Anwendungen auf jeder beliebigen Infrastruktur bereitgestellt und verschoben werden – auf virtuellen Maschinen, auf Bare Metal und auf verschiedenen Public Clouds mit unterschiedlichen Hypervisoren. DevOps-Teams wissen, dass Anwendungen in Containern unabhängig vom Einsatzort immer gleich ausgeführt werden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Größere Effizienz: In Containern können Anwendungen schneller bereitgestellt, gepatcht oder skaliert werden als in VM´s. Container können daher zum Beispiel Entwicklungs-, Test- und Produktionszyklen stark beschleunigen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;nachteile_von_containern&quot;&gt;Nachteile von Containern&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schwierige Persistenz von Daten: Das Design von Containern sieht vor, dass alle Daten verschwinden, wenn der Container heruntergefahren wird, es sei denn, Sie speichern sie zuerst an einem anderen Ort.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nicht alle Anwendungen profitieren von Containern: Im Allgemeinen können nur Anwendungen, die für die Ausführung als Mikrodienste ausgelegt sind, das meiste aus Containern herausholen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sicherheit: Der gemeinsam genutzte Linux-Kernel bietet weit mehr Angriffsfläche für Attacken als ein Hypervisor in einer VM. Gelingt es einem Angreifer, von einem Container aus auf den Kernel zuzugreifen, sind in der Regel alle an ihn geknüpften Container betroffen. VMs isolieren daher Anwendungen in der Regel besser als Container.&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;Container&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;container&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2075-6197&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;wissenswertes_zu_diesem_thema&quot;&gt;Wissenswertes zu diesem Thema&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; VM´s können in VM´s ausgeführt werden (VM-Kaskade)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Container können in VM´s ausgeführt werden, nicht aber VM´s in Containern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Container und VM´s sind keine konkurrierenden, sondern aufeinander erweiternde Technologien&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;Wissenswertes zu diesem Thema&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wissenswertes_zu_diesem_thema&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6198-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen</category>
            <pubDate>Wed, 06 Oct 2021 14:38:22 +0000</pubDate>
        </item>
        <item>
            <title>Backups</title>
            <link>http://itclive.spdns.de/wiki/dienste/backup-server?do=revisions&amp;rev=1575021561</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;backups&quot;&gt;Backups&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/dienste/backup.jpg?w=400&amp;amp;tok=9e90a4&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Backups werden vollautomatisch von systemkritischen Ressourcen gemacht, als auch manuell je nach Bedarf durchgeführt, beispielsweise wenn ein verwendetes System wechselt und damit neues hinzukommt, oder wenn ein bestimmter Systemzustand immer wieder hergestellt werden muss (Snapshot). Für Backups gibt es daher verschiedene Konzepte und auch verschiedene Strategien, die je nach Einsatzzweck wechseln. Die häufigsten Backups werden auf Festplatten erstellt. Aber Festplatten können (und tun es auch) ausfallen und ein plötzlicher Defekt zerstört auch alle darauf befindlichen Daten. Auf Festplatten erstellte Datensicherungen sind daher nicht vor einem Totalverlust geschützt. Aus diesem Grund erstellen wir von auf Festplatten erzeugten Datensicherungen immer noch eine zweite Kopie, die dann auf einem anderen Datenträger erstellt wird. Der zweite Datenträger ist dann fast immer auch ein anderes Medium, also keine weitere Festplatte, sondern ein Datenband wie DLT, oder ein optischer Datenträger wie eine CD oder DVD.
&lt;/p&gt;

&lt;p&gt;
Siehe dazu auch das Thema &lt;a href=&quot;http://itclive.spdns.de/wiki/dienste/content_delivery&quot; class=&quot;wikilink1&quot; title=&quot;dienste:content_delivery&quot; data-wiki-id=&quot;dienste:content_delivery&quot;&gt;Datenspeicherung&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;Backups&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;backups&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1161&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;backup-server&quot;&gt;Backup-Server&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der &lt;a href=&quot;http://backup.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://backup.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Backup-Server&lt;/a&gt; ist ein auf Langzeit-Datensicherung optimierter Windows-PC und spezieller Datensicherungs-Software, an dem ein DLT-Bandrobotor (Qualstar TLS-6110, DLT Tape Library (Autoloader), 10 Slots, 350GB-700GB, Drive: DLT 7000, Interface: SCSI-LVD-SE, Format : DLT-IV) und ein weiteres Tandberg DLT-700 Bandlaufwerk angeschlossen ist. Der Bandrobotor kann die Datensicherungsmedien automatisch wechseln und so im Hintergrund laufende Backups von definierten Quellen anlegen. DLT-Bandsicherungen werden hauptsächlich als Spiegelungen von den NAS eingesetzt, um jeweils ein aktuelles 1:1 Image/Snapshot zu haben. Die Datensicherung erfolgt dabei zweistufig inkrementell. Zuerst wird per NAS ein 1:1 Image (Live-Snapshot) der Datenträger angefertigt. Dieses 1:1 Image wird dann in einem zweiten Schritt auf die DLT-Bänder geschrieben.
&lt;/p&gt;

&lt;p&gt;
DLT-Datenbänder sind zwar nicht besonders schnell und können im Gegensatz zu ständig laufenden Festplatten die Daten nur hintereinander seriell lesen, aber dafür ist die Haltbarkeit bei ordentlicher Lagerung wesentlich länger, vorrausgesetzt die Bänder sind nicht ständig in Betrieb. Alle Langzeitbackups werden bei uns auf DLT-Bändern erzeugt.
&lt;/p&gt;

&lt;p&gt;
Optische Datenträger wie CD und DVD genügen meistens nicht dem hohen Speicherbedarf von Datensicherungen. Daher werden Datensicherungen auf optischen Datenträgern nur für spezielle Zwecke erstellt, beispielsweise wenn bestimmte Medien ausgelagert 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;Backup-Server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;backup-server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1162-2675&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;digitale_demenz&quot;&gt;Digitale Demenz&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Moderne, digitale Geräte zur Erstellung von Audio, Fotos und Videos sind sehr verbreitet, doch nicht jeder Nutzer dieser Geräte sorgt auch dafür das seine selbsterstellten, digitalen Schätzchen auch noch in den nächsten Jahren, oder sogar den nächsten Jahrzehnten der Nachwelt erhalten bleiben. So schnelllebig die digitalen Medien erzeugt werden, so schnell sind sie denn häufig auch wieder weg und kaum jemand macht sich Gedanken darüber wie die Medien auch langfristig erhalten bleiben.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Digitale Demenz&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;digitale_demenz&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2676-3205&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;fragen&quot;&gt;Fragen&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; Was ist als Langzeitspeichermedium geeignet?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Eignen sich externe Festplatten oder gebrannte DVD zum speichern?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Werden die Altgeräte überhaupt aufgehoben?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wie gehe ich mit Datensicherungen um?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wie archiviere ich digitale Medien?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Welche Dateien sichern, welche nicht?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Regelmäßige oder Ad-hoc Datensicherung?&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;Fragen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3206-3564&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;datensicherunges_geht_auch_einfach&quot;&gt;Datensicherung: Es geht auch einfach&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Nicht jeder speichert auf seinem PC hochsensible Daten, die ausgefeilte Backup-Strategien erfordern. Doch auch die Festplatte mit der über Jahre gesammelten Musik, Urlaubsfotos und E-Mails kann von einem Tag auf den anderen den Geist aufgeben. So wappnen Sie sich mit minimalem Aufwand gegen Datenverlust.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Datensicherung: Es geht auch einfach&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;datensicherunges_geht_auch_einfach&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3565-3922&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;warum_backups&quot;&gt;Warum Backups?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Backups sind wie Hausratversicherungen. Eigentlich möchte man niemals auf sie angewiesen sein und denkt oft erst daran, wenn es zu spät ist. Alle Daten Ihres Computers werden normalerweise auf der eingebauten Festplatte gespeichert. Doch deren Lebensdauer ist nicht voraussagbar: Eine Festplatte kann schon nach einem Monat Betriebsdauer oder auch erst nach 30 Jahren ihren Dienst quittieren. Dann helfen nur noch Datenrettungs-Spezialisten, die unter € 1000,- selten überhaupt erst mit der Arbeit beginnen. Doch ein Ausfall der Festplatte ist nicht das einzige Risiko: Die allermeisten Fälle von Datenverlust entstehen durch versehentliches Löschen wichtiger Dateien durch den Benutzer selbst.
&lt;/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 Backups?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;warum_backups&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3923-4653&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;sicherungsmedien&quot;&gt;Sicherungsmedien&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Nahezu alle Speichermedien sind auch für Backups geeignet. Im Vergleich sehen Sie, warum für Normalanwender eine externe Festplatte die sinnvollste Lösung 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;Sicherungsmedien&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sicherungsmedien&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;4654-4847&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;usb-sticks&quot;&gt;USB-Sticks&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mittlerweile sind externe Flashspeicher, meist einfach USB-Sticks genannt, auch mit großem Speicherplatz von etlichen Gigabyte für unter € 20,- erhältlich. Weil sie besonders klein und robust sowie fast beliebig oft wiederbeschreibbar sind, werden sie oft benutzt, um unkompliziert Daten zwischen mehreren Computern auszutauschen. Für komplette Backups der gesamten Daten reicht der Speicherplatz jedoch noch nicht aus. Statt also eine Backup-Software zu verwenden, die automatisch alle Daten regelmäßig sichert, müßte man entscheiden, welche Daten einem wichtig sind und diese manuell auf den USB-Stick kopieren. Jeder manuelle Vorgang wird jedoch mit der Zeit lästig und führt dazu, daß man die Backups vernachlässigt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;USB-Sticks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;usb-sticks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4848-5607&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;cds_und_dvds&quot;&gt;CDs und DVDs&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Alle aktuellen PC verfügen über einen integrierten CD-, oft sogar über einen DVD-Brenner. Prinzipiell kann dieser auch für Backups verwendet werden. Von Vorteil ist dabei die geringe Größe der Speichermedien, CDs und DVDs lassen sich umkompliziert lagern und auch an anderen Orten als zu Hause aufbewahren. Auf den ersten Blick sind die Medien auch recht billig, doch bei einem täglichen Backup summieren sich die Kosten für die Rohlinge schnell. Zwar gibt es auch wiederbeschreibbare Medien, doch sind diese weniger zuverlässig und man sollte dann zumindest zwei Kopien des Backups erstellen, damit im Ernstfall wenigstens eine lesbar ist. Der Hauptnachteil ist jedoch wie beim USB-Stick, daß die Backups manuell zu erstellen sind. Bisher gibt es auf dem Mac kein empfehlenswertes Programm, daß regelmäßige Sicherheitskopien auf CDs und DVDs 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;CDs und DVDs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cds_und_dvds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5608-6503&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;internet-backups&quot;&gt;Internet-Backups&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Diverse Anbieter stellen heute für kleines Geld Speicherplatz im Internet zur Verfügung, der auch für Backups verwendet werden kann. Von Vorteil ist dabei die Erreichbarkeit der Daten von jedem Ort der Welt aus. Jedoch gehört viel Vertrauen dazu, Ihre sensiblen Daten einem externen Dienstleister zu überlassen. In jedem Fall sollten Sie daher prüfen, ob die Dateien verschlüsselt übertragen und gespeichert werden. Zudem sollten Backups schnell und unkompliziert zu erstellen sein: Dies ist bei Backups über das Internet nur bei einer sehr schnellen Internetverbindung gegeben, die nur wenige haben. Selbst bei DSL 16.000 braucht es Stunden, wenn nicht Tage, bis große Daten wie Filme oder Musik übertragen 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;Internet-Backups&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;internet-backups&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6504-7259&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;externe_festplatten&quot;&gt;Externe Festplatten&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Externe Festplatten, die meist über USB 2.0 angeschlossen werden, sind in den letzten Jahren wesentlich billiger geworden. Sie sind i.d.R. in zwei Größen erhältlich, 2,5„ sowie 3,5“. Die kleineren benötigen meist keine separate Stromversorgung, sind aber wegen der geringeren Baugröße bei gleicher Speicherkapazität erheblich teurer. Darüber hinaus haben sie eine geringere Schreib- und Leserate. 3,5„-Platten sind auch mit großer Speicherkapazität wesentlich günstiger erhältlich, haben allerdings ein eigenes Netzteil. Die Entscheidung für eine Bauform sollten Sie daher vor allem davon abhängig machen, ob Sie die Festplatten auch transportieren wollen oder neben Ihrem stationären Rechner auf dem Schreibtisch aufstellen.
&lt;/p&gt;

&lt;p&gt;
Beim Kauf einer Festplatte können Sie ruhig nach dem Preis gehen: Günstige Angebote von Supermarktketten sind nicht unbedingt schlechter als teurere von Markenherstellern. Denn externe Festplatten unterscheiden sich hauptsächlich durch das Gehäuse, im Inneren arbeitet immer eine Festplatte von einem der wenigen großen Hersteller. Der benötigte Speicherplatz hängt sehr von der Backupstrategie ab, wie Sie im Folgenden lesen 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;Externe Festplatten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;externe_festplatten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7260-8477&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;vollstaendig_wiederherstellbares_backup_unter_105_leopard_mit_time_machine&quot;&gt;Vollständig wiederherstellbares Backup unter 10.5 Leopard mit Time Machine&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit dem neuen Betriebssystem Leopard liefert Apple erstmals eine vollständige Backup-Software aus. Time Machine arbeitet nach der erstmaligen Konfiguration und dem erstmaligen Backup aller Ihrer Daten vollständig im Hintergrund. Sobald Sie Ihre Backup-Festplatte anschließen, werden stündliche Backups erstellt. Weil dabei nur die jeweils veränderten Daten kopiert werden, spricht man von einem inkrementellen Backup. Die Einrichtung ist so einfach, wie man es von Apple gewohnt ist: Sobald Sie eine neue externe Festplatte anschließen, werden Sie gefragt, ob Sie diese für Time Machine verwenden wollen.
&lt;/p&gt;

&lt;p&gt;
Für die Wiederherstellung einzelner Dateien, die versehentlich gelöscht wurden, gibt es ein gleichnamiges Programm Time Machine. In diesem können Sie wie mit einer Zeitmaschine in die Vergangenheit reisen und genau den Zustand Ihres Macs zum Zeitpunkt des jeweiligen Backups sehen. Nach einem Ausfall der Festplatte kann der gesamte Datenbestand über die Installations-DVD wiederhergestellt werden.
&lt;/p&gt;

&lt;p&gt;
Damit alle Daten kopiert werden können, muß der freie Speicherplatz auf der externen Festplatte mindestens so groß sein wie die interne Festplatte. Je größer die Backup-Platte jedoch ist, desto weiter können Sie in die Vergangenheit zurückschauen. Als Richtwert sollte daher der doppelte Speicherplatz der internen Platte gelten.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vollst\u00e4ndig wiederherstellbares Backup unter 10.5 Leopard mit Time Machine&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vollstaendig_wiederherstellbares_backup_unter_105_leopard_mit_time_machine&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8478-9921&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;startfaehiges_backup_mit_superduper_oder_carbon_copy_cloner&quot;&gt;Startfähiges Backup mit SuperDuper oder Carbon Copy Cloner&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Eine Alternative für alle, die noch 10.4 Tiger verwenden oder aber von ihrer externen Festplatte direkt starten möchten, bietet sich eine Komplett-Kopie der internen Festplatte an. Damit sind zwar keine Daten verfügbar, die vor dem letzten Backup verändert wurden, jedoch kann man auf der externen Platte genauso arbeiten, als wäre es die interne. Um das Startvolume (die Festplatte, von der der Computer startet) zu ändern, halten Sie einfach direkt nach dem Startgong die Alt-Taste gedrückt, bis ein Auswahlmenü erscheint.
&lt;/p&gt;

&lt;p&gt;
Sowohl die Software Carbon Copy Cloner (CCC) als auch SuperDuper sind dazu gleichermaßen geeignet und in der Bedienung weitgehend selbsterklärend. Einzig im Preis unterscheiden Sie sich: Während CCC komplett kostenlos ist (Die erbetene Spende an den Autor sollte bei regelmäßiger Verwendung gezahlt werden, um seine Leistung zu honorieren und die Weiterentwicklung des Programms sicherzustellen), sind für SuperDuper $ 27,95 fällig, wenn man alle Funktionen nutzen will.
&lt;/p&gt;

&lt;p&gt;
Bei dieser Art des Backups muß die externe Festplatte mindestens die Größe der internen Platte haben, mehr Speicherplatz ist nicht erforderlich.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Startf\u00e4higes Backup mit SuperDuper oder Carbon Copy Cloner&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;startfaehiges_backup_mit_superduper_oder_carbon_copy_cloner&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;9922-11156&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;absicherung_gegen_diebstahl_oder_wohnungsbrand&quot;&gt;Absicherung gegen Diebstahl oder Wohnungsbrand&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Jetzt sind sie gut abgesichert gegen Festplattenausfall und versehentlich gelöschte Dateien. Doch außen vorgelassen haben wir bisher den worst case, den Verlust sowohl Ihres Macs als auch des Backups. Wenn Sie Ihre externe Festplatte im selben Zimmer lagern wie Ihren Computer, ist die Wahrscheinlichkeit groß, daß z.B. bei einem Brand, einer Überschwemmung oder einem Einbruchdiebstahl beide nicht mehr verfügbar sind.
&lt;/p&gt;

&lt;p&gt;
Daher sollten Sie Ihr Backupmedium, soweit möglich, an einem anderen Ort lagern. Wenn Ihr Mac in einem Büro steht, könnten Sie z.B. die Festplatte jeden Abend nach dem Backup mit nach Hause nehmen. Oder aber Sie arbeiten mit zwei externen Platten, die sie wöchentlich austauschen und immer jeweils eine bei Freunden, Familie o.ä. lagern.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Absicherung gegen Diebstahl oder Wohnungsbrand&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;absicherung_gegen_diebstahl_oder_wohnungsbrand&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;11157-11987&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;schlagwoertertags&quot;&gt;Schlagwörter / Tags&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;cloud&quot;&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/10?do=search&quot; class=&quot;cloud3&quot; title=&quot;299&quot;&gt;10&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/20?do=search&quot; class=&quot;cloud1&quot; title=&quot;205&quot;&gt;20&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/alle?do=search&quot; class=&quot;cloud3&quot; title=&quot;322&quot;&gt;alle&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/also?do=search&quot; class=&quot;cloud1&quot; title=&quot;204&quot;&gt;also&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/am?do=search&quot; class=&quot;cloud4&quot; title=&quot;405&quot;&gt;am&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/an?do=search&quot; class=&quot;cloud4&quot; title=&quot;506&quot;&gt;an&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/beim?do=search&quot; class=&quot;cloud1&quot; title=&quot;212&quot;&gt;beim&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/code?do=search&quot; class=&quot;cloud2&quot; title=&quot;251&quot;&gt;code&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/com?do=search&quot; class=&quot;cloud4&quot; title=&quot;433&quot;&gt;com&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/da?do=search&quot; class=&quot;cloud2&quot; title=&quot;264&quot;&gt;da&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/damit?do=search&quot; class=&quot;cloud2&quot; title=&quot;271&quot;&gt;damit&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/dann?do=search&quot; class=&quot;cloud3&quot; title=&quot;299&quot;&gt;dann&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/dazu?do=search&quot; class=&quot;cloud2&quot; title=&quot;260&quot;&gt;dazu&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/de?do=search&quot; class=&quot;cloud5&quot; title=&quot;859&quot;&gt;de&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/denn?do=search&quot; class=&quot;cloud1&quot; title=&quot;199&quot;&gt;denn&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/diese?do=search&quot; class=&quot;cloud4&quot; title=&quot;370&quot;&gt;diese&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/es?do=search&quot; class=&quot;cloud5&quot; title=&quot;553&quot;&gt;es&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/fixme?do=search&quot; class=&quot;cloud1&quot; title=&quot;232&quot;&gt;fixme&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/gibt?do=search&quot; class=&quot;cloud2&quot; title=&quot;278&quot;&gt;gibt&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/haben?do=search&quot; class=&quot;cloud3&quot; title=&quot;291&quot;&gt;haben&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/hat?do=search&quot; class=&quot;cloud3&quot; title=&quot;311&quot;&gt;hat&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/html?do=search&quot; class=&quot;cloud1&quot; title=&quot;211&quot;&gt;html&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/http?do=search&quot; class=&quot;cloud5&quot; title=&quot;779&quot;&gt;http&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/https?do=search&quot; class=&quot;cloud3&quot; title=&quot;333&quot;&gt;https&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/internet?do=search&quot; class=&quot;cloud2&quot; title=&quot;246&quot;&gt;internet&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/jpg?do=search&quot; class=&quot;cloud3&quot; title=&quot;286&quot;&gt;jpg&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/keine?do=search&quot; class=&quot;cloud1&quot; title=&quot;219&quot;&gt;keine&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/links?do=search&quot; class=&quot;cloud1&quot; title=&quot;223&quot;&gt;links&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/lippstadt?do=search&quot; class=&quot;cloud3&quot; title=&quot;304&quot;&gt;lippstadt&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/man?do=search&quot; class=&quot;cloud4&quot; title=&quot;392&quot;&gt;man&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/mehr?do=search&quot; class=&quot;cloud2&quot; title=&quot;255&quot;&gt;mehr&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/name?do=search&quot; class=&quot;cloud1&quot; title=&quot;213&quot;&gt;name&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/netzwerk?do=search&quot; class=&quot;cloud1&quot; title=&quot;206&quot;&gt;netzwerk&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/noch?do=search&quot; class=&quot;cloud3&quot; title=&quot;290&quot;&gt;noch&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/nur?do=search&quot; class=&quot;cloud4&quot; title=&quot;396&quot;&gt;nur&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/ohne?do=search&quot; class=&quot;cloud1&quot; title=&quot;212&quot;&gt;ohne&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/opensim?do=search&quot; class=&quot;cloud1&quot; title=&quot;202&quot;&gt;opensim&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/org?do=search&quot; class=&quot;cloud3&quot; title=&quot;332&quot;&gt;org&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/per?do=search&quot; class=&quot;cloud1&quot; title=&quot;213&quot;&gt;per&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/sehr?do=search&quot; class=&quot;cloud2&quot; title=&quot;246&quot;&gt;sehr&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/server?do=search&quot; class=&quot;cloud4&quot; title=&quot;375&quot;&gt;server&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/so?do=search&quot; class=&quot;cloud3&quot; title=&quot;333&quot;&gt;so&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/software?do=search&quot; class=&quot;cloud3&quot; title=&quot;309&quot;&gt;software&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/start?do=search&quot; class=&quot;cloud2&quot; title=&quot;251&quot;&gt;start&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/to?do=search&quot; class=&quot;cloud1&quot; title=&quot;199&quot;&gt;to&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/web?do=search&quot; class=&quot;cloud1&quot; title=&quot;223&quot;&gt;web&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/wiki?do=search&quot; class=&quot;cloud2&quot; title=&quot;270&quot;&gt;wiki&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/wlan?do=search&quot; class=&quot;cloud2&quot; title=&quot;260&quot;&gt;wlan&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/wurde?do=search&quot; class=&quot;cloud2&quot; title=&quot;243&quot;&gt;wurde&lt;/a&gt;
	&lt;a href=&quot;http://itclive.spdns.de/wiki/zu?do=search&quot; class=&quot;cloud5&quot; title=&quot;724&quot;&gt;zu&lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schlagw\u00f6rter \/ Tags&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schlagwoertertags&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;11988-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>dienste</category>
            <pubDate>Fri, 29 Nov 2019 10:59:21 +0000</pubDate>
        </item>
        <item>
            <title>Shop</title>
            <link>http://itclive.spdns.de/wiki/dienste/shop?do=revisions&amp;rev=1645518889</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;shop&quot;&gt;Shop&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/dienste/online-shop.jpg?w=200&amp;amp;tok=e03af9&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Unser privater Online-Verkaufsraum auf dieser Seite biete verschiedene, gebrauchte Artikel und Gegenstände aus unserem persönlichen Portfolio. Die Artikel können zu günstigen Preisen gekauft werden. Da die Artikel von Privatleuten verkauft werden, können weder Garantieleistungen noch Gewährleistungsansprüche wahrgenommen werden. Die Artikel werden verkauft wie sie sind, mit oder ohne Gebrauchsspuren, aber allesamt auf Funktion getestet und somit für den weiteren Gebrauch durchaus nutzbar. Viele Artikel stammen aus dem IT-Bereich. Schauen Sie einfach mal durch!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Shop&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shop&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-639&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;verkauf&quot;&gt;Verkauf&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Roller 45 km/h, 49 ccm, Daelim S-Five, Typ: SJ, Variante B, Version 4S, orange/weiss, BJ 2008, 3 PS, 10.600 km&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Router Cisco 1401 (ATM 25), voll funktionstüchtig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PC Q-lity Computer Inc., Modell FC1 (Mini-PC), startet nicht mehr, ohne Festplatte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Videoschnittsystem Grundig VS10 Multi Editing System G.MA 68-00 X, originalverpackt mit Zubehör und 2 Speicherkarten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Netzwerkdosen Aufputz und Unterputz, jeweils 1 Karton&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; BATM BEF-3201 10Base-T Hub mit 32 Ports, getrennt schaltbarer Uplink Port, plus BNC-Anschluss. plus AUI-Anschluss&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;2x Netgear ProSafe 16 Port Gigabit Switch GS116 (1x V1 und 1x V2), ungetestet, möglicherweise defekt, ohne Netzteil&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sharp Electronic Organizer 512KB, Sharp IQ-9200G, voll funktionstüchtig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Router Fritzbox Fon WLAN, ohne Netzteil, schwarz&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Router Fritzbox Fon WLAN, mit Netzteil, blau-grau, ISDN-Anschluss&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2x WLAN-Router Fritzbox Fon WLAN 7112, mit Netzteil&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Router Fritzbox Fon WLAN 7050, mit Netzteil&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Router T-Com T-Sinus 154 DSL&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Router T-Com Speedport W701V, mit Netzteil&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; CD-Brenner Smart and Friendly, SCSI-Anschluss, L53, CD-Caddy Slot, stapelbar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Router ELSA MicroLink LANcom MPR, 10Base-T, 10Base-5, 10Base-2, ISDN, V.24/V.28/X.21&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Switch CentreCOM 3612TR, 12 Port Hub/Repeater, managed&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verschiedene 10Base-T Netzwerkstücke, Verbindungsstücke, T-Stücke und Endstücke (Terminatoren)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Spielekonsole Interton Electronic VC 4000 mit 3 Spiel-Casetten (Casette 3, 11 und 24)&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Switch Extreme Networks Summit24e3, Modell 13201, 26 Ports, RS232 Konsolenanschluss, managed&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Switch Netgear FS516,  16 Ports&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Computer Sinclair ZX Spectrum&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Samsung s/w Laserdrucker ML-2165W, WLAN, USB, WPS&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; CB-Funk Handgerät Uniden PAN PC-4, 40 Kanal FM, mit Gürteltasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sony Scanner Air-7, PSB, Air, FM/AM synthesized Receiver, mit Gummiantenne&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Uniden Bearcat 200 Kanal, 10 Band Radio Scanner, Modell UBC220XLT, mit Gummiantenne&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Computer Mini-PC Astaro 110/120, umgebaut zum Linux-PC, ideal zum testen, 2x USB, VGA, PS2, 3x &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;, RS232, externes Netzteil&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WLAN-Radio Terratec Noxon Audio, grosses blaues Display, mit IR-Fernbedienung, externes Netzteil&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 7x verschiedene PC, teilweise zum ausschlachten, oder zum aufrüsten, ideal als Testgeräte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Server Sun Enterprise 250, 2x 250 &lt;abbr title=&quot;Megahertz&quot;&gt;MHz&lt;/abbr&gt; CPU UltraSPARC-II-Prozessor, 2 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; Cache, Solaris 9 Betriebssystem, 512 DRAM, SUN Barcode (4 x 128), 6x 9,1 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; original Sun Festplatten MAB3091SC, 2x Netzteile, 6A&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Drahtloses Telefon Binatone MD-2500 Twin, bestehend aus Basisstation mit Ladestation, 2 Mobilteile und extra Ladestation, Anrufbeantworter integriert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini-Synthesizer Casio VL-Tone, Modell VL-1, benutzt von der NDW-Gruppe Trio, Dadada, mit Tasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sanyo Diktiergerät TRC 1130, Standard Cassetten Recorder mit Sprachaktivierung, mit Tasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sanyo Diktiergerät TRC 2000, Standard Casetten Recorder mit Akku NBP-07&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Casio MQ-1200 Taschenrechner und Quartz Uhr, Tischgerät&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diverse, bestückte Motherboards mit CPU und RAM&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diverse IR-Fernbedienungen (Akai RC-G57, Remote Hunter (lernbar), Grundig Tele-Pilot 160E, CMX DVD-Video)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diverse PCI-Steckkarten (USB, VGA, TV)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini-Radio Continental&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini-Radio Grundig Boy 40a&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini-Radio Philips, UKW/MW/LW&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini-Radio Aiwa CR-D10&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Walkman Aiwa HS-G36, Standard Cassetten Spieler mit Graphic Equalizer, Dolby NR, Gürtelclip&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mini Schach-Computer Novag Solo mit Magnetplättchen als Figuren, Schachbrett faltbar, ideal für die Reise&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lightspeed FlatTop 2400 Mini-Modem, RS232C, Batterie- und Netzbetrieb&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Artec Handscanner mit PS2 Anschluss&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Artec Ultima 2000, Desktop Auflicht-Scanner DIN A4, USB-Anschluß, 36-Bit True Color, 600&amp;times;1200 DPI, USB Hot Plug&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Friwo Unibox 4+1 Ladegerät&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Polaroid Land Camera 1000&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;HP Compaq PDA iPAQ Pocket PC mit Tasche&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Smartphone Samsung Galaxy S4 Mini mit Tasche&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Handy Nokia 2600, grau&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Taschenrechner Texas Instruments 1105 mit Tasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Taschenrechner Canon CardQuartz LC-61T, Metallgehäuse, ultradünn und klein, mit Tasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Taschenrechner Casio FX-450, Solarzelle, mit aufklappbarer Tasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verschiedene Desktop USV ohne Akku&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;2x massive, schwere Scheinwerfer/Flutlicht LEG MX 1000, 1000 Watt, schwarz, IP55, 220 Volt, Glasscheibe, inkl. Leuchtmittel und Befestigungsbügel&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;Massive, schwere Umlenkrolle mit Karabiner&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Neckermann Super 8 Filmprojektor, Modell S8 - 290&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Auvisio Wireless Digital Media Box, Modell DMP-100A, DVI, &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;, USB, Digital Audio, S-Video&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;CatMate Glass Fitting Cat Flap, Katzenklappe für Glasscheiben, neuverpackt, Originalpreis 42 DM, Äusserer Durchmesser: 245 mm., Durchmesser des Tür-Einschnitts: 223 mm., 4 Verschlusseinrichtungen (offen, geschlossen, nur rein, nur raus), durchsichtige Klappe&lt;/del&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;Verkauf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;verkauf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;640-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>dienste</category>
            <pubDate>Tue, 22 Feb 2022 09:34:49 +0000</pubDate>
        </item>
        <item>
            <title>Adserver Blockliste</title>
            <link>http://itclive.spdns.de/wiki/nuetzliches/adserver-blocklist?do=revisions&amp;rev=1769083930</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;adserver_blockliste&quot;&gt;Adserver Blockliste&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Unsere Adserver Blockliste enthält Domains und Sub-Domains von Servern die ausschließlich Werbung ausliefern und daher als unnötiger Datenbalast ausgefiltert werden können. Die Liste kann z.B. als &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Blocklist, DNSBL bzw. Filterliste gegen aggressive Online-Werbung eingesetzt werden, z.B. auf Routern, in der Hosts Datei, oder einem &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Proxy. Die Liste ist nicht spezialisiert auf ein bestimmtes Thema, sondern kann universell gegen alle unerwünschte Werbeformen im Internet eingesetzt werden. Unser Fokus liegt weniger auf ständig wechselnde Sub-Domains die nur Werbung ausliefern, sondern der Erfassung von Top-Level-Domains (TLS) die schon bei der Registrierung der Domain nur für Werbezwecke gedacht waren. So kann man unsere Liste als gute Basis verstehen die zwar keinen perfekten Schutz gegen unerwünschte und oft aggressive Werbung darstellt, aber vieles bereits erfasst hat das bedenkenlos ausgefiltert werden kann. Andere Anbieter haben zwar oft deutlich mehr Einträge in der &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Blockliste, aber vieles davon lässt sich logisch nicht nachvollziehen und ist oft auch auf den englischsprachigen Markt fokussiert, das uns in Deutschland ohnehin nicht betrifft.
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_center wrap_round wrap_tip plugin_wrap&quot; style=&quot;width: 300px; max-width: 100%;&quot;&gt;
&lt;p&gt;
&lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Blockliste Download
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://dns-blockliste.itclive.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://dns-blockliste.itclive.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://dns-blockliste.itclive.de&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Adserver Blockliste&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;adserver_blockliste&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1315&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;fritzbox_blockliste_mit_max_500_eintraege&quot;&gt;FritzBox Blockliste mit max. 500 Einträge&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die FritzBox &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; Blockliste kann nur max. 500 Einträge enthalten! Wer eine FritzBox zum filtern nutzt, muss daher darauf achten das die Liste nicht mehr als 500 Einträge enthält, ansonsten wird die Liste beim Import am Ende abgeschnitten und wäre damit unvollständig.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FritzBox Blockliste mit max. 500 Eintr\u00e4ge&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fritzbox_blockliste_mit_max_500_eintraege&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1316-1645&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;werbefreie_zonepi-hole_als_werbeblocker&quot;&gt;Werbefreie Zone: Pi-hole als Werbeblocker&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wir setzen in unserem Netzwerk &lt;a href=&quot;http://itclive.spdns.de/wiki/anleitungen/raspberry/pihole&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:raspberry:pihole&quot; data-wiki-id=&quot;anleitungen:raspberry:pihole&quot;&gt;Pi-hole&lt;/a&gt; als Werbeblocker ein der automatisch alle angeschlossenen Geräte im &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt; und WLAN vor unerwünschter Werbung und Trackern schützt, inklusiver Werbung in Apps (sogenannte „In-App Ads“) auf Mobilgeräten wie Smartphones, Tablets und auf Smart-TV´s.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Werbefreie Zone: Pi-hole als Werbeblocker&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;werbefreie_zonepi-hole_als_werbeblocker&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1646-2022&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;blockliste_download&quot;&gt;Blockliste Download&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Bitte beachten Sie beim importieren bzw. einfügen in ihre Anwendung darauf das dieser Link nicht direkt auf eine TXT-Datei zeigt, sondern die Liste erst anzeigt wird und anschließend zum Download anbietet. Wenn Sie einen direkten Download-Link zum importieren in ihre Anwendung benötigen gehen Sie bitte folgendermaßen vor:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; klicken Sie auf den obigen Link, womit die &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Blockliste zunächst angezeigt wird&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; klicken Sie dann auf die Schaltfläche oben rechts auf „Herunterladen“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; klicken Sie mit der rechten Maustaste dann auf „Öffnen“ und kopieren Sie den temporären Downloadlink in die Zwischenablage ihres Rechners&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; den kopierten Link fügen Sie dann in ihre Anwendung ein (Achtung: der kopierte Link ist nicht dauerhaft gültig!)&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;Blockliste Download&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;blockliste_download&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2023-2810&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;werbung_unterwegs_auf_dem_smartphone_blockieren&quot;&gt;Werbung unterwegs auf dem Smartphone blockieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Um das eigene Smartphone unterwegs im Mobilfunknetz vor Werbung, Malware und anderem zu schützen, empfehlen wir die kostenlose App &lt;a href=&quot;https://f-droid.org/de/packages/org.jak_linux.dns66&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://f-droid.org/de/packages/org.jak_linux.dns66&quot; rel=&quot;ugc nofollow noopener&quot;&gt;DNS66&lt;/a&gt; für Android mit der unsere und beliebig viele andere Blocklisten eingebunden werden und die sich automatisch bei Veränderungen aktualisieren können. Selbstverständlich ist DNS66 selbst auch kostenlos und werbefrei!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Werbung unterwegs auf dem Smartphone blockieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;werbung_unterwegs_auf_dem_smartphone_blockieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2811-3285&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;andere_blocklisten_infos_und_links_zum_gleichen_thema&quot;&gt;Andere Blocklisten, Infos und Links zum gleichen Thema&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://firebog.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://firebog.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://firebog.net&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://github.com/StevenBlack/hosts&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/StevenBlack/hosts&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/StevenBlack/hosts&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://github.com/pi-hole&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/pi-hole&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/pi-hole&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;&lt;a href=&quot;https://www.pc-magazin.de/news/top-10-der-werbenetzwerke-im-internet-tradedoubler-nummer-2-207567.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.pc-magazin.de/news/top-10-der-werbenetzwerke-im-internet-tradedoubler-nummer-2-207567.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.pc-magazin.de/news/top-10-der-werbenetzwerke-im-internet-tradedoubler-nummer-2-207567.html&lt;/a&gt;&lt;/del&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.oreilly.de/german/freebooks/spamvirger/pdf/115-136.pdf&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.oreilly.de/german/freebooks/spamvirger/pdf/115-136.pdf&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.oreilly.de/german/freebooks/spamvirger/pdf/115-136.pdf&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.reddit.com/r/pihole/comments/6qmpv6/blacklists_for_lg_webos_tvs&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.reddit.com/r/pihole/comments/6qmpv6/blacklists_for_lg_webos_tvs&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.reddit.com/r/pihole/comments/6qmpv6/blacklists_for_lg_webos_tvs&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://discourse.pi-hole.net/t/commonly-blacklisted-domains/305&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://discourse.pi-hole.net/t/commonly-blacklisted-domains/305&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://discourse.pi-hole.net/t/commonly-blacklisted-domains/305&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://raw.githubusercontent.com/Firestorrrm/Minimal-Hosts-Blocker/master/iosadlist.txt&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raw.githubusercontent.com/Firestorrrm/Minimal-Hosts-Blocker/master/iosadlist.txt&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://raw.githubusercontent.com/Firestorrrm/Minimal-Hosts-Blocker/master/iosadlist.txt&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://raw.githubusercontent.com/deathbybandaid/piholeparser/master/Subscribable-Lists/CombinedBlacklists/CombinedBlackLists.txt&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://raw.githubusercontent.com/deathbybandaid/piholeparser/master/Subscribable-Lists/CombinedBlacklists/CombinedBlackLists.txt&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://raw.githubusercontent.com/deathbybandaid/piholeparser/master/Subscribable-Lists/CombinedBlacklists/CombinedBlackLists.txt&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://myip.ms/browse/blacklist&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://myip.ms/browse/blacklist&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://myip.ms/browse/blacklist&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;Andere Blocklisten, Infos und Links zum gleichen Thema&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;andere_blocklisten_infos_und_links_zum_gleichen_thema&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3286-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>nuetzliches</category>
            <pubDate>Thu, 22 Jan 2026 13:12:10 +0000</pubDate>
        </item>
        <item>
            <title>Unnützes Wissen</title>
            <link>http://itclive.spdns.de/wiki/nuetzliches/unnuetzes_wissen?do=revisions&amp;rev=1718264472</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;unnuetzes_wissen&quot;&gt;Unnützes Wissen&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; Grüne Gummibärchen schmecken nach „Erdbeere“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Giraffen können sich mit der Zunge die Ohren auslecken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Heringe kommunizieren durch Furzen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das erste Hörgerät wog zwölf Kilogramm&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pflanzen können einen Sonnenbrand bekommen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Termiten sind die fruchtbarsten Tiere der Welt. Eine Königin legt in ihrem Leben bis zu einer Milliarde Eier&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1903 wurde bei der Entwicklung des elektrischen Stuhls die Elefantendame Topsy umgebracht. Sie hatte zuvor drei ihrer Zoowärter getötet&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schokolade enthält dreimal so viel Eisen wie Spinat&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dieter Bohlen war in seiner Jugend für kurze Zeit Mitglied der Deutschen Kommunistischen Partei (DKP)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gemessen am Gewicht ist ein Hamburger teurer als ein nagelneuer Kleinwagen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die thailändische Polizei greift auf ein rüdes Mittel zurück, um unartige Beamte zur Ordnung zu rufen: Diese müssen bei einem Verstoß einen Tag lang ein leuchtend-rosafarbenes “Hello Kitty”-Armband tragen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Libyen war bis zum Sturz Gaddafis das einzige Land weltweit mit einer einfarbigen Flagge. Jetzt ist sie dreifarbig&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Selbstmordrate bei Psychiatern ist doppelt so hoch wie bei ihren Patienten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn Kühe zu viele Karotten essen, wird die Milch rosa&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein vierjähriges Kind stellt täglich ungefähr 400 Fragen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der VW Käfer Baujahr 1960 wird von nur 25 Schrauben zusammengehalten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kaninchen machen im Schnitt 18 Nickerchen pro Tag&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Teilt man die deutsche Schuhgröße durch drei und verdoppelt dann das Ergebnis, hat man die Fußlänge in Zentimetern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die RAF führte in ihrem Logo keine Kalaschnikow, sondern eine MP5 Maschinenpistole des deutschen Herstellers Heckler &amp;amp; Koch. Ob die RAF jemals eine solche Waffe besessen hat, ist unklar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit Hilfe des Windes und ihrer Fäden können Spinnen kilometerweit über das offene Meer segeln und so neue Inseln besiedeln&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Österreich ist – pro Quadratkilometer – das schwerste Land Europas. Es wiegt - dank der Alpen – 112 Milliarden Tonnen pro Quadratkilometer und kommt damit auf ein Gesamtgewicht von 9.400.000 Milliarden Tonnen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit einer Kugelschreibermine kann man einen 5000 bis 10.000 Meter langen Strich ziehen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In genau 800 Schnipsel werden ausgemusterte Geldscheine in Deutschland zerhäckselt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle Ein-Cent-Stücke zusammen haben einen Wert von 157 Millionen Euro&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Black Box in einem Flugzeug ist nicht schwarz, sie ist orange, damit man sie nach einem Absturz besser findet&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nach deutschem Maß hat die Freiheitsstatue Schuhgröße 3500&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Allein wegen unnötiger Papierausdrucke in Deutschland werden jährlich 500.000 Bäume gefällt. Jeder Dritte druckt seine E-Mails aus, um sie zu lesen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nur in zwei Städten weltweit leben mehr Türken als in Berlin: in Istanbul und Ankara&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Amazonas leben rosafarbenen Delfine&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wer einen Stein übers Wasser hüpfen lassen will, sollte den Stein in einem Winkel von 20 Grad auf die Oberfläche aufprallen lassen. Dann macht der Stein die meisten Sprünge – wissenschaftlich bewiesen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nicht der Mont Blanc (4808 Meter) ist der höchste Berg Europas, sondern der Elbrus im Kaukasus (5642 Meter) – je nach Definition der europäisch-asiatischen Grenze&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein Polyp hat nur eine Körperöffnung, die Mund und After gleichzeitig ist&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Laut einer Untersuchung lautet der lustigste Witz der Welt: Zwei Jäger gehen durch den Wald. Plötzlich bricht einer von ihnen zusammen. Der andere Jäger ruft den Notarzt an: “Mein Freund ist tot. Was soll ich machen?” Der Notarzt: “Vergewissern Sie sich zuerst, ob er wirklich tot ist.” Daraufhin ertönt ein Schuss. “Okay”, sagt der Jäger zum Notarzt, “und jetzt?”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die ersten Marlboro-Zigaretten hatten einen rosafarbenen Filter – damit Lippenstift nicht darauf zu sehen war&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es gibt fast keine kurzsichtigen Aboriginies&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Öffentliche Abwasserkanäle umspannen die Erde 13 Mal&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zitronenlimonade enthält künstliche Aromen, Zitronenreiniger muss immer echte Zitrone enthalten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rund 70 Prozent aller weltweit publizierten Bücher zum Thema Steuern wurden auf Deutsch veröffentlicht&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zwei von drei Astronauten müssen sich übergeben, wenn sie das erste Mal in der Schwerelosigkeit ankommen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vier von fünf Menschen atmen hauptsächlich durch ein Nasenloch. Die beiden Löcher wechseln sich vermutlich im stündlichen Wechsel ab&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Albatrosse legen an einem Tag 950 Kilometer zurück&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In New York gibt es noch Wasserleitungen aus Bambus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “Michel” aus Lönneberga heißt im schwedischen Original “Emil”. Der Name war im Deutschen aber schon durch “Emil und die Detektive” besetzt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Softwarefirma Adobe hat ihren Namen von einem Bach, der am Haus der beiden Firmengründer vorbeiplätscherte&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bei Delfinen schläft immer nur eine Hirnhälfte. Sonst würden sie ertrinken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 32 Prozent des von uns verbrauchten Trinkwassers landet in der Toilette&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Frauen im Niger bekommen im Schnitt 7,75 Kinder&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In den USA leben mehr Tiger bei Privatleuten als weltweit in der freien Wildbahn&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jack Nicholson fand erst mit 37 Jahren heraus, dass seine Schwester in Wahrheit seine Mutter ist. Sie war bei seiner Geburt erst 17 Jahre alt und so gab sich seine Großmutter als Mutter aus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pro Jahr fallen rund 20.000 Meteoriten auf die Erde. Die meisten sind kaum größer als Kieselstein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 90 Prozent der Deutschen zahlen in ihrem Leben mehr Zinsen als sie bekommen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1932 wurde Adolf Hitler in Braunschweig als Beamter eingestellt, damit er deutscher Staatsbürger werden konnte. Er stellte sofort mehrere Urlaubsanträge und trat die Stelle nie an&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Südafrika hat elf Amtssprachen: Afrikaans, Englisch, isiNdebele, isiXhosa, isiZulu, Nord-Sotho, Süd-Sotho, Setswana, Siswati, Tshivenda und Xitsonga&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Deutschen verbrauchen pro Jahr rund 52.000 Tonnen Ketchup&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Donald Ducks Vater heißt Degenhard Duck&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Latte Macchiato heißt auf deutsch “gefleckte Milch”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lucky Luke hat 1982 mit dem Rauchen aufgehört&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hirsche ohne Geweih nennt man Mönche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 140 Tage ihres Lebens verbringen Männer damit, sich zu rasieren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zwei Prozent der Abonnenten der Zeitschrift „Emma“ sind Männer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Cate Blanchett schenkte ihrem Mann Gipsabgüsse ihrer Ohren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Papiertaschentücher wurden im Ersten Weltkrieg als Filter für Gasmasken entwickelt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Tier auf den Kippenschachteln von „Camel“ ist eigentlich ein Dromedar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In der Europäischen Union gibt es mehr Handys als Bürger&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Während des Schlafens legt man sich mehr als zehn Mal in der Stunde um&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In der Ex-DDR nannten die Menschen Hamburger (Fleisch-Sandwich) „Grilletta“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Mensch verliert im Laufe seines Lebens Hautschuppen mit einem Gesamtgewicht von 20 Kilogramm&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In den USA empfängt ein normaler Haushalt mehr als 400 TV-Kanäle&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Neun von zehn Autofahrten in Deutschland sind kürzer als zwei Kilometer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In Pekings Innenstadt ist das Führen von Hunden, die über 35 Zentimeter groß sind, verboten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Auf “Mensch” reimt sich kein anderes deutsches Wort&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Jahr 2006 sind 2,1 Millionen Menschen nur deshalb umgezogen, weil die Nachbarn zu laut waren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Iran rauchen lediglich zwei Prozent der Bevölkerung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “Der”, “die” und “und” sind die am häufigsten gebrauchten Wörter im Deutschen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1896 wurde in Deutschland festgelegt, dass ein Fußballplatz baumfrei sein muss&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 31 Prozent Action, 17 Prozent Comedy, 13 Prozent Gut-gegen-Böse, 10 Prozent Special Effects, 10 Prozent Handlung und 8 Prozent Musik – das ist laut einer britischen Professorin die perfekte Mischung für einen perfekten Spielfilm&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; An ihren fruchtbaren Tagen kleiden sich Frauen freizügiger und modischer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dreifarbige Katzen (rot, schwarz, weiss) sind fast immer weiblich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dreifarbige männliche Katzen sind unfruchtbar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rothaarige Katzen sind fast immer männlich&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rothaarige männliche Katzen sind taub oder unfruchtbar&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Am Toten Meer bekommt man keinen Sonnenbrand: Weil es über 400 Meter unter dem Meeresspiegel liegt, ist die darüber befindliche Dunstschicht so dick, dass die schädlichen UV-Strahlen erst gar nicht bis zum Boden kommen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Menschen schwitzen pro Tag mindestens einen halben Liter Schweiß aus. Bei größeren Anstrengungen sind es bis zu zwei Liter pro Stunde&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Bundesnachrichtendienst hieß früher – aus Gründen der Tarnung - “Bundesvermögensverwaltung, Abteilung Sondervermögen, Außenstelle Pullach”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tauben sind in der Lage, Bilder von Monet und Picasso zu unterscheiden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein Mensch braucht durchschnittlich sieben Minuten, um einzuschlafen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die erste Bombe der Alliierten, die im Zweiten Weltkrieg über Berlin abgeworfen wurde, tötete den einzigen Elefanten des Zoos&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In einem Jahr wird mehr Monopoly-Geld gedruckt als echtes Geld&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In Iowa flog 1962 eine Kuh im Sog eines Tornados fast 1 km weit&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es gibt 318.979.564.000 verschiedene Möglichkeiten für die ersten vier Züge beim Schach&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “Die Arschkarte ziehen” – diese Redewendung stammt noch aus Zeiten des Schwarz-Weiß-Fernsehens. Damit die Zuschauer rote und gelbe Karten unterscheiden konnten, zog der Schiri die rote immer aus der Gesäßtasche&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das größte Weinfass der Welt steht im Heidelberger Schloss. Es fasst 220.000 Liter&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Küstenseeschwalbe fliegt in jedem Jahr von der Arktis in die Antarktis - und zurück. Das sind 40.000 Kilometer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 95 Prozent des Meeres sind noch unerforscht&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1980 ließ sich der Amerikaner Denis Hope beim Grundbuchamt in San Francisco als Besitzer sämtlicher Oberflächen in unserem Sonnensystem eintragen – mit Ausnahme der Erde. Bei ihm kann man Grundstücke auf dem Mond oder dem Mars erwerben&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Am und im menschlichen Körper leben rund zehn Mal mehr Bakterien als er Zellen besitzt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Falscher Name: Ameisenbären fressen deutlich mehr Termiten als Ameisen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bodybuilding hieß in der DDR “Körperkulturistik”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In Alaska gibt es fast so viele Flugzeuge wie Autos&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Durchschnittlich 6000 Schritte geht ein Mensch Tag für Tag zu Fuß. Das läppert sich: Im Laufe eines Lebens ist das eine Strecke, die vier Mal um die Erde reicht&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Laubheuschrecke hat ihre Ohren in den Knien&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Eis am Stiel wurde – wie so vieles – aus Versehen erfunden. 1905 ließ der elfjährige Frank Epperson ein Glas Limonade mit einem Löffel darin ein kalte Nacht über im Freien stehen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1928 durchwamm der Amerikaner Richard Halliburton den Panama-Kanal. Und was passierte dann? Er musste 36 Cent Gebühr für die Durchquerung bezahlen. Wie ein Wasserfahrzeug wurde er nach Tonnage abkassiert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die erste lila Kuh von Milka hieß Adelheid. Pro Spot bekam ihr Besitzer zwischen 500 und 800 Schweizer Franken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wegen seines ernormen Ansaugdrucks auf die Fahrbahn könnte eine Formel-1-Fahrzeug kopfüber an einer Zimmerdecke entlangfahren – bei Tempo 130&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Auf einen Teelöffel passen 120 Wassertropfen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ab einer Wassertiefe von 67 Metern wird Pressluft giftig, das kann bei Tauchern Schlaganfälle und Krämpfe auslösen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein Liter Coca-Cola enthielt bis 1903 etwa 250 Milligramm Kokain&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sieben von zehn Todesopfern bei Flugzeugabstürzen sterben an Rauchvergiftungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kaugummis sind in den USA so ein großer Erfolg geworden, weil William Wrigley einen Kaustreifen kostenlos zu jeder Dose Backpulver legen ließ&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bei der Tour de France im Jahr 1913 kamen von ursprünglich 140 Startern nur 25 ins Ziel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Haie haben ausgezeichnete Nasen. Sie können Blut im Wasser noch in einer Verdünnung von 1 zu 100.000.000 wahrnehmen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn sich ein Frosch übergibt, dann kommt sein kompletter Magen mit hinaus. Ist der Magen entleert, muss der Frosch ihn wider hinunterschlucken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In New York leben mehr Italiener als in Rom, mehr Iren als in Dublin und mehr Schwarze als in jeder anderen Stadt der Welt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ungewollte Gemeinsamkeiten hatten US-Präsident Bush und der irakische Diktator Saddam Hussein: Sie ließen ihr Schuhwerk beim selben Schuster anfertigen, bei Artioli in der Nähe von Mailand&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Haus des US-Milliardärs John Paul Getty hing für Gäste ein Münztelefon&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jedes Jahr ereignen sich auf der Erde über eine Million Erdbeben. Sichtbare Schäden richten davon knapp 2000 an&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 500 Millionen Schnecken verspeisen die Franzosen pro Jahr&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Legt man eine 60-Watt-Glühlampe in die Mikrowelle, dann beginnt sie zu leuchten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das schafft nicht einmal der Vatikan: Die Flagge der Dominikanischen Republik ist die weltweit einzige, die eine Bibel zeigt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Asiaten werden schneller seekrank als Europäer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bis zum 3. September 1967 galt in Schweden Linksverkehr. Trotz einer Volksabstimmung (1955), bei der nur 15 Prozent für einen Übergang zum Rechtsverkehr waren, verabschiedete das schwedische Parlament ein Gesetz zum Umstieg auf den Rechtsverkehr. Am Stichtag (“Dagen H”) war zwischen ein und sechs Uhr jeglicher Fahrzeugverkehr verboten, um die Umstellung nicht zu behindern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Obwohl der Buddhismus in Indien seinen Ursprung hat, gehören dort nur 0,8 Prozent der Menschen diesem Glauben an&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Über 20 Millionen Verkehrsschilder gibt es in Deutschland – das bedeutet, alle 28 Meter eines. Nicht mitgerechnet sind dabei die 3,5 Millionen Wegweiser&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Stattliche 8300 Kilometer Kohlefasern sind in Michael Schumachers Helm verarbeitet&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Europas einziger Lehrfriedhof für Bestatter liegt in Münnerstadt in Unterfranken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schlappe 639 Jahre dauert das längste Musikstück der Welt. Komponiert hat es der Brite John Cage. Es wird seit 2001 in Halberstadt aufgeführt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Als der trockenste Ort der Welt gilt die chilenische Atacama-Wüste. In weiten Teilen wurde dort noch niemals auch nur ein Tropfen Regen gesehen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Viagra hilft, Schnittblumen länger frisch zu halten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die griechische Nationalhymne hat 158 Strophen – gesungen werden in der Regel nur die ersten zwei&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein teurer Kuhtritt ereignete sich am 8. Oktober 1871 in Chicago. Ein Rindvieh trat an dem Tag in seinem Stall eine Petroleumlampe um, die erst den Stall und dann die halbe – damals noch überwiegend aus Holzhäusern bestehende – Stadt in Brand setzte. 20.000 Häuser fackelten ab, 150.000 Menschen wurden obdachlos, es entstand ein Sachschaden in Höhe von 500 Millionen Dollar.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 1471 wurde in Basel ein Hahn angeklagt. Angeblich hatte er – den Naturgesetzen zum Trotz – ein Ei gelegt. Als “verkleideter Teufel” wurde er auf dem Scheiterhaufen verbrannt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Gutes Benehmen leicht gemacht: Astronauten können im All nicht rülpsen – die Gase finden in der Schwerelosigkeit einfach keinen Weg nach oben.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Erfinder der Jeans, Levi Strauss, kam in Buttenheim bei Bamberg zur Welt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Jahr 2004 kamen bei rund 100.000 Naturkatastrophen schätzungsweise 15 Millionen Menschen ums Leben&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Koalas sind furchtbar faule Tiere, sie schlafen bis zu 20 Stunden am Tag&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Eigelb enthält mehr Eiweiß als das Eiweiß&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein durstiges Kamel kann in 15 Minuten 200 Liter Wasser trinken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jeder Mensch weint in seinem Leben etwa eine Badewanne voll&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In der McMurdo-Antarktis-Station gibt es einen Geldautomaten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wanderer geben im Schnitt 2,50 Euro pro Kilometer aus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Los Angeles heißt mit vollem Namen “El Pueblo de Nuestra Señora la Reina de los Angeles del Río de Porciúncula”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die giftigste Schlange der Welt, der Australische Inlandtaipan, könnte mit einem Biss 250.000 Mäuse oder mindestens 60 Menschen töten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In Deutschland wurde – vor Bruno – 1835 der letzte Bär erlegt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das europäische Land mit wenigsten Katholiken heißt Vatikan&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nur eine von zwei Millarden Personen wird älter als 116 Jahre&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Anthropologen haben noch kein Volk entdeckt, bei dem die Kinder nicht verstecken spielen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; In Frankreich ist es verboten, ein Schwein Napoleon zu nennen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jedes zehnte männliche Meerschweinchen gilt als schwul&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wie nennt man Bookmarks in juristischen Dokumentationen? Rechts-Links.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>nuetzliches</category>
            <pubDate>Thu, 13 Jun 2024 09:41:12 +0000</pubDate>
        </item>
        <item>
            <title>Jitsi</title>
            <link>http://itclive.spdns.de/wiki/anleitungen/software/jitsi?do=revisions&amp;rev=1632380719</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;jitsi&quot;&gt;Jitsi&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Jitsi ist eine Sammlung freier Software für IP-Telefonie, Videokonferenzen und Instant Messaging. Der Ursprung war ein Java-basierter Messenger-Client für XMPP und weitere Protokolle, jetzt Jitsi Desktop genannt.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://meet.jit.si&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://meet.jit.si&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://meet.jit.si&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;Jitsi&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jitsi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-258&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;jitsi_meet-server_unter_linux_ubuntu_2004_installieren&quot;&gt;Jitsi Meet-Server unter Linux Ubuntu 20.04 installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Keep it simple Installation
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;sudo su&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt update &amp;amp;&amp;amp; apt upgrade&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;hostnamectl set-hostname meet.deinserver.xyz&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt install software-properties-common&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt-add-repository universe&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt install apt-transport-https&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;curl &lt;a href=&quot;https://download.jitsi.org/jitsi-key.gpg.key&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://download.jitsi.org/jitsi-key.gpg.key&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://download.jitsi.org/jitsi-key.gpg.key&lt;/a&gt; | sh -c &amp;#039;gpg –dearmor &amp;gt; /usr/share/keyrings/jitsi-keyring.gpg&lt;/code&gt;&amp;#039;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;echo &amp;#039;deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] &lt;a href=&quot;https://download.jitsi.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://download.jitsi.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://download.jitsi.org&lt;/a&gt; stable/&amp;#039; | tee /etc/apt/sources.list.d/jitsi-stable.list &amp;gt; /dev/null&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt update&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;apt -y install jitsi-meet&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh&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;Jitsi Meet-Server unter Linux Ubuntu 20.04 installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;jitsi_meet-server_unter_linux_ubuntu_2004_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;259-988&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;offene_fragen&quot;&gt;Offene Fragen&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; muss der lokale Hostname zwingend gesetzt 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;Offene Fragen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;offene_fragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;989-1070&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ports&quot;&gt;Ports&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; 80 TCP (nur für die Aushandlung des Let´s Encrypt Zertifikats)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 443 TCP&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 10000 UDP (Video)&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;Ports&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ports&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1071-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>anleitungen:software</category>
            <pubDate>Thu, 23 Sep 2021 09:05:19 +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>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>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>7. AOK Altstadtlauf</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/blog/7._aok_altstadtlauf?do=revisions&amp;rev=1565564400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;aok_altstadtlauf&quot;&gt;7. AOK Altstadtlauf&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/blog/altstadtlauf.jpg?w=450&amp;amp;tok=ff99c7&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;450&quot; /&gt; Am 16.Mai 2014 verwandelt sich in diesem Jahr die Lippstädter Innenstadt wieder in ein echtes Lauf-Eldorado, wenn um 17.30 Uhr der erste Startschuss für den 7. AOK Altstadtlauf fällt. Unter &lt;a href=&quot;http://www.ltv-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ltv-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.ltv-lippstadt.de&lt;/a&gt; besteht sowohl für Einzelstarter als auch für Gruppen ab sofort die Möglichkeit, Anmeldungen online durchzuführen. Besonders lohnenswert ist die Teilnahme über die zehn Kilometer Distanz. Jeder 50. Teilnehmer, der sich online anmeldet, erhält einen Gutschein über 50 Euro. Außerdem gibt es für die drei teilnehmerstärksten vorangemeldeten Gruppen mit einer Anzahl von mindestens 25 Läufern einen vom Königshof gesponserten Partygutschein.
&lt;/p&gt;

&lt;p&gt;
Anmeldungen für den Rotter Firmen- und Hobbylauf über fünf Kilometer werden ausschließlich online entgegen genommen. Eine Nachmeldung am Wettkampftag ist nicht möglich. Schülerinnen und Schüler ab Jahrgang 1998, die für ihre Schule starten, werden extra gewertet.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:blog</category>
            <pubDate>Mon, 12 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Bekleidung</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/firmen/bekleidung?do=revisions&amp;rev=1565737200</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;bekleidung&quot;&gt;Bekleidung&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;Bekleidung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bekleidung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-26&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;berufsbekleidung&quot;&gt;Berufsbekleidung&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; Berufsmoden Meyer, Cappelstr.5, 59555 Lippstadt, ☎ 02941-58189, &lt;a href=&quot;http://www.berufsmoden-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.berufsmoden-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.berufsmoden-lippstadt.de&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;Berufsbekleidung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;berufsbekleidung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;27-154&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;damenkleidung&quot;&gt;Damenkleidung&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; Glennemeier Woman, Liesborner Str.6, 59556 Lippstadt, ☎ 02941-8476, &lt;a href=&quot;http://www.glennemeier-woman.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.glennemeier-woman.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.glennemeier-woman.de&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;Damenkleidung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;damenkleidung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;155-279&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;herrenkleidung&quot;&gt;Herrenkleidung&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; Kleine Herrenhaus, Langestr.58, 59555 Lippstadt, ☎ 02941-97640, &lt;a href=&quot;http://www.kleine-moden.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.kleine-moden.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.kleine-moden.de&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;Herrenkleidung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;herrenkleidung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;280-396&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;schuhe&quot;&gt;Schuhe&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; ISM Heinrich Krämer, Hans-Sachs-Str.8, 59558 Lippstadt, ☎ 02941-76060, &lt;a href=&quot;http://www.ism-europa.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ism-europa.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.ism-europa.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Laufgut, Rixbeckerstr.26, 59555 Lippstadt, ☎ 02941-9772910, &lt;a href=&quot;http://www.laufgut-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.laufgut-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.laufgut-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Peppermint Shoes, Langestr.71, 59555 Lippstadt, ☎ 02941-2025221, &lt;a href=&quot;https://plus.google.com/114757661147265931742&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://plus.google.com/114757661147265931742&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://plus.google.com/114757661147265931742&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Quick Schuh Lippe Galerie, Spielplatzstr.7, 59555 Lippstadt, ☎ 02941-9686835, &lt;a href=&quot;http://www.quick-schuh-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.quick-schuh-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.quick-schuh-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schuhhaus Stratmann, Fleischhauerstr.7, 59555 Lippstadt, ☎ 02941-79336, &lt;a href=&quot;http://www.schuhhaus-stratmann.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.schuhhaus-stratmann.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.schuhhaus-stratmann.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schuhpark Fascies, Südertor 2, 59557 Lippstadt, ☎ 02941-910394, &lt;a href=&quot;http://www.schuhpark.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.schuhpark.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.schuhpark.de&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;Schuhe&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schuhe&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;397-1025&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;sportbekleidung&quot;&gt;Sportbekleidung&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; Intersport Arndt, Langestr.78, 59555 Lippstadt, ☎ 02941-948850, &lt;a href=&quot;http://www.intersport-arndt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.intersport-arndt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.intersport-arndt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jack Wolfskin Store, Poststr.5, 59555 Lippstadt, ☎ 02941-2840249, &lt;a href=&quot;http://www.jack-wolfskin.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.jack-wolfskin.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.jack-wolfskin.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;Sportbekleidung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sportbekleidung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1026-1241&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;verschiedene&quot;&gt;Verschiedene&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; Aiala-Shop, Baby und Kindermode (Online-Shop), Maria Massidda Irastorza Martin, Erlenstr.10, 59557 Lippstadt, ☎ 02941-6799536, &lt;a href=&quot;http://www.aiala-shop.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.aiala-shop.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.aiala-shop.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Georg Haupt Bekleidungswerke, Försterweg 36, 59558 Lippstadt, ☎ 02941-94010, &lt;a href=&quot;http://www.haupt-bekleidungswerke.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.haupt-bekleidungswerke.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.haupt-bekleidungswerke.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Meingarn, Am Schlosspark 28a, 59556 Lippstadt, ☎ 02941-9541650, &lt;a href=&quot;http://www.meingarn.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.meingarn.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.meingarn.de&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;Verschiedene&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;verschiedene&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1242-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:firmen</category>
            <pubDate>Wed, 14 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Fotografie</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/firmen/fotografie?do=revisions&amp;rev=1565996400</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;fotografie&quot;&gt;Fotografie&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Amin Sallak, Schwarzenraben 1, 59558 Lippstadt, ☎ 02941-9677826, &lt;a href=&quot;http://www.aminsallak.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.aminsallak.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.aminsallak.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Christina Momberg Fotografie, Hellinghäuser Weg 34, 59557 Lippstadt, ☎ 0152-33554435, &lt;a href=&quot;http://www.christinamomberg.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.christinamomberg.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.christinamomberg.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Foto Kunst Presse, Peter Sudermann, Altenburgerstr.8, 59558 Lippstadt, ☎ 02941-827038, &lt;a href=&quot;http://www.foto-kunst-presse.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.foto-kunst-presse.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.foto-kunst-presse.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Foto Lehmann, Langestr.31, 59555 Lippstadt, ☎ 02941-4765, &lt;a href=&quot;http://www.fotolehmann.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.fotolehmann.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.fotolehmann.com&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Fotoatelier Flashlight, Heiner Bergmann, Brüderstr.18, 59555 Lippstadt, ☎ 02941-72279, &lt;a href=&quot;http://www.fotoflashlight.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.fotoflashlight.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.fotoflashlight.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Fotostudio Atelier Schack, Elke Nelke Fotodesign, Elke Horstmann, Woldemei 14, 59555 Lippstadt, ☎ 02941-57031, &lt;a href=&quot;http://www.fotostudio-schack.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.fotostudio-schack.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.fotostudio-schack.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Fotostudio Janin Büker-Henke, Lippestr.75, 59558 Lippstadt, ☎ 02941-2981958, &lt;a href=&quot;http://www.ihre-fotografin.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ihre-fotografin.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.ihre-fotografin.com&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; piggyprint, Leinwanddruck, Fotodruck XXL, Lambertweg 21, 59556 Lippstadt, ☎ 02941-6798071, &lt;a href=&quot;http://www.piggyprint.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.piggyprint.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.piggyprint.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ringfoto, Christian Aust, fotos and bytes, Cappelstr.27, 59555 Lippstadt, ☎ 02941-3082, &lt;a href=&quot;http://www.ringfoto-aust.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.ringfoto-aust.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.ringfoto-aust.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sommerfeld Fotografie, Görresstr.16, 59557 Lippstadt, ☎ 02941-10201, &lt;a href=&quot;http://www.foto-sommerfeld.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.foto-sommerfeld.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.foto-sommerfeld.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Stil-Bilder, Fotostudio, Sandra Knop, Bökenförderstr.127, 59557 Lippstadt, ☎ 02941–7436143, &lt;a href=&quot;http://www.stil-bilder.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.stil-bilder.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.stil-bilder.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:firmen</category>
            <pubDate>Sat, 17 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Hobby-Clubs</title>
            <link>http://itclive.spdns.de/wiki/archiv/lippstadt/vereine/hobby-clubs?do=revisions&amp;rev=1565218800</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hobby-clubs&quot;&gt;Hobby-Clubs&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Aero-Club Lippstadt, Hans-Juergen Hoffrichter, Auf der Brei 5, 59597 Erwitte, &lt;a href=&quot;http://www.aeroclub-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.aeroclub-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.aeroclub-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Allgemeiner Deutscher Fahrradclub (ADFC) - &lt;a href=&quot;http://www.adfc-nrw.de/kreisverbaende/kv-soest/kreisverband-soest.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.adfc-nrw.de/kreisverbaende/kv-soest/kreisverband-soest.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.adfc-nrw.de/kreisverbaende/kv-soest/kreisverband-soest.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Briefmarken-Sammler-Vereinigung Lippstadt - &lt;a href=&quot;http://www.briefmarkenverein-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.briefmarkenverein-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.briefmarkenverein-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hundefreunde Lippstadt - &lt;a href=&quot;http://www.hundefreunde-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.hundefreunde-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.hundefreunde-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Motorradfreunde Graf Bernhard Lippstadt - &lt;a href=&quot;http://www.mfgb-biker.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.mfgb-biker.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.mfgb-biker.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vespa Club Lippstadt - &lt;a href=&quot;http://www.vc-lippstadt.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.vc-lippstadt.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.vc-lippstadt.de&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:lippstadt:vereine</category>
            <pubDate>Thu, 08 Aug 2019 01:00:00 +0000</pubDate>
        </item>
        <item>
            <title>Avatar</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/avatar?do=revisions&amp;rev=1575021511</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;avatar&quot;&gt;Avatar&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/avatare.jpg?id=archiv%3Aopensim%3Abegriffe%3Aavatar&quot; class=&quot;media&quot; title=&quot;avatare.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/avatare.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;avatare.jpg&quot; alt=&quot;avatare.jpg&quot; /&gt;&lt;/a&gt; Der Avatar ist die virtuelle Figur die man durch die 3D-Welt bewegt und die die eigene Person in der virtuellen Welt repräsentiert. Das Wort „Avatar“ stammt aus dem &lt;a href=&quot;http://de.wikipedia.org/wiki/Sanskrit&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Sanskrit&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Sanskrit&lt;/a&gt;, wo es die Menschwerdung eines Gottes bezeichnet. Avatare können nach belieben modifiziert werden, beispielsweise die Körperform (Shapes, Skins) und zusätzlichen Anhängsel (Attachments).
&lt;/p&gt;

&lt;p&gt;
Die meisten Benutzer virtueller Welten nehmen eine erwachsene, menschliche Erscheinungsform als Avatar an. Es gibt allerdings auch Baby-, Kinder- und Tier-Avatare (Furries), sowie fiktive Figuren aus Filmen, Comics und Büchern. Es können auch komplette Avatare gekauft werden. Auffällig in Second Life ist die hohe Anzahl von Avataren in Vampir-Gestalt. Welchen Avatar Sie auswählen, sagt viel darüber aus, wer Sie sein möchten. Für die Menschen, die Sie in der virtuelle Welt treffen, sind Sie Ihr Avatar. Und tatsächlich reflektiert die Auswahl Ihres Avatars Ihre Persönlichkeit und Ihre Mentalität.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Avatar&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatar&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1060&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;ruth_-_der_standard-avatar_in_opensim&quot;&gt;Ruth - der Standard-Avatar in OpenSim&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man sich das erste Mal in OpenSim einloggt nimmt man ein Standard-Aussehen an. Dieses Standard-Aussehen ist weiblich und trägt den Namen „Ruth“. Den Standard-Avatar kann man anschliessend nach belieben ändern, sowohl was das Geschlecht angeht, als auch weitere Körperformen, Kleidung, Gesicht, Haare etc. Mehr zum Avatar Ruth, warum ausgerechnet dieser Name gewählt wurde und weitere geschichtliche Einzelheiten kann man &lt;a href=&quot;http://wiki.secondlife.com/wiki/Ruth&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://wiki.secondlife.com/wiki/Ruth&quot; rel=&quot;ugc nofollow noopener&quot;&gt;hier nachlesen&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ruth - der Standard-Avatar in OpenSim&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ruth_-_der_standard-avatar_in_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1061-1597&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;avatar_-_der_film&quot;&gt;Avatar - der Film&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„Avatar - Aufbruch nach Pandora“ ist ein kommerziell sehr erfolgreicher Science-Fiction-Film von James Cameron, der weltweit am 17. und 18. Dezember 2009 in den Kinos startete. Laut Wikipedia ist der Film Avatar der bisher weltweit finanziell erfolgreichste Film mit Gesamteinnahmen von derzeit (26. Januar 2010) mehr als 1,843 Milliarden US-Dollar. Platz 2 belegt der Film „Titanic“ mit 1,842 Mrd. US-Dollar, dessen Buch und Regie ebenfalls von James Cameron stammen.
&lt;/p&gt;

&lt;p&gt;
Quelle:
&lt;a href=&quot;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://de.wikipedia.org/wiki/Avatar_%E2%80%93_Aufbruch_nach_Pandora&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Website in Deutsch: &lt;a href=&quot;http://www.avatar-derfilm.de&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.avatar-derfilm.de&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.avatar-derfilm.de&lt;/a&gt;
Website in Englisch: &lt;a href=&quot;http://www.avatarmovie.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.avatarmovie.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://www.avatarmovie.com&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Avatar - der Film&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;avatar_-_der_film&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1598-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:31 +0000</pubDate>
        </item>
        <item>
            <title>OpenSIM</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/begriffe/opensim?do=revisions&amp;rev=1575021514</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensim&quot;&gt;OpenSIM&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/poweredbyopensim.jpg?id=archiv%3Aopensim%3Abegriffe%3Aopensim&quot; class=&quot;media&quot; title=&quot;poweredbyopensim.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/poweredbyopensim.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;poweredbyopensim.jpg&quot; alt=&quot;poweredbyopensim.jpg&quot; /&gt;&lt;/a&gt; OpenSIM ist eine &lt;a href=&quot;http://www.opensource.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.opensource.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Open Source&lt;/a&gt; Server-Software, basierend auf einer &lt;a href=&quot;http://de.wikipedia.org/wiki/BSD-Lizenz&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://de.wikipedia.org/wiki/BSD-Lizenz&quot; rel=&quot;ugc nofollow noopener&quot;&gt;BSD-Lizenz&lt;/a&gt;, die dazu genutzt werden kann auf dem eigenen PC virtuelle 3D-Welten zu erschaffen, zu entwickeln und dessen technische Möglichkeiten zu erkunden. Der OpenSIM Server wurde von verschiedenen Programmierern in der Programmiersprache C# entwickelt und kann auf Windows-, Linux- und Mac-Rechnern installiert und betrieben werden. Durch zusätzliche Plug-in Module kann der OpenSIM Server in seiner Funktion erweitert werden. Der OpenSIM Server unterstützt mehrere, voneinander unabhängige Regionen die zu einem zentralen Grid zusammengeschlossen werden können. Die offizielle Website von OpenSIM ist unter &lt;a href=&quot;http://opensimulator.org&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org&quot; rel=&quot;ugc nofollow noopener&quot;&gt;www.opensimulator.org&lt;/a&gt; zu finden.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Wie alles begann&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Im Mai 2006 gaben Hacker bekannt, dass sie das Second Life Protokoll mittels Reverse Engineering entziffert hätten. Als Ziel gaben die Hacker an, ein tieferes Verständnis für die Funktionsweise von Second Life erlangen und die virtuelle Welt besser in das Web einbinden zu wollen. Linden Lab, Betreiber des Second Life Grid, reagierte gelassen und begann, die Hacker-Community zu unterstützen. 2007 veröffentlichte Linden Lab selbst Teile des Programmcodes. Der Second Life Viewer war Open Source geworden - nicht jedoch die Server-Software, deren Geheimnisse die Hacker Community weiter erforschte. Und so ist das mittlerweile Open Simulator genannte Projekt heute eine Mischkulanz aus experimenteller Programmierkunst und offizieller Kooperation. Wohin es führt, ist 2008 deutlich absehbar: Zu einer Struktur von Parallelwelten, einem Multiversum aus unabhängigen Second Life Abkömmlingen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Die eigene, kostenlose Sim&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Der vielleicht interessanteste Aspekt des OpenSIM ist der Zugzwang, in den Entwickler anderer Metaverse-Technologien durch dieses Open Source Projekt geraten. Die Schöpfer von Google Earth und Microsoft Virtual Earth, aber auch kleinerer Plattformen wie Multiverse (frühere Netscape-Programmierer) oder das Croquet Consortium: Sie alle haben Millionen in die Entwicklung ihrer Vision eines Metaversums gesteckt, sie alle wissen, dass es irgendwann ein standardisiertes Protokoll für die Portabilität zwischen Onlinewelten geben wird - und ihnen allen droht der Open Simulator das Wasser abzugraben, weil er dafür sorgen könnte, dass die Technologie der populärsten virtuellen Welt zu ebendiesem Standard wird. Wer die Konstruktionswerkzeuge, die Programmiersprache und das grundlegende Bedienkonzept von Second Life und damit Open Simulator bereits kennt, wird weniger motiviert sein, eine neue Plattform zu lernen - vor allem dann, wenn Open Simulator mehr bietet und gratis 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;OpenSIM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-2812&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;betriebsmodi&quot;&gt;Betriebsmodi&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der OpenSIM Server kann entweder im Standalone-Modus (auch Sandbox-Mode genannt) oder im &lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/grid&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:grid&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:grid&quot;&gt;Grid&lt;/a&gt;-Modus betrieben werden. Im Grid-Modus kann der OpenSIM Server sich mit anderen OpenSIM Servern verbinden und damit ein Grid aus vernetzten Sims erzeugen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Betriebsmodi&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;betriebsmodi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2813-3098&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;systemanforderungen&quot;&gt;Systemanforderungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Den OpenSIM Server gibt es für die Betriebssysteme Windows, Linux und Mac. Als Mindest-Hardwareanforderungen sollte ein relativ aktueller PC mit 2 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; CPU-Takt und 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; Arbeitsspeicher (RAM) vorliegen. Eine noch schnellere CPU und noch mehr RAM bedeuten prinzipiell mehr Leistung und damit ein schnelleres System. Wenn Sie den OpenSIM Server nur als Server einsetzen und nicht gleichzeitig von diesem auch mit dem Viewer einloggen ist es egal welche Grafikkarte in dem OpenSIM Server eingebaut ist, denn der Server-Prozess des OpenSIM Server verwendet die Grafikkarte überhaupt nicht. Daher muss auch nicht ein sündteurer Server angeschafft werden, sondern es reicht ein relativ aktueller PC völlig aus. Viel wichtiger sind möglichst viel Upstream-Bandbreite, CPU-Leistung, Arbeitsspeicher (RAM) und Datendurchsatz der Festplatte um einen schnellen OpenSIM Server zu bekommen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Systemanforderungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;systemanforderungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3099-4012&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;logos&quot;&gt;Logos&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
„&lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;“, GIF, transparenter Hintergrund
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/os-logo-gross-transparent.gif?id=archiv%3Aopensim%3Abegriffe%3Aopensim&quot; class=&quot;media&quot; title=&quot;os-logo-gross-transparent.gif&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/os-logo-gross-transparent.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
„OPENSIM“, GIF, transparenter Hintergrund
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/opensim-logo-gross-transparent.gif?id=archiv%3Aopensim%3Abegriffe%3Aopensim&quot; class=&quot;media&quot; title=&quot;opensim-logo-gross-transparent.gif&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/opensim-logo-gross-transparent.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&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;Logos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;logos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4013-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:begriffe</category>
            <pubDate>Fri, 29 Nov 2019 10:58:34 +0000</pubDate>
        </item>
        <item>
            <title>OpenSIM-Installation unter Windows</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/installation/windows?do=revisions&amp;rev=1575021528</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;opensim-installation_unter_windows&quot;&gt;OpenSIM-Installation unter Windows&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

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

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

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

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

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

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

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

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

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

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

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

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

&lt;/div&gt;

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

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

&lt;/div&gt;

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

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

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

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

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

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

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

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

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

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

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Weitere Konfigurationstipps&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;weitere_konfigurationstipps&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;12415-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:installation</category>
            <pubDate>Fri, 29 Nov 2019 10:58:48 +0000</pubDate>
        </item>
        <item>
            <title>Performance</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/konfiguration/performance?do=revisions&amp;rev=1575021530</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;performance&quot;&gt;Performance&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;Performance&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance&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;hardwareseitige_performance-beeinflussungen&quot;&gt;Hardwareseitige Performance-Beeinflussungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Um die Geschwindigkeit des OpenSIM-Servers zu erhöhen sind folgende Punkte mit am wichtigsten:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Viel Arbeitsspeicher (RAM)&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Optimal ist DDR2-RAM ab 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, mehr ist auch nicht verkehrt. OpenSIM verbraucht im laufenden Betrieb locker hundert und mehr Megabyte RAM (je nach Konfiguration von OpenSIM), daher ist viel RAM eines der wichtigsten Punkte. Als absoluter Mindestwert kann man kurzzeitig 512 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt; RAM verwenden, wesentlich besser läuft es bereits mit 1 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, optimal ab 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; RAM. Es hängt allerdings auch davon ab welches Betriebssystem man einsetzt, denn nicht jedes Betriebssystem verbraucht gleichviel RAM. Da die RAM-Preise momentan sehr niedrig liegen sollte man mit RAM nicht geizen und reinpacken was an freien Slots vorhanden ist.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schneller Prozessor (CPU&lt;/strong&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Am besten leistungsstarke Dual-Core oder Quad-Core Prozessoren ab 2 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; Taktfrequenz pro Prozessorkern. Die Geschwindigkeit der CPU ist für OpenSIM sehr entscheidend. Als absoluter Mindestwert kann man kurzzeitig eine CPU mit 1 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; einsetzen, die dann aber im Betrieb möglicherweise extrem ausgelastet sein wird und OpenSIM träge macht. Wesentlich besser sieht es mit doppelt soviel CPU-Power aus. Leistungsstarke Quad-Core Prozessoren wie man Sie in richtigen Servern findet sind für OpenSIM der Idealfall. Allerdings geht das ziemlich auf die Stromrechnung &lt;img src=&quot;http://itclive.spdns.de/wiki/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; Nicht empfehlenswert sind abgespeckte, leistungsschwache CPU´s wie sie in manchen Notebooks oder billigen PC´s verbaut werden und die auf Stromsparen optimiert worden sind und nicht auf Geschwindigkeit.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Festplatte&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    SCSI-Festplatten mit RAID-5 (ab 3 Stück) haben mehr Datendurchsatz als eine Single-IDE oder SATA-Festplatte. Dazu kommt noch daß viele Consumer-Festplatten die in den PC stecken nicht für den Dauerbetrieb ausgelegt sind. Moderne PC haben aber normalerweise ausreichend Festplatten-Datendurchsatz, sodaß dieser Punkt nicht allzu kritisch ist. Planen Sie bei der Festplattengrösse nicht zu knapp. Wenn OpenSIM auf der selben Festplatten-Partition wie das Betriebssystem installiert ist nehmen Sie mindestens 100 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt;, mehr sind nie verkehrt. Wenn Sie den Datendurchsatz steigern möchten, dann installieren Sie die Datenbank von OpenSIM auf einer separaten Festplatte mit eigener Partition, damit gleichzeitig ablaufende Festplattenzugriffe durch das Betriebssystem nicht störende Auswirkungen haben.
&lt;/p&gt;

&lt;p&gt;
Und wo wir schon beim Thema Festplatte sind: regelmäßig Datensicherungen (Backups) machen nicht vergessen ! Totalverlust aller Daten ist immer sehr ärgerlich und lässt sich nur durch konsequentes Datensichern auf externen Medien verhindern. Merke: auch Festplatten können mal kaputtgehen und insbesonders ständig laufende Festplatten wie beim Serverbetrieb mit der OpenSIM-Software, die aber nicht für den Dauerbetrieb ausgelegt sind, verabschieden sich häufig mit einem sehr nachhaltigen Erlebnis.
&lt;/p&gt;

&lt;p&gt;
Wir zählen mittlerweile ganze Stapel von defekten, externen USB-Festplatten die erstens in den Metallgehäusen viel zu schlecht gekühlt waren (wenn man eine Passivkühlung durch das Ableiten der Wärme überhaupt als richtige Kühlung ansehen darf), zweitens oft miserabel konstruierte Controller enthielten die gerne schnell defekt gehen und drittens sich gerne mal nach ein paar Wochen Dauerbetrieb mit einem lauten „Klack“ (Headcrash) für immer verabschiedet haben. Wenn da dann wichtige Datensicherungen drauf waren …
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Datenbank&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Eine mySQL-Datenbank ist SQLite zu bevorzugen. Die Performance der verwendeten Datenbank ist aber erst mit steigender Anzahl der Avatare kritisch, da viele gleichzeitige Operationen ausgeführt werden müssen und eine SQLite-Datenbank damit auch mal gerne überfordert sein kann. Für viele gleichzeitige Datenbankzugriffe ist die kostenlose mySQL-Datenbank am besten geeignet. Wer sich mit mySQL gut auskennt und mehr als die Standard-Konfiguration haben möchte, verwendet die im WWW sehr zahlreich zu lesenden Tricks um aus einer mySQL-Datenbank das maximale Potential herauszuholen. Viele Einstellungen lassen sich sehr einfach in der mySQL-Konfigurationsdatei vornehmen.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schnelle Internetanbindung&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Je mehr Avatare sich auf der eigenen Sim einloggen möchten, umso mehr Internetbandbreite wird benötigt. Kleine Gruppen lassen sich möglicherweise noch auf dem heimischen PC verwalten. Bei grösseren Gruppen wird es nötig werden entweder seinen Server bei einem grossen Hoster mit grosser Internetanbindung unterzustellen, oder einen Root-Server bei einem Hoster zu mieten (Preise ab ca. 80 Euro/Monat). Wer OpenSIM bei sich zuhause betreiben möchte, sollte einen Upstream von mindestens 1 MBit haben, also etwa ADSL mit 16.000 kBit/sec. aufwärts. Je höher der Upstream, desto besser. Ideal und vom Kosten-/Nutzen-Verhältnis am sinnvollsten ist derzeit VDSL mit 50 MBit Downstream und 10 MBit Upstream.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Grafikkarte&lt;/strong&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
    Die verwendete Grafikkarte im OpenSIM-Server ist hingegen völlig nebensächlich wenn dieser Computer nur als Server dient und nicht gleichzeitig auf diesem auch noch ein 3D-Viewer zum einloggen ausgeführt wird. Da wir davon ausgehen daß Sie nur einen Server betreiben, gehen wir auf den Punkt Grafikkarte nicht weiter ein.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Hardwareseitige Performance-Beeinflussungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardwareseitige_performance-beeinflussungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;26-5327&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;softwareseitige_performance-beeinflussungen&quot;&gt;Softwareseitige Performance-Beeinflussungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Softwareseitig sind extrem viele, unterschiedliche OpenSIM-Werte an der vom Avatar „gefühlten“ Geschwindigkeit der Sim beteiligt. Hauptsächlich sind dies die Menge der auf einer Sim gleichzeitig eingeloggten Avatare, die auf einer Sim laufenden Scripts und physische Prims, neben einer ganzen Reihe anderer Faktoren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Softwareseitige Performance-Beeinflussungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;softwareseitige_performance-beeinflussungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5328-5702&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;performance-messung_inworld_opensim&quot;&gt;Performance-Messung Inworld OpenSIM&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit der Tastenfolge STRG-SHIFT-1 die Statusanzeige einschalten.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Time Dilation: sollte möglichst bei 1.0 liegen (Echtzeitbetrieb). Je niedriger der Wert umso zeitversetzter läuft alles ab. Ab einem Wert von 0.7 wird es extrem träge.&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; Sim FPS: FPS = Frames per Second (Bilder pro Sekunde). Maximal 45 sind möglich, 30 ist gut, unter 20 ruckelt es heftigst.&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; Time: sagt genau warum die beiden Werte oben evtl. schlecht sind. Eine Sim erreicht maximal 45 FPS, d.h. pro Frame 1/45 = 22ms Zeit.&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; Total Frame Time: sollte am besten bei 12 ms, möglichst aber noch unter 22 ms liegen. Steigt die Zeit pro Frame darüber, wird der Frame eben länger, und es kommt zu Lags, Time Dilation sinkt und natürlich analog der Sim FPS-Wert. Die Total Frame Time setzt sich zusammen aus verschiedenen Unterzeiten:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sim Time (Physics): Wenn jemand tausende von fliegenden physischen Würfeln rezzt, braucht der Simulator irsinnig lange, um das in Havok4 alles zu berechnen, dann geht die Zeit extrem hoch. → Physics Lag&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Script Time: sollte möglichst unter 12 ms sein. Wenn sehr viele Scripte laufen und richtig was tun, dann geht diese Zeit hoch. Script-Lag ist tückisch, weil er sich gar nicht so in der Time Dilation und Sim FPS ablesen lässt. Seit Havok4 funktionieren physische Bewegungen trotz Script-Lag oft noch recht gut, aber die Scripte werden sehr langsam. Kann man fast nur an diesem Wert ablesen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Agent Time: Weiter oben unter Simulator gibts die „Main Agents“. Viele Avatare in der Sim bedeuten hohe Agent Time (viel Lag). Child Agents sind diejenigen die aus einer Nachbar-Region oder Sim theoretischen Sichtkontakt haben. Viele Child Agents stören aber kaum.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Performance-Messung Inworld OpenSIM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance-messung_inworld_opensim&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5703-7444&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;performance-optimierungen&quot;&gt;Performance-Optimierungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wie schon geschildert gibt es &lt;a href=&quot;http://itclive.spdns.de/wiki/begriffe/inworld&quot; class=&quot;wikilink2&quot; title=&quot;begriffe:inworld&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;begriffe:inworld&quot;&gt;Inworld&lt;/a&gt; eine Menge Potential die Performance einer Sim zu verbessern. Dazu gehören zum Beispiel:
&lt;/p&gt;

&lt;p&gt;
- animierte Bäume und Pflanzen nur sparsam einsetzen, denn diese verringern die Simulator Framerate (Bilder pro Sekunde) und machen die Sim auch träger (Ping-Wert verschlechtert sich).
&lt;/p&gt;

&lt;p&gt;
- auch Scripte schlucken - je nach Art und Programmierung des Scripts - durch die benötigte Rechenzeit einiges an Performance und sollten nicht übermäßig stark eingesetzt 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;Performance-Optimierungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;performance-optimierungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;7445-7995&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;fazit&quot;&gt;Fazit&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Passende PC für OpenSIM bekommt man ab etwa 300 Euro zu kaufen, z.B. über &lt;a href=&quot;http://www.one.de/shop&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.one.de/shop&quot; rel=&quot;ugc nofollow noopener&quot;&gt;diesen Online-Shop&lt;/a&gt; mit sehr preiswerten Angeboten. Wer zukunftsweisend einkaufen möchte achtet insbesondere auf die verwendete CPU und das RAM und investiert lieber etwas mehr, bekommt dafür aber auch mehr Leistung.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fazit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fazit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7996-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:konfiguration</category>
            <pubDate>Fri, 29 Nov 2019 10:58:50 +0000</pubDate>
        </item>
        <item>
            <title>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>Stefan Andersson</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/personen/stefan_andersson?do=revisions&amp;rev=1575021533</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;stefan_andersson&quot;&gt;Stefan Andersson&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/personen/stefanandersson.jpg?id=archiv%3Aopensim%3Apersonen%3Astefan_andersson&quot; class=&quot;media wikilink2&quot; title=&quot;personen:stefanandersson.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/personen/stefanandersson.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;stefanandersson.jpg&quot; alt=&quot;stefanandersson.jpg&quot; /&gt;&lt;/a&gt; Auch bekannt als „Lbsa“ und „Stephan Andersson“.
&lt;/p&gt;

&lt;p&gt;
Tribal Media AB
3D and Web Integration
Ytterby, Sweden
&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://lbsa71.net&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://lbsa71.net&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://lbsa71.net&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://se.linkedin.com/in/lbsa71&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://se.linkedin.com/in/lbsa71&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://se.linkedin.com/in/lbsa71&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://twitter.com/lbsa71&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://twitter.com/lbsa71&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://twitter.com/lbsa71&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:personen</category>
            <pubDate>Fri, 29 Nov 2019 10:58:53 +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>Archivierte News 2008</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/archiv/news/2008?do=revisions&amp;rev=1575021511</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;archivierte_news_2008&quot;&gt;Archivierte News 2008&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 2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;archivierte_news_2008&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;section27122008&quot;&gt;27.12.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nun haben auch unangemeldete OpenSIM Wiki-Nutzer bzw. Gäste die Möglichkeit Kommentare zu einem Artikel zu hinterlassen. Das Eingabefeld für Kommentare befindet sich stets am Seitenende der Artikel und wird als Liste von Einträgen geführt. Sie können das Kommentarfeld beispielsweise für Fragen oder Anregungen zu dem jeweiligen Artikel bzw. Thema nutzen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;27.12.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section27122008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;256-640&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;section26122008&quot;&gt;26.12.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die letzten zwei Tage sind eine ganze Menge neuer OpenSIM-Nutzer dazugekommen. Offensichtlich wurden auch dieses Jahr zu Weihnachten wieder massenweise Computer verschenkt und viele Leute interessieren sich für virtuelle Realität. Das OpenSIM Portal mit eigenem OpenSIM-Server ist dazu die im deutschsprachigen Bereich aktivste Quelle zum Thema OpenSimulator als quelloffener Open Source Server. Google hat OpenSIM dazu gestern an die erste Position gesetzt.
&lt;/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.12.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section26122008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;641-1123&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;section22122008&quot;&gt;22.12.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der OpenSIM-Testserver ist seit heute wieder erreichbar ! Da der frühere OpenSIM-Server sich absolut nicht mehr dazu bewegen liess auf dem aktuellen Linux Ubuntu 8.10 zu laufen, haben wir kurzerhand die kompletten Einstellungen auf einen Windows-XP System konvertiert (was bei OpenSIM möglich ist). Zudem wurde auch OpenSIM selber aktualisiert, von Version 0.5.9 auf die aktuelle Version 0.6.0.
&lt;/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.12.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section22122008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1124-1542&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;section19122008&quot;&gt;19.12.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wie heute vom OpenSIM-Entwickler &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/justin_clark-casey&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:justin_clark-casey&quot; data-wiki-id=&quot;archiv:opensim:personen:justin_clark-casey&quot;&gt;Justin Clark-Casey&lt;/a&gt; in &lt;a href=&quot;http://justincc.wordpress.com/2008/12/19/what-is-the-hypergrid&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://justincc.wordpress.com/2008/12/19/what-is-the-hypergrid&quot; rel=&quot;ugc nofollow noopener&quot;&gt;seinem Blog&lt;/a&gt; angekündigt ist nun auch ein Hyperlink von einem OpenSIM-Server zu einem anderen, fremden OpenSIM-Server möglich, egal ob dieser im Standalone- oder Grid-Modus läuft. Die neue „Hypergrid“ genannte Funktion ermöglicht es einem Avatar mitsamt seinem Inventar von einem Server zu einem anderen Server zu teleportieren, genauso wie es in Second Life möglich ist, nur mit dem Zusatz das der Hyperlink sogar funktioniert wenn die Server gar nicht am selben Grid angeschlossen sind. OpenSIM-Betreiber müssen ihren Server lediglich hypergrid-fähig machen damit die eingeloggten Benutzer teleportieren können. Wie das geht steht &lt;a href=&quot;http://opensimulator.org/wiki/Hypergrid#Installing_and_Running_Hypergrid&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Hypergrid#Installing_and_Running_Hypergrid&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;19.12.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section19122008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1543-2456&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;section02122008&quot;&gt;02.12.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es gibt nun einen OpenSIM &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Channel auf dem &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Server freenode.net, Channel #opensim für deutschsprachige OpenSIM-Anwender. Der &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/chat&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:chat&quot; data-wiki-id=&quot;archiv:opensim:chat&quot;&gt;OpenSIM-Chat&lt;/a&gt; ist als Anlaufstelle gedacht für Einsteiger, Benutzer, Hilfe und zum losen Talk. Wer bereits einen &lt;abbr title=&quot;Internet Relay Chat&quot;&gt;IRC&lt;/abbr&gt;-Client installiert hat kann den direkten &lt;a href=&quot;irc://irc.freenode.net/opensim&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;irc://irc.freenode.net/opensim&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Link zum IRC-Channel&lt;/a&gt; nutzen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;02.12.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section02122008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2457-2856&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;section21112008&quot;&gt;21.11.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Leider gibt es zur Zeit ein Problem mit dem OpenSIM Testserver. Nach einem Update des Betriebssystems von Linux Ubuntu 8.04 auf 8.10 lief der OpenSIM-Server nicht mehr. Bisher konnte keine Lösung gefunden 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;21.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section21112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2857-3092&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;section20112008&quot;&gt;20.11.2008&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; Windows-Benutzer können nun auch alternativ den neuen Windows-Installer verwenden, den es seit kurzem für die aktuelle Version 0.6 gibt: &lt;a href=&quot;http://forge.opensimulator.org/gf/download/frsrelease/137/251/OpenSimSetup0.6.exe&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://forge.opensimulator.org/gf/download/frsrelease/137/251/OpenSimSetup0.6.exe&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Download&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Es gibt ein neues, englischsprachiges Video daß die Installation eines OpenSIM-Servers im Standalone-Modus zeigt: &lt;a href=&quot;http://blip.tv/file/1421954&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://blip.tv/file/1421954&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Video-Link&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;20.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section20112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3093-3514&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;section15112008&quot;&gt;15.11.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute ist die &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/installation/linux&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:installation:linux&quot; data-wiki-id=&quot;archiv:opensim:installation:linux&quot;&gt;Installationsanleitung für OpenSIM unter Linux&lt;/a&gt; fertiggeworden. Ausserdem kann man nun ein fertig kompiliertes Binary-Paket für Windows und Linux von unserem Server &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/download&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:download&quot; data-wiki-id=&quot;archiv:opensim:download&quot;&gt;downloaden&lt;/a&gt;, optimal für alle die mit den von den Entwicklern angebotenen Quellen nicht zurechtkommen.
&lt;/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.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section15112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3515-3885&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;section10112008&quot;&gt;10.11.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Verkaufe meine Südsee-Insel „&lt;a href=&quot;http://slurl.com/secondlife/Luna%20Islands/195/55/22&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://slurl.com/secondlife/Luna%20Islands/195/55/22&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Bluna Island&lt;/a&gt;“ in Second Life. Bluna Island befindet sich auf der Openspace-Sim „Funky Islands“, Region „Luna Islands“, ist also ringsum mit freier Wasserfläche umgeben, ideal für Wassersportler. Die Insel ist 4.368 qm gross, fast maximal 749 Prims und kostet wöchentliche Tier von 1.150 LD. Der Verkaufspreis liegt bei 10.0000 LD.
&lt;/p&gt;

&lt;p&gt;
Bei Interesse bitte Kontakt Inworld Second Life über meinen Avatar „Mikebert Miles“, oder hier über Kontakt.
&lt;/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.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section10112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3886-4440&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;section09112008&quot;&gt;09.11.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Auf mehrfachen Wunsch von verschiedenen Nutzern hin hab ich die &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/installation/windows&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:installation:windows&quot; data-wiki-id=&quot;archiv:opensim:installation:windows&quot;&gt;Installationsanleitung für OpenSIM unter dem Betriebssystem Microsoft Windows 2000/XP/Vista&lt;/a&gt; neu geschrieben. Ich hoffe mit dieser Anleitung kommen nun auch unerfahrene PC-Nutzer zurecht und kommen in den Genuß einer eigenen Sim.
&lt;/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.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section09112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;4441-4797&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;section08112008&quot;&gt;08.11.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute sind wieder zwei neue OpenSIM-Benutzer dazugekommen und die frühere Annahme das es sinnvoll ist die fast durchgängig nur in Englisch erhältlichen Infos zu OpenSIM für deutschsprachige Benutzer ins Deutsche zu übersetzen hat sich wieder einmal bestätigt, denn die Hürden zu OpenSIM sind deutlich geringer wenn erstens wichtige Informationen in der Muttersprache verfasst sind und zweitens ein persönlicher Ansprechpartner für Fragen zur Verfügung steht.
&lt;/p&gt;

&lt;p&gt;
Mit zunehmender Nutzung von OpenSIM wird allerdings für viele Residents die Online-Zeit in Second Life immer geringer und wird auch nicht besser durch die Ankündigung von Linden Lab die Preise für Land zu erhöhen. In der jetzigen Zeit der weltweiten Wirtschaftskrise und abflauender Kauflust ein nicht gerade weiser Entschluss von Linden Lab dies ausgerechnet jetzt zu machen. Für OpenSIM jedoch bedeutet dies ein immer grösser werdendes Interesse von sonst eingefleischten Second Life Nutzern, die jetzt häufig ihr Land verkaufen wollen. Ich kenne immer mehr SL Residents die ihr Second Life Land verkaufen oder vermieten wollen, aber kaum auf Interessenten stossen.
&lt;/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.11.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section08112008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;4798-5964&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;section22102008&quot;&gt;22.10.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
- Im &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/media/video&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:media:video&quot; data-wiki-id=&quot;archiv:opensim:media:video&quot;&gt;Media-Bereich&lt;/a&gt; sind neue Videos hinzugekommen, u.a. eines in HD-Qualität.
- Neue OpenSIM-User sind hinzugekommen
- Links aktualisiert
&lt;/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.10.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section22102008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5965-6156&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;section07102008&quot;&gt;07.10.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/m34-sim.jpg?id=archiv%3Aopensim%3Aarchiv%3Anews%3A2008&quot; class=&quot;media&quot; title=&quot;m34-sim.jpg&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/m34-sim.jpg&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; title=&quot;m34-sim.jpg&quot; alt=&quot;m34-sim.jpg&quot; /&gt;&lt;/a&gt; Der aktuelle Stand unserer Test-Sim „M34“ ist auf dem diesem Foto zu sehen. In der Mitte befindet sich die Startregion die im Südsee-Flair gehalten ist. Am Startpunkt befindet sich eine zentrale Eingangshalle für alle neuen Benutzer die mit diversen Infos, Links und Bildern vom Aufbau bestückt ist.
&lt;/p&gt;

&lt;p&gt;
Zukünftig wird es in der Eingangshalle noch Freebies mit kostenlosen Sachen zu mitnehmen geben die man gut in OpenSIM brauchen kann, wie beispielsweise Kleidung, Haut, Körperform, aber auch andere Dinge die für Neulinge wichtig sind. Die Startregion wird von „Mikebert M34“ betrieben, der auch der zentrale Ansprechpartner für alle Fragen zu diesem OpenSIM-Server ist. Wer einen kostenlosen Schnupperzugang haben möchte, meldet sich bitte unter &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/kontakt&quot; class=&quot;wikilink2&quot; title=&quot;archiv:opensim:kontakt&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;archiv:opensim:kontakt&quot;&gt;Kontakt&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;07.10.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section07102008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;6157-6978&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;section28092008&quot;&gt;28.09.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Erfreulich daß es immer mehr OpenSIM Grid-Betreiber gibt, auch deutschsprachige. So wird der Einstieg in OpenSIM immer leichter. Auch die aktuelle OpenSIM Server Version 0.5.9 ist die wohl mit Abstand bisher stabilste Version von OpenSIM. Endlich kann man Prims auch anziehen bzw. am Körper tragen und sich damit um weitere Accessoires individualisieren von anderen Avataren.
&lt;/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.09.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section28092008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;6979-7378&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;section11092008&quot;&gt;11.09.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Heute sind noch „hallow palmer“ mit seiner Partnerin „orange onmura“ zum OpenSIM Team dazugestossen und helfen mit die deutschsprachige OpenSIM-Community zu stärken, Interessenten mit Rat und Tat zur Seite zu stehen und exemplarische Bauwerke Inworld OpenSIM zu gestalten um die Möglichkeiten und Chancen eines 3D-Web auszutesten.
&lt;/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.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section11092008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;7379-7733&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;section04092008&quot;&gt;04.09.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://itclive.spdns.de/wiki/_detail/opensim_award.png?id=archiv%3Aopensim%3Aarchiv%3Anews%3A2008&quot; class=&quot;media&quot; title=&quot;opensim_award.png&quot;&gt;&lt;img src=&quot;http://itclive.spdns.de/wiki/_media/opensim_award.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Das OpenSIM-Projekt hat bei der &lt;a href=&quot;http://www.virtualworldsaward.com&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://www.virtualworldsaward.com&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Virtual Worlds Expo 2008 in Los Angeles&lt;/a&gt; den Gesamt-Innovationspreis gewonnen ! Das OpenSIM-Projekt wurde von &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/adam_frisby&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:adam_frisby&quot; data-wiki-id=&quot;archiv:opensim:personen:adam_frisby&quot;&gt;Adam Frisby&lt;/a&gt; vorgestellt. Mit dabei waren ausserdem &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/justin_clark-casey&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:justin_clark-casey&quot; data-wiki-id=&quot;archiv:opensim:personen:justin_clark-casey&quot;&gt;Justin Clark-Casey&lt;/a&gt;, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/charles_krinke&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:charles_krinke&quot; data-wiki-id=&quot;archiv:opensim:personen:charles_krinke&quot;&gt;Charles Krinke&lt;/a&gt;, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/david_levine&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:david_levine&quot; data-wiki-id=&quot;archiv:opensim:personen:david_levine&quot;&gt;David Levine&lt;/a&gt;, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/adam_johnston&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:adam_johnston&quot; data-wiki-id=&quot;archiv:opensim:personen:adam_johnston&quot;&gt;Adam Johnston&lt;/a&gt;, &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/mike_mazur&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:mike_mazur&quot; data-wiki-id=&quot;archiv:opensim:personen:mike_mazur&quot;&gt;Mike Mazur&lt;/a&gt; und &lt;a href=&quot;http://itclive.spdns.de/wiki/archiv/opensim/personen/jeff_ames&quot; class=&quot;wikilink1&quot; title=&quot;archiv:opensim:personen:jeff_ames&quot; data-wiki-id=&quot;archiv:opensim:personen:jeff_ames&quot;&gt;Jeff Ames&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;04.09.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section04092008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;7734-8297&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;section26082008&quot;&gt;26.08.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
S-NetworkX unterstützt nun offiziell das OpenSIM-Projekt und ist &lt;a href=&quot;http://opensimulator.org/wiki/Development_Team&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://opensimulator.org/wiki/Development_Team&quot; rel=&quot;ugc nofollow noopener&quot;&gt;Mitglied des OpenSimulator-Entwicklerteams&lt;/a&gt;. Es werden unter anderem eine deutschspachige, zentrale Anlaufstelle und Plattform für OpenSIM zur Verfügung gestellt, Übersetzungsdienste (englisch/deutsch) angeboten, Server Performance auf Linux- und Windows-Betriebssystemen durchgeführt, Patches getestet, Feedback und Bug Reporting, sowie eine Testmöglichkeit von OpenSIM zur Verfügung gestellt.
&lt;/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.08.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section26082008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;8298-8836&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;section23082008&quot;&gt;23.08.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die ersten neuen Benutzer haben sich auf dem OpenSIM-Testserver eingefunden und haben von Second Life nach OpenSIM gewechselt. Erstaunte Blicke gab es als die neuen Benutzer festgestellt haben was man bereits jetzt alles mit OpenSIM machen 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;23.08.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section23082008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;8837-9104&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit20&quot; id=&quot;section22082008&quot;&gt;22.08.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Unser OpenSIM-Server läuft zur Zeit im Standalone-Modus zum testen, ist aber nun auf 9 Regionen erweitert worden. Der OpenSIM-Prozess läuft auf einem sehr leistungsstarken Rackserver, der bei uns in der Firma in einer grossen Halle steht. Der Server ist ein NEC Express 5800 120RF-2 Dual Xeon mit Doppelkern-Prozessor mit 2x 2 &lt;abbr title=&quot;Gigahertz&quot;&gt;GHz&lt;/abbr&gt; CPU-Taktfrequenz, 2 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; DDR ECC RAM und 6x 38 &lt;abbr title=&quot;Gigabyte&quot;&gt;GB&lt;/abbr&gt; SCSI-Festplatten (RAID-5) in Hot-Swap Rahmen, LSI Logic MegaRAID Controller, 2x Gigabit Ethernet Anschlüsse, Unit Identification Switch und 2x 500 Watt redundante Netzteile, ausgelegt für den professionellen Dauereinsatz. Der OpenSIM-Server läuft unter dem Betriebssystem Linux Ubuntu 8.04 , ist mehrfach redundant ans Internet angebunden (Multiplex-Anbindung aus 4x ADSL-Zugängen mit je 16 Mbit Downstream und 1 MBit Upstream) und hat 2 Strom-Ausfallsicherungen (2x USV plus 1 Dieselaggregat).
&lt;/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.08.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section22082008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;9105-10006&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit21&quot; id=&quot;section19082008&quot;&gt;19.08.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der OpenSIM-Server von uns ist nun auch im Internet erreichbar. Bitte beachten Sie aber das dieser Server bisher rein nur für Testzwecke eingesetzt wird. Der OpenSIM-Server läuft im Standalone-Modus (Sandbox) und ist mit einem 3D-Viewer unter der Adresse &lt;a href=&quot;http://DOMAIN:9090&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;http://DOMAIN:9090&quot; rel=&quot;ugc nofollow noopener&quot;&gt;http://DOMAIN:9090&lt;/a&gt; erreichbar. Unter Windows stellen Sie folgenden Login-Pfad in Ihren Second Life Viewer ein:
&lt;/p&gt;
&lt;pre class=&quot;file&quot;&gt;C:\Programme\SecondLife\SecondLife.exe -loginuri http://DOMAIN:9090/ -loginpage http://DOMAIN:9090/?method=login&lt;/pre&gt;

&lt;p&gt;
Im Gegensatz zu den meisten anderen OpenSIM-Servern läuft unserer nicht auf Port 9000, sondern auf Port 9090, da der Port 9000 in unserem Netzwerk bereits durch das NAS von Buffalo LinkStation Pro Duo belegt war.
&lt;/p&gt;

&lt;p&gt;
Das OpenSIM-Wiki ist nun auch unter einer eigenen Domain 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;19.08.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section19082008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;10007-10813&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit22&quot; id=&quot;section18082008&quot;&gt;18.08.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Zur Ausfallsicherheit wird das OpenSIM-Wiki auf 2 verschiedenen Webservern gespiegelt. Fällt ein Server oder eine Domain aus springt automatisch der nächste VServer an. Mehr zum Thema &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;-Hochverfügbarkeitssysteme.
&lt;/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.08.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section18082008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;10814-11053&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit23&quot; id=&quot;section18072008&quot;&gt;18.07.2008&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Es wurde das erste Mal ein OpenSIM Server im Serverpark von S-NetworkX gestartet, der auf einem sehr leistungsstarken Quad-Core Rack-Server unter dem Betriebssystem Linux Ubuntu installiert 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;18.07.2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;section18072008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;11054-&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>Binary Clock</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/binary_clock?do=revisions&amp;rev=1575021518</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;binary_clock&quot;&gt;Binary Clock&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Binary Clock Script
// By Fox Diller
// OMG INSANITY!
 
list bTime;
list oTime;
 
integer token;
 
string dec2bin(integer dec)
{
    if (dec == 0) return &amp;quot;0000&amp;quot;;
    if (dec == 1) return &amp;quot;0001&amp;quot;;
    if (dec == 2) return &amp;quot;0010&amp;quot;;
    if (dec == 3) return &amp;quot;0011&amp;quot;;
    if (dec == 4) return &amp;quot;0100&amp;quot;;
    if (dec == 5) return &amp;quot;0101&amp;quot;;
    if (dec == 6) return &amp;quot;0110&amp;quot;;
    if (dec == 7) return &amp;quot;0111&amp;quot;;
    if (dec == 8) return &amp;quot;1000&amp;quot;;
    if (dec == 9) return &amp;quot;1001&amp;quot;;
    return &amp;quot;0000&amp;quot;;
}
 
BuildClock()
{
    integer shiftraw = (integer)llGetWallclock();
 
    integer hours = shiftraw / 3600;
    integer minutes = (shiftraw % 3600) / 60;
    integer seconds = shiftraw % 60;
 
    bTime = [hours   / 10, hours   % 10,
             minutes / 10, minutes % 10,
             seconds / 10, seconds % 10];
 
}
 
displayBDC()
{
    integer current_rowA = llList2Integer(bTime, 0);
    integer old_rowA = llList2Integer(oTime, 0);
    if (current_rowA != old_rowA)
    {
        string rowA = dec2bin(current_rowA);
        integer Acol0 = (integer)llGetSubString(rowA, 3, 3);
        integer Acol1 = (integer)llGetSubString(rowA, 2, 2); 
        llMessageLinked(2, Acol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(3, Acol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowA) {
        llMessageLinked(2, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(3, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
    integer current_rowB = llList2Integer(bTime, 1);
    integer old_rowB = llList2Integer(oTime, 1);
    if (current_rowB != old_rowB)
    {
        string rowB = dec2bin(current_rowB);
        integer Bcol0 = (integer)llGetSubString(rowB, 3, 3);
        integer Bcol1 = (integer)llGetSubString(rowB, 2, 2);
        integer Bcol2 = (integer)llGetSubString(rowB, 1, 1);
        integer Bcol3 = (integer)llGetSubString(rowB, 0, 0); 
        llMessageLinked(4, Bcol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(5, Bcol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(6, Bcol2, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(7, Bcol3, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowB) {
        llMessageLinked(4, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(5, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(6, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(7, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
 
    integer current_rowC = llList2Integer(bTime, 2);
    integer old_rowC = llList2Integer(oTime, 2);
    if (current_rowC != old_rowC)
    {     
        string rowC = dec2bin(current_rowC);
        integer Ccol0 = (integer)llGetSubString(rowC, 3, 3);
        integer Ccol1 = (integer)llGetSubString(rowC, 2, 2);
        integer Ccol2 = (integer)llGetSubString(rowC, 1, 1);
        llMessageLinked(8, Ccol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(9, Ccol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(10, Ccol2, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowC) {
        llMessageLinked(8, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(9, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(10, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
    integer current_rowD = llList2Integer(bTime, 3);
    integer old_rowD = llList2Integer(oTime, 3);
    if (current_rowD != old_rowD)
    {
        string rowD = dec2bin(current_rowD);
        integer Dcol0 = (integer)llGetSubString(rowD, 3, 3);
        integer Dcol1 = (integer)llGetSubString(rowD, 2, 2);
        integer Dcol2 = (integer)llGetSubString(rowD, 1, 1);
        integer Dcol3 = (integer)llGetSubString(rowD, 0, 0); 
        llMessageLinked(11, Dcol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(12, Dcol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(13, Dcol2, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(14, Dcol3, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowD) {
        llMessageLinked(11, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(12, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(13, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(14, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
    integer current_rowE = llList2Integer(bTime, 4);
    integer old_rowE = llList2Integer(oTime, 4);
    if (current_rowE != old_rowE)
    {
        string rowE = dec2bin(current_rowE);
        integer Ecol0 = (integer)llGetSubString(rowE, 3, 3);
        integer Ecol1 = (integer)llGetSubString(rowE, 2, 2);
        integer Ecol2 = (integer)llGetSubString(rowE, 1, 1);
        llMessageLinked(15, Ecol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(16, Ecol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(17, Ecol2, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowE) {
        llMessageLinked(15, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(16, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(17, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
    integer current_rowF = llList2Integer(bTime, 5);
    integer old_rowF = llList2Integer(oTime, 5);
    if (current_rowF != old_rowF)
    {
        string rowF = dec2bin(current_rowF);
        integer Fcol0 = (integer)llGetSubString(rowF, 3, 3);
        integer Fcol1 = (integer)llGetSubString(rowF, 2, 2);
        integer Fcol2 = (integer)llGetSubString(rowF, 1, 1);
        integer Fcol3 = (integer)llGetSubString(rowF, 0, 0); 
        llMessageLinked(18, Fcol0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(19, Fcol1, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(20, Fcol2, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(21, Fcol3, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    } else if (!current_rowF) {
        llMessageLinked(18, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(19, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(20, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
        llMessageLinked(21, 0, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;);
    }
 
}
 
default
{
    touch_start(integer total_number)
    {
        if (!token &amp;amp;&amp;amp; llDetectedKey(0) == llGetOwner())
        {
            oTime = [];
            bTime = [];
            llSetTimerEvent(1.0);
            token = 1;
            llOwnerSay(&amp;quot;On!&amp;quot;);
        }
 
        else if (token &amp;amp;&amp;amp; llDetectedKey(0) == llGetOwner())
        {
            llSetTimerEvent(0);
            token = 0;
            llOwnerSay(&amp;quot;Off!&amp;quot;);
        }
    }
 
    timer()
    {
        bTime = oTime;
        BuildClock();
        displayBDC();
    }
}&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>Dance Poseball</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/dance_poseball?do=revisions&amp;rev=1575021519</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;dance_poseball&quot;&gt;Dance Poseball&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;//////////////////////////////////////////// 
// Animation Script v1.2.1 
// 
// Written by Xylor Baysklef 
//////////////////////////////////////////// 
 
/////////////// CONSTANTS /////////////////// 
list ANIMATIONS  = [ &amp;quot;Club Dance 1&amp;quot; ]; 
list ANIMATIONS2 = [ &amp;quot;Club Dance 2&amp;quot; ]; 
list ANIMATIONS3 = [ &amp;quot;Club Dance 3&amp;quot; ]; 
list ANIMATIONS4 = [ &amp;quot;Club Dance 4&amp;quot; ]; 
///////////// END CONSTANTS ///////////////// 
 
///////////// GLOBAL VARIABLES /////////////// 
//integer gToggle = 0; 
integer gAnimNumber; 
integer gTotalAnims; 
 
string gAnimName = &amp;quot;type&amp;quot;; 
/////////// END GLOBAL VARIABLES ///////////// 
 
default { 
    state_entry() { 
        //llSay(0, &amp;quot;Init...&amp;quot;); 
        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
         
        ANIMATIONS += ANIMATIONS2; 
        ANIMATIONS2 = []; 
         
        gTotalAnims = llGetListLength(ANIMATIONS); 
        gAnimNumber = -1; 
        llListen(0, &amp;quot;&amp;quot;, llGetOwner(), &amp;quot;&amp;quot;); 
    } 
     
    on_rez(integer param) { 
        //llGiveInventory(llGetOwner(), &amp;quot;Animation Names&amp;quot;); 
        llResetScript(); 
    } 
     
    listen(integer channel, string name, key id, string mesg) { 
        string preamble = llGetSubString(mesg, 0, 3); 
        if (preamble != &amp;quot;anim&amp;quot; &amp;amp;&amp;amp; preamble != &amp;quot;stop&amp;quot;) 
            return; 
                 
        integer perm = llGetPermissions(); 
         
        if ( !(perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) {             
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            return; 
        } 
         
        list parsed = llParseString2List(mesg, [ &amp;quot; &amp;quot; ], []); 
        //llSay(0, (string)parsed); 
         
        string anim = llList2String(parsed, 1); 
         
        if (preamble == &amp;quot;stop&amp;quot;) { 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + llGetAnimation(llGetOwner())); 
            //llStopAnimation(llGetAnimation(llGetOwner())); 
            if (anim == &amp;quot;&amp;quot;) 
                anim = gAnimName; 
                         
            if (anim == &amp;quot;all&amp;quot;) { 
                integer i; 
                llSay(0, &amp;quot;Stopping all animations... please wait.&amp;quot;); 
                for (i=0; i&amp;lt;gTotalAnims; i++) 
                    llStopAnimation(llList2String(ANIMATIONS, i)); 
                     
                llSay(0, &amp;quot;Done.&amp;quot;); 
                     
                return; 
            } 
                 
            //llSay(0, &amp;quot;Stopping: &amp;quot; + anim); 
            llStopAnimation(anim); 
            return; 
        } 
                 
        gAnimName = anim; 
        //llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        llStartAnimation(gAnimName);             
    } 
     
    run_time_permissions(integer perm) { 
        //llStopAnimation(gAnimName); 
        //gToggle = 0; 
    } 
     
    attach(key id) { 
        integer perm = llGetPermissions(); 
         
        if (id != NULL_KEY) {         
         
            if (! (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION)) { 
                llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
            }                 
        } 
        else { 
             
            if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
                llStopAnimation(gAnimName); 
            } 
        } 
    } 
 
    touch_start(integer total_number) { 
        if (llDetectedKey(0) != llGetOwner()) 
            return; 
         
        integer perm = llGetPermissions(); 
         
        if (perm &amp;amp; PERMISSION_TRIGGER_ANIMATION) { 
            if (gAnimNumber != -1) { 
                llStopAnimation( llList2String(ANIMATIONS, gAnimNumber) ); 
            } 
                 
             
            gAnimNumber++; 
            if (gAnimNumber == gTotalAnims) 
                gAnimNumber = 0; 
                 
            gAnimName = llList2String(ANIMATIONS, gAnimNumber); 
             
            llStartAnimation( gAnimName ); 
            llSay(0, &amp;quot;Animation: &amp;quot; + gAnimName); 
        } 
        else { 
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); 
        } 
    } 
}&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
        <category>archiv:opensim:downloads:scripts</category>
            <pubDate>Fri, 29 Nov 2019 10:58:39 +0000</pubDate>
        </item>
        <item>
            <title>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>Give Item</title>
            <link>http://itclive.spdns.de/wiki/archiv/opensim/downloads/scripts/give_item?do=revisions&amp;rev=1575021521</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;give_item&quot;&gt;Give Item&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;// Idea and written by Criz Collins
// Don&amp;#039;t sell this FREE script!!!
 
string  giveitem    =   &amp;quot;Willkommen&amp;quot;;
float   giveevery   =   24;  // hours!
 
/////////////////////////////////////////////
 
list  visitors;
list lastsent;
integer n;
 
default
{
    on_rez( integer param )
    {
        llResetScript();
    }
 
    changed(integer change) 
    {
        if (change &amp;amp; CHANGED_INVENTORY) 
        {
            llResetScript();
        }
    }
 
    touch_start(integer total_number)
    {
        for (n=0; n&amp;lt;total_number; n++)
        {
            integer giveallowed = 0;
            integer index = llListFindList( visitors, [ llDetectedKey(n) ] );
            if (index == -1)
            {
                visitors = visitors + [ llDetectedKey(n) ];
                lastsent = lastsent + [(integer)llGetUnixTime()];
                giveallowed = 1;
            }
            else
            {
                if (llList2Integer(lastsent, index) &amp;lt;= ((integer)llGetUnixTime() - (giveevery * 60 * 60)))
                {
                    list replacer = [(integer)llGetUnixTime()];
                    list newlastsent = llListReplaceList(lastsent, replacer, index, index);
                    lastsent = [];
                    lastsent = newlastsent;
                    giveallowed = 1;
                }
                else
                {
                    giveallowed = 0;
                }
            }
            if (giveallowed == 1)
            {
                llGiveInventory(llDetectedKey(n), giveitem);
            }
        }
    }
}&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>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>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 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>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>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>
