| Author |
Topic |
 Agent Unknown Caldari |
Posted - 2010.02.04 21:39:00 - [ 1]
Edited by: Agent Unknown on 08/04/2010 20:44:33Edited by: Agent Unknown on 08/04/2010 20:44:00TeamSpeak For EVEVersion: 1.3.1This script is a web-based application for people to register on your TeamSpeak 3 server to gain access to additional permissions and that sort of thing. It uses a PHP framework written by TeamSpeak staff themselves, so checkout the readme for more information on that. All it requires is the Limited API! Features: * Allows people to register on your TS server securely. * The cron script, when set up to run automatically, keeps your TS secure by automatically stripping access when a character leaves the corp/alliance, or when standings are reset. * Standings-based access, including "alt checking" to help against spies. * Faction-based access! (untested) Planned features: * Use a separate group for each corp and/or alliance (access to private channels, etc) * Assign client-specific rights to a "private" channel (officers for example). A couple things to note: * While I did test this myself, there could be possible bugs. Be sure to report them! * READ the readme file for instructions on how to install!! It's not the friendliest install method, but it works for now.  * PHP >=5.2 is required for the script to work.Download link: LinkageEnjoy! NOTE: This project is currently no longer under active development until further notice. |
 Lena Planeswalker Blend. Nulli Tertius |
Posted - 2010.02.05 20:06:00 - [ 2]
Edited by: Lena Planeswalker on 05/02/2010 20:09:22 I made something like this during my christmas vacation, the problem im now running into is that once a user "registers" the only way to remove it is to manually do it, for example if the person leaves the corp/alliance.
edit: but then again i am not saving the api data anywhere. |
 Agent Unknown Caldari |
Posted - 2010.02.05 20:09:00 - [ 3]
Originally by: Lena Planeswalker I made something like this during my christmas vacation, the problem im now running into is that once a user "registers" the only way to remove it is to manually do it, for example if the person leaves the corp/alliance.
Yeah, I overcame that issue by storing the user's API in a table. This allows me to cross-reference their TS UID with their API, which makes it simple to simply run through each and check corp/alliance using the cron script. The alternative is to make TS run with a MySQL database and throw a reference table there, but I'd rather keep it simple. |
 Xornicon Altair Woopatang Primary. |
Posted - 2010.02.05 20:41:00 - [ 4]
This looks good. We were considering something similar to this with hooks into our SMF forums which uses the ESAM module. If you'd be willing to do some extra work and find a way to hook it in, that would be cool. You can find ESAM info here: http://code.google.com/p/esam/ |
 Agent Unknown Caldari |
Posted - 2010.02.06 04:56:00 - [ 5]
Originally by: Xornicon Altair This looks good. We were considering something similar to this with hooks into our SMF forums which uses the ESAM module. If you'd be willing to do some extra work and find a way to hook it in, that would be cool. You can find ESAM info here: http://code.google.com/p/esam/
I'll see what I come up with. SMF may be easier to use for integration once I "attempt" to work in corp-specific server groups on TS itself. Currently, the integration with the phpBB 3 API mod is just an extra security step (comparing the specified API with the one stored in phpBB). |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.10 03:04:00 - [ 6]
Any way we could get militia support integrated into this?
All you should have to pull is /char/FacWarStats.xml.aspx and the factionName attribute then verify against the list. I will try to see if I can add it in myself this week. |
 Agent Unknown Caldari |
Posted - 2010.02.10 15:48:00 - [ 7]
Originally by: Snake O'Donell Any way we could get militia support integrated into this?
All you should have to pull is /char/FacWarStats.xml.aspx and the factionName attribute then verify against the list. I will try to see if I can add it in myself this week.
That should be simple enough...I'll see what I can do. There's quite a bit I want to do for a "new" release.  |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.10 16:58:00 - [ 8]
I *think* I have gotten the FW info added in correctly, however I don't have a testing server up yet to do a quick test on it. It was pretty straight forward. I can email you the modded source if you want. I am going to play around with restricted access corp channels and stuff this afternoon using the setChannelGroup function in the library. That should be rather straightforward as well. |
 Agent Unknown Caldari |
