kcozens / opensimsearch Goto Github PK
View Code? Open in Web Editor NEWOpenSimSearch is an add-on search module for use with the Open Simulator project
OpenSimSearch is an add-on search module for use with the Open Simulator project
I know you don't keep up to date wiredux pages but, Viewers have web Search ability.
(Firestorm, Kokua, Angstrom, Singularity).
Actually we don't have Web Search page.
But good news, i have one, with PDO and i can share it with you.
You have invalid field name on some request
exemple in parser.php:
$query = $db->prepare("DELETE FROM parcels WHERE regionuuid = ?");
shoud be:
$query = $db->prepare("DELETE FROM parcels WHERE regionUUID = ?");
or
$query = $db->prepare("DELETE FROM allparcels WHERE regionuuid = ?");
should be:
$query = $db->prepare("DELETE FROM allparcels WHERE regionUUID = ?");
And still others in parser.php
If you search a Place or something other you dont get Response in the Viewer but following error ๐
04:03:34 - [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Wiener Schnitzel System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName, System.Int32 queryStart) [0x0005b] in <96b7ab61bbd34cc5a545094aee4460cc>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x0008d] in :0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00002] in :0
04:03:34 - [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Wiener Schnitzel System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName, System.Int32 queryStart) [0x0005b] in <96b7ab61bbd34cc5a545094aee4460cc>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x0008d] in :0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00002] in :0
04:03:34 - [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Wiener Schnitzel System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName, System.Int32 queryStart) [0x0005b] in <96b7ab61bbd34cc5a545094aee4460cc>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x0008d] in :0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00002] in :0
Hello.
I try to setup a grid with searchfunction but i cannot get it working in 0.8.x or 0.9.x. Can you help me on how to setup searchfunction ?
Please feel free to contact me: [email protected]
Greetings
Christian Nill
As per The Previous Issue I seem to be having the same issue
I am also using groups V2 php 8.0 xml rpc and curl are active
I am alittle confused with this instruction in the Readme
"Copy the two OpenSimSearch.Modules files created during the compile steps
(above) to the bin directory of each of your OpenSim instances. The next
part of the installation process requires some changes to the OpenSim.ini
in all of your OpenSim instances."
I am using the precompiled DLL in the package and have not compiled anything - there is ONLY 1 x DLL File
It appears the hostsregion table is populated with Data and the xml page is also showing data for that instance
http://192.168.1.11:9150/?method=collector ( I know you cant see this but it contains all the regions data )
This is the opensim console error
2022-08-18 10:50:47,457 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
2022-08-18 10:50:47,459 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
2022-08-18 10:50:47,460 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
2022-08-18 10:50:56,177 DEBUG [INVENTORY TRANSFER]: (giving) Inserting item 44d7ad0f-c2c9-48b0-baf9-17a437992384 into agent ac9287c0-f0da-4d1e-b0ce-90a93835fe7b's inventory
2022-08-18 10:51:46,461 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
2022-08-18 10:51:46,462 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
2022-08-18 10:51:46,463 ERROR [LLCLIENTVIEW]: Caught exception while processing OpenMetaverse.Packets.DirPlacesQueryPacket for Kazuko Yoshida
System.MissingMethodException: Method not found: Nwc.XmlRpc.XmlRpcResponse Nwc.XmlRpc.XmlRpcRequest.Send(string,int)
at OpenSimSearch.Modules.OpenSearch.OpenSearchModule.DirPlacesQuery (OpenSim.Framework.IClientAPI remoteClient, OpenMetaverse.UUID queryID, System.String queryText, System.Int32 queryFlags, System.Int32 category, System.String simName,$
at OpenSim.Region.ClientStack.LindenUDP.LLClientView.HandleDirPlacesQuery (OpenMetaverse.Packets.Packet Pack) [0x00085] in <71f66962962c407a984357b2cb4fe90f>:0
at OpenSim.Region.ClientStack.LindenUDP.LLClientView+<>c__DisplayClass822_0.b__0 () [0x00000] in <71f66962962c407a984357b2cb4fe90f>:0
Perhaps we could add a new field in the table ossearch_events ...
It would be interesting to have the possibility to add an image for the event.
Of course we can create a new table for that but maybee we can only add a new field ...
I know you don't keep up to date wiredux pages but, Search have Events.
Actually no way to add a new events.
But good news, i have one, with PDO and i can share it with you.
The regions table for OpenSim 0.9.0.1 in Grid Mode is different from your.
regions table from OpenSim Grid Mode is:
CREATE TABLE IF NOT EXISTS regions
(
uuid
varchar(36) NOT NULL,
regionHandle
bigint(20) UNSIGNED NOT NULL,
regionName
varchar(128) DEFAULT NULL,
regionRecvKey
varchar(128) DEFAULT NULL,
regionSendKey
varchar(128) DEFAULT NULL,
regionSecret
varchar(128) DEFAULT NULL,
regionDataURI
varchar(255) DEFAULT NULL,
serverIP
varchar(64) DEFAULT NULL,
serverPort
int(10) UNSIGNED DEFAULT NULL,
serverURI
varchar(255) DEFAULT NULL,
locX
int(10) UNSIGNED DEFAULT NULL,
locY
int(10) UNSIGNED DEFAULT NULL,
locZ
int(10) UNSIGNED DEFAULT NULL,
eastOverrideHandle
bigint(20) UNSIGNED DEFAULT NULL,
westOverrideHandle
bigint(20) UNSIGNED DEFAULT NULL,
southOverrideHandle
bigint(20) UNSIGNED DEFAULT NULL,
northOverrideHandle
bigint(20) UNSIGNED DEFAULT NULL,
regionAssetURI
varchar(255) DEFAULT NULL,
regionAssetRecvKey
varchar(128) DEFAULT NULL,
regionAssetSendKey
varchar(128) DEFAULT NULL,
regionUserURI
varchar(255) DEFAULT NULL,
regionUserRecvKey
varchar(128) DEFAULT NULL,
regionUserSendKey
varchar(128) DEFAULT NULL,
regionMapTexture
varchar(36) DEFAULT NULL,
serverHttpPort
int(10) DEFAULT NULL,
serverRemotingPort
int(10) DEFAULT NULL,
owner_uuid
varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
originUUID
varchar(36) DEFAULT NULL,
access
int(10) UNSIGNED DEFAULT '1',
ScopeID
char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
sizeX
int(11) NOT NULL DEFAULT '0',
sizeY
int(11) NOT NULL DEFAULT '0',
flags
int(11) NOT NULL DEFAULT '0',
last_seen
int(11) NOT NULL DEFAULT '0',
PrincipalID
char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
Token
varchar(255) NOT NULL,
parcelMapTexture
varchar(36) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
and your is:
CREATE TABLE regions
(
regionname
varchar(255) NOT NULL,
regionuuid
char(36) NOT NULL,
regionhandle
varchar(255) NOT NULL,
url
varchar(255) NOT NULL,
owner
varchar(255) NOT NULL,
owneruuid
char(36) NOT NULL,
PRIMARY KEY (regionuuid
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
If i use your, opensim don't work proprely, i have a warrning on the robust console.
On my OpenSim 0.9.0.1 in Grid Mode, i set data_exposure to "all".
On the region i rez some objects with "show in search" checked and some without.
I refresh datas but i see only checked objects on the database "objects".
Seam to be a little bug ...
To avoid errors during installation of ossearch.sql
I suggest to remplace all CREATE TABLE by CREATE TABLE IF NOT EXISTS
Category 30 live dj was added at some point in the category dropdown in the viewer, this needs adding.
if ($row['category'] == 30) $category = "Live DJ";
and in the wiredux thingy
<option value="30" >Live DJ</option>
In recent versions of PHP the support for mysql calls was dropped. The result is error messages when using the PHP file currently provided in this repository.
//Prevent SQL injection by checking that $query_start is a number
if (!is_int($query_start))
$query_start = 0;
$sql = "SELECT * FROM parcels WHERE $cat_where" .
" (parcelname LIKE :text1" .
" OR description LIKE :text2)" .
$type . " ORDER BY $order parcelname" .
" LIMIT $query_start,101";
Is wrong. Don't need to test for is_int, just type cast it (int)$query_start
Big problem is the initial search from start 0 needs to include all or at least most of the search results, so the end limit should be 1000 or even higher. In order for the pagination to work if the $query_start is not 0 it needs to calculate a 100 item offset for the end of each page. Viewer will send the query start integer and we need to calc the end limit.
//Prevent SQL injection by checking that $query_start is a number
$query_start = (int)$query_start;
if ($query_start != 0 && ($query_start%100 != 0))
$query_start = 0;
$query_end = 101;
$sql = "SELECT * FROM parcels WHERE $cat_where" .
" (parcelname LIKE :text1" .
" OR description LIKE :text2)" .
$type . " ORDER BY $order parcelname" .
" LIMIT ".$query_start.",".$query_end.";";
This will make the pagination work in the viewer displaying 100 items a piece. Events, classifieds, popular places and land sales are affected by this. If you want to prevent sql injection entirely use the real_escape_string everywhere applicable or use pdo method to prep the query which will barf if there is any bad data in there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.