Board ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
steve e // User Search
steve e // User SearchRelay Bot (Not CRB or VectraChat)Apr 13, 2005, 9:39pm
Hello, I am looking for some sort of relay bot, not the kind of relay
bot that makes chat available to the whole world but a bot that I can link the chat in multiple worlds together, I found two such bots in the past that did this and they worked OK but one was poorly designed and crashed often and the other had only support for three worlds and would only work in one universe. If anyone has any information about this, please let me know. I am trying to link about 5 worlds spanning 2 universes. If no one knows I guess I got to make my own! Thanks! -Steve Relay Bot (Not CRB or VectraChat)Apr 14, 2005, 12:16pm
Looks good, it's what I'm looking for but I need support for more
worlds, and cross universe. It needs to go in 3 worlds in AW and one in SM.. I will most likely write my own. Maybe release it if it's any good. -Steve e [View Quote] Bring back docked tabs window!Apr 6, 2005, 10:56am
Yes we need this back, if people want it still it should be an option..
It's quite annoying. -Steve e [View Quote] Multipath, diffrent methodApr 7, 2005, 12:26pm
Here's one I asked for in the worldbuilders newsgroup a while back, it
worked fine for me and I was able to customize it alot, It has all the nifty features of denying access outside of AW and also even limiting it to your own world! Here it is, I will post the version I use which removes all the security checking features following this, I don't require them due to the fact I password all my objects. // BEGIN PHP SCRIPT // <?php // modify those local path variables to your taste $localpath="/home/andras/rhapsody/"; // special objects only for those worlds $commonpath="/var/www/html/arts/"; // my general objects used in Storage2 $awpath="http://objects.activeworlds.com/aw/"; // common objects from AW // specify your world names you allow access $myworldname1="storage"; $myworldname2="rhapsody"; // check for illegal use (if you don't want to do that, remove the code between the lines) //------------------------------------------------------------------------- // First check on user agent (Active Worlds Browser - for the old browser, ActiveWorlds/3.60 for the new ones): $agent=$_SERVER['HTTP_USER_AGENT']; if (!isset($agent)) { // no user agent - we hate it! header('HTTP/1.1 403 Forbidden'); exit(); } if (!strstr($agent,"Active")) { // it is not an AW browser - kick him out!! header('HTTP/1.1 403 Forbidden'); exit(); } // Now check on the referer to prevent someone else using our path in a different world // WARNING! It will effectively disable anyone with an old browser to see the objects in your world // since it doesn't sent the referer to the OP host!! $refer=$_SERVER['HTTP_REFERER']; if (!isset($refer)) { // no referer - we hate it! header('HTTP/1.1 403 Forbidden'); exit(); } if (!strpos($refer,$myworldname1)&&!strpos($refer,$myworldname2)) { // bad referer - we hate it! header('HTTP/1.1 403 Forbidden'); exit(); } //------------------------------------------------------------------------- // now check the requested files: $rqname=substr(strstr($_SERVER['REQUEST_URI'],basename(__FILE__)),strlen(basename(__FILE__))+1); $filename=$localpath . $rqname; if (!file_exists($filename)) { $filename=$commonpath . $rqname; if (!file_exists($filename)) { $filename=$awpath . $rqname; header("Location: $filename"); # Redirect it to AW's OP exit (); } } $headers = getallheaders(); if(isset($headers["If-Modified-Since"])) { # $since = $_GET['If-Modified-Since']; # if ($since) // check if the modification time is more recent $currentModified = filemtime($filename); $rqtime=strtotime($headers["If-Modified-Since"]); if ($currentmodified<$rqtime) { // send "Not modified" header back header('HTTP/1.1 304 Not Modified'); exit(); } } // check the extension to set the proper mime type if (strpos($rqname,".zip")) { $ctype="application/zip"; } else { if (strpos($rqname,".jpg")) { $ctype="image/jpeg"; } else $ctype="application/download"; } $handle = fopen($filename, "rb"); header("Content-type: " . $ctype); header("Content-Length: " . filesize($filename)); fpassthru($handle); exit (); ?> // END PHP SCRIPT // Multipath, diffrent methodApr 7, 2005, 12:29pm
Modified version I use, does not have any security features and only
uses one local directory, not two.. lithium delusion.initrd.com # cat multi-op.php <?php $localpath="/var/www/delusion.initrd.com/"; $awpath="http://objects.activeworlds.com/megapath/"; $rqname=substr(strstr($_SERVER['REQUEST_URI'],basename(__FILE__)),strlen(basename(__FILE__))+1); $filename=$localpath . $rqname; if (!file_exists($filename)) { $filename=$awpath . $rqname; header("Location: $filename"); exit (); } $headers = getallheaders(); if(isset($headers["If-Modified-Since"])) { $currentModified = filemtime($filename); $rqtime=strtotime($headers["If-Modified-Since"]); if ($currentmodified<$rqtime) { header('HTTP/1.1 304 Not Modified'); exit(); } } if (strpos($rqname,".zip")) { $ctype="application/zip"; } else { if (strpos($rqname,".jpg")) { $ctype="image/jpeg"; } else $ctype="application/download"; } $handle = fopen($filename, "rb"); header("Content-type: " . $ctype); header("Content-Length: " . filesize($filename)); fpassthru($handle); exit (); ?> lithium delusion.initrd.com # InvitationApr 8, 2005, 9:59pm
Yah, I got many people on my list I wanna see have a green check beside
them again .. :) -Steve e [View Quote] Avatars.dat loads everytime you enter world.Apr 8, 2005, 10:00pm
I believe it should be set that the avatars.dat file loads everytime you
enter a world.. This would make it easier for those who update this file often. It's not a large file either so shouldn't be a problem? -Steve e Multi user InteractionApr 13, 2005, 9:36pm
Check out this old page I found a long time ago:
"Global Action System - Animator" http://caesar.homeunix.org/aw/anim/ I think it does what you mean, I tried it in my world and it works great. It requires Caretaker and is hard coded for the AW universe, the source code (Visual C) is available it seems so if someone REALLY needs it in a diff uni they can compile a version of it for that. -Steve [View Quote] |