aboutsummaryrefslogtreecommitdiff
path: root/docs/worldserver-protocol/roomserver/index.html
blob: c19e541dc77c1c66b324c5891378dcd5565687c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.1">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Whirlsplash Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Whirlsplash Blog Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Whirlsplash" href="/opensearch.xml"><title data-react-helmet="true">RoomServer | Whirlsplash</title><meta data-react-helmet="true" property="og:url" content="https://whirlsplash.org/docs/worldserver-protocol/roomserver"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="RoomServer | Whirlsplash"><meta data-react-helmet="true" name="description" content="The following information is directly quoted from the GammaDocs."><meta data-react-helmet="true" property="og:description" content="The following information is directly quoted from the GammaDocs."><link data-react-helmet="true" rel="shortcut icon" href="/img/Whirl.png"><link data-react-helmet="true" rel="canonical" href="https://whirlsplash.org/docs/worldserver-protocol/roomserver"><link data-react-helmet="true" rel="alternate" href="https://whirlsplash.org/docs/worldserver-protocol/roomserver" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://whirlsplash.org/docs/worldserver-protocol/roomserver" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.226e86b6.css">
<link rel="preload" href="/assets/js/runtime~main.ab53da61.js" as="script">
<link rel="preload" href="/assets/js/main.215e2b4f.js" as="script">
</head>
<body>
<script>!function(){function e(e){document.documentElement.setAttribute("data-theme",e)}var t=function(){var e=null;try{e=localStorage.getItem("theme")}catch(e){}return e}();null!==t?e(t):window.matchMedia("(prefers-color-scheme: dark)").matches?e("dark"):window.matchMedia("(prefers-color-scheme: light)").matches?e("light"):e("dark")}()</script><div id="__docusaurus">
<div><a href="#main" class="skipToContent_1oUP shadow--md">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><img src="/img/Whirl.png" alt="Whirlsplash logo" class="themedImage_1VuW themedImage--light_3UqQ navbar__logo"><img src="/img/Whirl.png" alt="Whirlsplash logo" class="themedImage_1VuW themedImage--dark_hz6m navbar__logo"><b class="navbar__title">Whirlsplash</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/">Docs</a><a class="navbar__item navbar__link" href="/blog">Blog</a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" class="navbar__item navbar__link"><span><svg viewBox="0 0 20 20" width="20" height="20" aria-hidden="true" style="vertical-align:text-bottom;margin-right:5px"><path fill="currentColor" d="M19.753 10.909c-.624-1.707-2.366-2.726-4.661-2.726-.09 0-.176.002-.262.006l-.016-2.063 3.525-.607c.115-.019.133-.119.109-.231-.023-.111-.167-.883-.188-.976-.027-.131-.102-.127-.207-.109-.104.018-3.25.461-3.25.461l-.013-2.078c-.001-.125-.069-.158-.194-.156l-1.025.016c-.105.002-.164.049-.162.148l.033 2.307s-3.061.527-3.144.543c-.084.014-.17.053-.151.143.019.09.19 1.094.208 1.172.018.08.072.129.188.107l2.924-.504.035 2.018c-1.077.281-1.801.824-2.256 1.303-.768.807-1.207 1.887-1.207 2.963 0 1.586.971 2.529 2.328 2.695 3.162.387 5.119-3.06 5.769-4.715 1.097 1.506.256 4.354-2.094 5.98-.043.029-.098.129-.033.207l.619.756c.08.096.206.059.256.023 2.51-1.73 3.661-4.515 2.869-6.683zm-7.386 3.188c-.966-.121-.944-.914-.944-1.453 0-.773.327-1.58.876-2.156a3.21 3.21 0 011.229-.799l.082 4.277a2.773 2.773 0 01-1.243.131zm2.427-.553l.046-4.109c.084-.004.166-.01.252-.01.773 0 1.494.145 1.885.361.391.217-1.023 2.713-2.183 3.758zm-8.95-7.668a.196.196 0 00-.196-.145h-1.95a.194.194 0 00-.194.144L.008 16.916c-.017.051-.011.076.062.076h1.733c.075 0 .099-.023.114-.072l1.008-3.318h3.496l1.008 3.318c.016.049.039.072.113.072h1.734c.072 0 .078-.025.062-.076-.014-.05-3.083-9.741-3.494-11.04zm-2.618 6.318l1.447-5.25 1.447 5.25H3.226z"></path></svg><span>English</span></span></a><ul class="dropdown__menu"><li><a href="/docs/worldserver-protocol/roomserver" target="_self" rel="noopener noreferrer" class="dropdown__link dropdown__link--active" style="text-transform:capitalize">English</a></li><li><a href="https://github.com/whirlsplash/site" target="_blank" rel="noopener noreferrer" class="dropdown__link">Help us translate!</a></li></ul></div><a href="https://github.com/whirlsplash/site" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link"><span>GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_3J9K"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a><div class="react-toggle displayOnlyInLargeViewport_GrZ2 react-toggle--checked react-toggle--disabled"><div class="react-toggle-track" role="button" tabindex="-1"><div class="react-toggle-track-check"><span class="toggle_71bT">🌜</span></div><div class="react-toggle-track-x"><span class="toggle_71bT">🌞</span></div><div class="react-toggle-thumb"></div></div><input type="checkbox" checked="" class="react-toggle-screenreader-only" aria-label="Switch between dark and light mode"></div><div class="searchBox_1Doo"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/Whirl.png" alt="Whirlsplash logo" class="themedImage_1VuW themedImage--light_3UqQ navbar__logo"><img src="/img/Whirl.png" alt="Whirlsplash logo" class="themedImage_1VuW themedImage--dark_hz6m navbar__logo"><b class="navbar__title">Whirlsplash</b></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a aria-current="page" class="menu__link navbar__link--active" href="/docs/">Docs</a></li><li class="menu__list-item"><a class="menu__link" href="/blog">Blog</a></li><li class="menu__list-item menu__list-item--collapsed"><a href="#" role="button" class="menu__link menu__link--sublist"><span><svg viewBox="0 0 20 20" width="20" height="20" aria-hidden="true" style="vertical-align:text-bottom;margin-right:5px"><path fill="currentColor" d="M19.753 10.909c-.624-1.707-2.366-2.726-4.661-2.726-.09 0-.176.002-.262.006l-.016-2.063 3.525-.607c.115-.019.133-.119.109-.231-.023-.111-.167-.883-.188-.976-.027-.131-.102-.127-.207-.109-.104.018-3.25.461-3.25.461l-.013-2.078c-.001-.125-.069-.158-.194-.156l-1.025.016c-.105.002-.164.049-.162.148l.033 2.307s-3.061.527-3.144.543c-.084.014-.17.053-.151.143.019.09.19 1.094.208 1.172.018.08.072.129.188.107l2.924-.504.035 2.018c-1.077.281-1.801.824-2.256 1.303-.768.807-1.207 1.887-1.207 2.963 0 1.586.971 2.529 2.328 2.695 3.162.387 5.119-3.06 5.769-4.715 1.097 1.506.256 4.354-2.094 5.98-.043.029-.098.129-.033.207l.619.756c.08.096.206.059.256.023 2.51-1.73 3.661-4.515 2.869-6.683zm-7.386 3.188c-.966-.121-.944-.914-.944-1.453 0-.773.327-1.58.876-2.156a3.21 3.21 0 011.229-.799l.082 4.277a2.773 2.773 0 01-1.243.131zm2.427-.553l.046-4.109c.084-.004.166-.01.252-.01.773 0 1.494.145 1.885.361.391.217-1.023 2.713-2.183 3.758zm-8.95-7.668a.196.196 0 00-.196-.145h-1.95a.194.194 0 00-.194.144L.008 16.916c-.017.051-.011.076.062.076h1.733c.075 0 .099-.023.114-.072l1.008-3.318h3.496l1.008 3.318c.016.049.039.072.113.072h1.734c.072 0 .078-.025.062-.076-.014-.05-3.083-9.741-3.494-11.04zm-2.618 6.318l1.447-5.25 1.447 5.25H3.226z"></path></svg><span>Languages</span></span></a><ul class="menu__list"><li class="menu__list-item"><a href="/docs/worldserver-protocol/roomserver" target="_self" rel="noopener noreferrer" class="menu__link dropdown__link--active" style="text-transform:capitalize">English</a></li><li class="menu__list-item"><a href="https://github.com/whirlsplash/site" target="_blank" rel="noopener noreferrer" class="menu__link">Help us translate!</a></li></ul></li><li class="menu__list-item"><a href="https://github.com/whirlsplash/site" target="_blank" rel="noopener noreferrer" class="menu__link"><span>GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_3J9K"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a></li></ul></div></div></div></nav><div class="main-wrapper docs-wrapper doc-page"><div class="docPage_31aa"><aside class="docSidebarContainer_3Kbt"><div class="sidebar_15mo"><nav class="menu menu--responsive thin-scrollbar menu_Bmed" aria-label="Sidebar navigation"><button aria-label="Open menu" aria-haspopup="true" class="button button--secondary button--sm menu__button" type="button"><svg class="sidebarMenuIcon_fgN0" width="24" height="24" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><ul class="menu__list"><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">Introduction</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/">Basis</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/introduction/resources">Resources</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/introduction/workflow">Workflow</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/introduction/contributing">Contributing</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/introduction/setting_up_a_development_environment">Setting up a development environment</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">Whirl</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/whirl/deploying_setup">Deploying (Setup)</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/whirl/configuration">Configuration</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">GammaDocs</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/gammadocs/roomserver/userserver-configuration-options">UserServer Configuration Options</a></li></ul></li><li class="menu__list-item"><a class="menu__link menu__link--sublist menu__link--active" href="#!">WorldServer Protocol</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/worldserver-protocol/packet-information">Packet Information</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/worldserver-protocol/network-constants">Network Constants</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link menu__link--active active" tabindex="0" href="/docs/worldserver-protocol/roomserver">RoomServer</a></li><li class="menu__list-item"><a class="menu__link" tabindex="0" href="/docs/worldserver-protocol/userserver">UserServer</a></li></ul></li><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!">worlds.jar</a><ul class="menu__list"><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!" tabindex="-1">NET.worlds</a><ul class="menu__list"><li class="menu__list-item menu__list-item--collapsed"><a class="menu__link menu__link--sublist" href="#!" tabindex="-1">network</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/worlds-jar/net-worlds/network/objid">ObjId</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/worlds-jar/net-worlds/network/serveroutputstream">ServerOutputStream</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/worlds-jar/net-worlds/network/netconst">netConst</a></li><li class="menu__list-item"><a class="menu__link" tabindex="-1" href="/docs/worlds-jar/net-worlds/network/netpacket">netPacket</a></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="docMainContainer_3ufF"><div class="container padding-top--md padding-bottom--lg docItemWrapper_3FMP"><div class="row"><div class="col docItemCol_3FnS"><div class="docItemContainer_33ec"><article><div class="markdown"><header><h1 class="h1Heading_27L5">RoomServer</h1></header><p>The following information is directly quoted from the <a href="http://dev.worlds.net/private/GammaDocs/Dev_Kit_Intro.html" target="_blank" rel="noopener noreferrer">GammaDocs</a>.</p><p>The RoomServer can operate in stand-alone mode to handle an entire
world when no user authentication is required. For larger worlds, or when user authentication and
registration are required, multiple RoomServers can be used in conjunction with a UserServer. If
shared state (shared objects) is desired, the RoomServer must run in conjunction with an Oracle
database that will store persistent room data. The RoomServer performs the following tasks:</p><ul><li>Listens on a given port to connections by clients.</li><li>Establishes and maintains TCP/IP client connections (when used in conjunction with a UserServer,
UserServer will establish the first TCP/IP connection with a client and then redirect users to the RoomServers).</li><li>Subscribes clients to any room the RoomServer is servicing</li><li>Processes client&#x27;s avatar locations and properties.</li><li>Disseminates and provides client locations and properties information to other clients in the
vicinity. Performs crowd control calculations that determine how avatars are seen and heard by others.</li><li>Handles and distributes chat text, whispers and broadcast text. Whispers and other messages
targeted at users not on that RoomServer are forwarded to the UserServer for routing.</li><li>Acts as a database client for a properties database to query or modify Room properties, if any.
This includes accessing properties for any shared state or shared objects found in rooms.</li></ul></div><footer class="row docusaurus-mt-lg"><div class="col"><a href="https://github.com/whirlsplash/site/edit/master/website/docs/worldserver-protocol/roomserver.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_2_ui" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_3DPF"></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/worldserver-protocol/network-constants"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">« Network Constants</div></a></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/docs/worldserver-protocol/userserver"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">UserServer »</div></a></div></nav></div></div><div class="col col--3"><div class="tableOfContents_35-E thin-scrollbar"></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/">Getting Started</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/worldserver-protocol/packet-information">Technical Information</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a href="https://twitter.com/Whirlsplash_" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter</a></li><li class="footer__item"><a href="https://discord.com/invite/8hn6padWF6" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord</a></li><li class="footer__item"><a href="https://www.reddit.com/r/Whirlsplash" target="_blank" rel="noopener noreferrer" class="footer__link-item">Subreddit</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/whirlsplash" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://github.com/Whirlsplash/site/blob/main/LICENSE" target="_blank" rel="noopener noreferrer" class="footer__link-item">License</a></li><li class="footer__item"><a href="mailto:[email protected]" target="_blank" rel="noopener noreferrer" class="footer__link-item">Contact</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright (C) 2021-2021 The Whirlsplash Collective</div></div></div></footer></div>
<script src="/assets/js/runtime~main.ab53da61.js"></script>
<script src="/assets/js/main.215e2b4f.js"></script>
</body>
</html>