Posted - 2010.02.10 21:07:00 - [ 9]
Originally by: Snake O'Donell I *think* I have gotten the FW info added in correctly, however I don't have a testing server up yet to do a quick test on it. It was pretty straight forward. I can email you the modded source if you want. I am going to play around with restricted access corp channels and stuff this afternoon using the setChannelGroup function in the library. That should be rather straightforward as well.
Cool. I've actually written the FW stuff into it already, but I'd love to see the modded source to be sure I did it right.  I'm sure it's fairly simple to mess with setChannelGroup, but using setServerGroup may also work since each corp can have its own group. Right now I'm working on standings-based access (which I may be able to test). All of that should be done by Friday...if not, it'll be next week since I'm gone this weekend. Thanks for your help btw.  |
 Agent Unknown Caldari |
Posted - 2010.02.11 20:28:00 - [ 10]
Version 1.1 has been released. Here is the changelog: ============ VERSION 1.1 - 2/11/2010 ============ * Added Faction Warfare verification (militia) * Added standings-based verification * Changed database configuration options from db.php to config.php * Added more configuration options * Added additional requirement: TeamSpeak 3 MUST have MySQL enabled. Take note of the last option! If you don't know how to set up MySQL for TS3, please let me know. This is required for the cron script to function properly. Hope you enjoy it!  |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.12 04:27:00 - [ 11]
I finally got a TS3 server setup to test this, I have tried several mods of verification, and I am getting error110(time out) whenever I try to reg a user. Also my ts server keeps diing on me for no reason =( |
 Agent Unknown Caldari |
Posted - 2010.02.12 05:31:00 - [ 12]
Edited by: Agent Unknown on 12/02/2010 05:31:50 Originally by: Snake O'Donell I finally got a TS3 server setup to test this, I have tried several mods of verification, and I am getting error110(time out) whenever I try to reg a user. Also my ts server keeps diing on me for no reason =(
Check your logs. This script shouldn't crash it. Edit: Also, make sure serverquery is enabled and the proper port is selected.  |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.12 18:39:00 - [ 13]
Now getting error ID0. |
 Squizz Caphinator Woopatang
|
Posted - 2010.02.12 19:50:00 - [ 14]
It's time to support this project! Look for me to be a regular pain in the ass hehe By the time I'm done working with you we'll have full ESAM integration with your TS3 module! |
 Agent Unknown Caldari |
Posted - 2010.02.12 23:54:00 - [ 15]
Originally by: Snake O'Donell Now getting error ID0.
I'll need more information. Does it have a message that comes with it? Pastebin your config.php (edit out passwords and api obviously) so I can see what's up. Originally by: Squizz Caphinator It's time to support this project! Look for me to be a regular pain in the ass hehe By the time I'm done working with you we'll have full ESAM integration with your TS3 module!
Heh...that will likely come when roles-based (i.e, channels for "directors" and such) is ready to go. The phpBB3 integration is just an extra security layer; it could be modified a bit to work with SMF as well, unless you have something else in mind.  |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.13 01:36:00 - [ 16]
http://pastebin.com/mac8165
Nothing other than error ID0.
Checking: - Situation Grey
Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be -S.G- GreatNova for verification. You can change it afterward. Technical details: (ID 0) |
 Agent Unknown Caldari |
Posted - 2010.02.14 01:24:00 - [ 17]
Originally by: Snake O'Donell http://pastebin.com/mac8165
Nothing other than error ID0.
Checking: - Situation Grey
Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be -S.G- GreatNova for verification. You can change it afterward. Technical details: (ID 0)
It seems to be a bug with the faction warfare portion of the checking. This doesn't surprise me seeing how I can't test that portion.  Try this: IN functions.php FIND: function checkFaction($f,$u,$api,$char) { $url = "http://api.eve-online.com/char/FacWarStats.xml.aspx?userID=" . $u ."&apikey=" . $api . "&characterID=" . $char; $xml = simplexml_load_file($url); $r = (string) $xml->result->factionName;
ADD AFTER: echo '<p>Faction check: Yours: '.$r.' - Allowed: '.$f.'</p>'; Show me the result after this. |
 Snake O'Donell Gallente Core Impulse
|
Posted - 2010.02.14 06:44:00 - [ 18]
Checking: - Situation Grey
Faction check: Yours: Gallente Federation - Allowed: Array
Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be -S.G- GreatNova for verification. You can change it afterward. Technical details: (ID 0)
|
 Agent Unknown Caldari |
Posted - 2010.02.14 18:52:00 - [ 19]
Hmm...interesting. How about this then? IN functions.php: FIND try { $ts = TeamSpeak3::factory("serverquery://".$c->tsname.":".$c->tspass."@".$c->tshost.":".$c->tsport."/"); $virt = $ts->serverGetByPort($c->tscport); $name = $ticker." ".$username; $client = $virt->clientGetByName($name); $client->addServerGroup($c->group); } catch(Exception $e) { echo "<p>Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be <strong>".$ticker." ".$username."</strong> for verification. You can change it afterward.</strong><br /> Technical details: <br /> (ID " . $e->getCode() . ") ". $e->getMessage() . "</p>"; die(); }
REPLACE WITH: $ts = TeamSpeak3::factory("serverquery://".$c->tsname.":".$c->tspass."@".$c->tshost.":".$c->tsport."/"); $virt = $ts->serverGetByPort($c->tscport); $name = $ticker." ".$username; $client = $virt->clientGetByName($name); $client->addServerGroup($c->group);
This should make it throw an uncaught exception and hopefully give more information. |
 Rockvell Caldari Russian Specnaz Goonswarm Federation |
Posted - 2010.02.15 14:32:00 - [ 20]
Hi, Not work on my registration. It's set to verification by the alliance. //Your corporation/alliance name. Used for standings verification. public $myname = 'Red Alliance'; //Use "Alliance" mode. This mode only allows people from the specified alliance(s) to verify. public $useally = true; After entering all the necessary registration data is displayed message. "Notice: Undefined variable: verbose in /var/www/html/ts3/verify.php on line 41 Checking: Red Alliance - Russian Specnaz You are not allowed to register on this TeamSpeak server." Help solve this problem  |
 Agent Unknown Caldari |
Posted - 2010.02.15 18:49:00 - [ 21]
Is your alliance in the $allylist array? $myname is used for standings validation. I've received some much needed feedback and noticed some issues that should've been fixed a while ago. I'm working on those fixes now. Also, 1.2 will be the first to feature web-based configuration (don't expect it to be pretty though  ). Thanks for all that tested it so far. |
 Rockvell Caldari Russian Specnaz Goonswarm Federation |
Posted - 2010.02.16 09:28:00 - [ 22]
Prescribed name of the alliance as you put in $ allylist array error was replaced by another. It is necessary to you in the next version to make a detailed instruction :-) Server TS 3.0.0-beta18 [Build: 10190]
"Notice: Undefined variable: verbose in /var/www/html/ts3/verify.php on line 41 Checking: Red Alliance - Russian Specnaz
Notice: Undefined variable: key in /var/www/html/ts3/functions.php on line 55 Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be RSTC1 Rockvell for verification. You can change it afterward. Technical details: (ID 512) invalid clientID" |
 GreatNova Amarr Situation Grey
