<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FGridUserService</id>
	<title>OpenSimulator Internals/GridUserService - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://osimdev.org/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenSimulator_Internals%2FGridUserService"/>
	<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/GridUserService&amp;action=history"/>
	<updated>2026-08-04T15:31:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/GridUserService&amp;diff=12&amp;oldid=prev</id>
		<title>Jwbshaw: first</title>
		<link rel="alternate" type="text/html" href="http://osimdev.org/wiki/index.php?title=OpenSimulator_Internals/GridUserService&amp;diff=12&amp;oldid=prev"/>
		<updated>2026-06-21T06:55:26Z</updated>

		<summary type="html">&lt;p&gt;first&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= OpenSimulator Internals/GridUserService =&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
GridUserService stores information about a user in this particular grid, for everyone who uses the grid -- local and foreign. This includes their home region, last region, online status, and last login/logout.&lt;br /&gt;
&lt;br /&gt;
Must stay in the same process instance -- must update atomically with [[OpenSimulator Internals/PresenceService|PresenceService]] on login and logout.&lt;br /&gt;
&lt;br /&gt;
This is distinct from [[OpenSimulator Internals/UserAccountService|UserAccountService]], which stores auth information for local accounts only.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Data Fields ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Type !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| UserID || VARCHAR(255) || Primary key. String not UUID -- HyperGrid users have URI-based IDs.&lt;br /&gt;
|-&lt;br /&gt;
| HomeRegionID || CHAR(36) || UUID of home region&lt;br /&gt;
|-&lt;br /&gt;
| HomePosition || CHAR(64) || Vector3 as string e.g. &amp;amp;lt;100, 100, 20&amp;amp;gt;. Position in home region when returning home.&lt;br /&gt;
|-&lt;br /&gt;
| HomeLookAt || CHAR(64) || Unit vector as string. Direction avatar faces on return home. Z always 0. (0,1,0) = north, (1,0,0) = east, (0,-1,0) = south, (-1,0,0) = west.&lt;br /&gt;
|-&lt;br /&gt;
| LastRegionID || CHAR(36) || UUID of last region where user was present. For HyperGrid foreign users, reflects last region in this grid only.&lt;br /&gt;
|-&lt;br /&gt;
| LastPosition || CHAR(64) || Last reported position. Same format as HomePosition. Updated on teleport or logout only -- does not reflect current position.&lt;br /&gt;
|-&lt;br /&gt;
| LastLookAt || CHAR(64) || Last reported facing direction. Same format as HomeLookAt. Updated on teleport or logout only.&lt;br /&gt;
|-&lt;br /&gt;
| Online || CHAR(5) || &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot; stored as string&lt;br /&gt;
|-&lt;br /&gt;
| Login || CHAR(16) || Unix timestamp stored as string&lt;br /&gt;
|-&lt;br /&gt;
| Logout || CHAR(16) || Unix timestamp stored as string. Not accurate if simulator crashed or was not cleanly shut down.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Records are added on first login but never removed. Online status less accurate than Presence table. Service ignores users marked online for more than 5 days.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
See [[OpenSimulator Internals/Data Dictionaries#GridUser|GridUser table]] for the full database schema.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[OpenSimulator Internals/ROBUST Services]]&lt;br /&gt;
* [[OpenSimulator Internals/PresenceService]]&lt;br /&gt;
* [[OpenSimulator Internals/Data Dictionaries]]&lt;/div&gt;</summary>
		<author><name>Jwbshaw</name></author>
	</entry>
</feed>