|
Posted - 2010.02.16 16:08:00 - [ 23]
Fatal error: Uncaught exception 'TeamSpeak3_Transport_Exception' in /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php:55 Stack trace: #0 /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php(103): TeamSpeak3_Transport_TCP->connect() #1 /var/www/ts/libraries/TeamSpeak3/Adapter/ServerQuery.php(70): TeamSpeak3_Transport_TCP->readLine() #2 /var/www/ts/libraries/TeamSpeak3/TeamSpeak3.php(180): TeamSpeak3_Adapter_ServerQuery->__construct(Object(TeamSpeak3_Transport_TCP)) #3 /var/www/ts/functions.php(57): TeamSpeak3::factory('serverquery://s...') #4 /var/www/ts/verify.php(52): tsAdd('-S.G-', 'GreatNova', 834245196, 'D2A69E5E2A7D452...') #5 {main} thrown in /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php on line 55 |
 Agent Unknown Caldari |
Posted - 2010.02.16 20:12:00 - [ 24]
Originally by: Rockvell Prescribed name of the alliance as you put in $ allylist array error was replaced by another. It is necessary to you in the next version to make a detailed instruction :-) Server TS 3.0.0-beta18 [Build: 10190]
"Notice: Undefined variable: verbose in /var/www/html/ts3/verify.php on line 41 Checking: Red Alliance - Russian Specnaz
Notice: Undefined variable: key in /var/www/html/ts3/functions.php on line 55 Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be RSTC1 Rockvell for verification. You can change it afterward. Technical details: (ID 512) invalid clientID"
Ah, okay. Invalid clientID means it couldn't find your name on TS. Make sure your name matches what it wants you to have it as. As for the notices, those are my fault and will be fixed with my next bugfix release. Originally by: GreatNova Fatal error: Uncaught exception 'TeamSpeak3_Transport_Exception' in /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php:55 Stack trace: #0 /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php(103): TeamSpeak3_Transport_TCP->connect() #1 /var/www/ts/libraries/TeamSpeak3/Adapter/ServerQuery.php(70): TeamSpeak3_Transport_TCP->readLine() #2 /var/www/ts/libraries/TeamSpeak3/TeamSpeak3.php(180): TeamSpeak3_Adapter_ServerQuery->__construct(Object(TeamSpeak3_Transport_TCP)) #3 /var/www/ts/functions.php(57): TeamSpeak3::factory('serverquery://s...') #4 /var/www/ts/verify.php(52): tsAdd('-S.G-', 'GreatNova', 834245196, 'D2A69E5E2A7D452...') #5 {main} thrown in /var/www/ts/libraries/TeamSpeak3/Transport/TCP.php on line 55
That error tells me that the library wasn't able to connect to the ServerQuery server on your TS3 server. Be sure that it's enabled and outside applications can access it. The default port is 10011. |
 Agent Unknown Caldari |
Posted - 2010.02.16 22:01:00 - [ 25]
Version 1.2 has been released. The OP will be modified with the new link. The changelog: ======================================================== TeamSpeak For EVE Coded by Agent Unknown Version: 1.2 CHANGELOG ======================================================== ============ VERSION 1.2 - 2/16/2010 ============ * Removed phpBB3 API support. This was really not needed. May be replaced with roles integration. * Changed lang.php from global variables to a class of its own. * Added a couple configuration options and clarified some of the comments. * Fixed a bug where notices would be thrown when adding users. * fixed a bug where $verbose was not defined. * Removed need for MySQL support within TS3. This was only used in the cron script. I was unable to test the standings and faction based verification, so hopefully it works.  |
 Tobias Sjodin Habitual Euthanasia Pandemic Legion |
Posted - 2010.02.17 11:09:00 - [ 26]
Hmm, verify screen goes blank and returns to the first page every time someone tries to fill in API. No error message, just blank screen: goes back to first page. |
 Tobias Sjodin Habitual Euthanasia Pandemic Legion |
Posted - 2010.02.17 11:48:00 - [ 27]
My users get this error:
Error: Cannot assign server group. Be sure that your name on the TeamSpeak server is correct. Your TeamSpeak name should be <TICKER user name> for verification. You can change it afterward.
Technical details:
(ID 0) invalid uri supplied
|
 Tobias Sjodin Habitual Euthanasia Pandemic Legion |
Posted - 2010.02.17 12:08:00 - [ 28]
This is what the TS Server is setup with:
2010-02-17 10:25:49.203916|INFO |VirtualServer | 1| listening on 0.0.0.0:9987 2010-02-17 10:25:49.207748|INFO |Query | | listening on 0.0.0.0:10011
My config.php is setup like this:
//ServerQuery Host public $tshost = '<my server name (eg. brick.com>'; //TeamSpeak ServerQuery Name public $tsname = 'BR1CK TS3 SERVER'; //ServerQuery Password public $tspass = '<as we have no password I left this blank>'; //ServerQuery Port public $tsport = '10011'; //TeamSpeak client port (this is not the same as the serverquery port!) public $tscport = '9987';
|
 Tobias Sjodin Habitual Euthanasia Pandemic Legion |
Posted - 2010.02.17 12:17:00 - [ 29]
Edited by: Tobias Sjodin on 17/02/2010 12:19:08n/m Figured out that it's the serveradmin name and password you wanted, now it works, except with this error: Syntax error: Column count doesn't match value count at row 1OP, could this help? [CLICK ME] |
 Agent Unknown Caldari |
Posted - 2010.02.17 17:56:00 - [ 30]
Edited by: Agent Unknown on 17/02/2010 18:01:59Edited by: Agent Unknown on 17/02/2010 17:58:58 Originally by: Tobias Sjodin Edited by: Tobias Sjodin on 17/02/2010 12:19:08 n/m
Figured out that it's the serveradmin name and password you wanted, now it works, except with this error:
Syntax error: Column count doesn't match value count at row 1
OP, could this help? [CLICK ME]
Yep...I know what that error is. In my effort to release a fix, I had to add a new column to the database; but I forgot to fix the setup.php file to include the new column. When you have a chance to, create a file called fix.php in the same directory and put this in: <?php require_once("db.php"); require_once("config.php"); $db = new DB; $c = new Config; $sql = "ALTER TABLE `".$c->db_name."`.`tsclient` ADD COLUMN `cid` VARCHAR(45) NOT NULL AFTER `charid`;"; $r = $db->send($sql); if (!$r) die("Error."); else { echo "Done."; unlink(fix.php); } ?>
Fixed setup.php file (delete table if you want to): Linkage |