JTS3ServerMod - Suggestion

Started by cazzmaran, December 04, 2011, 01:15:41 AM

Previous topic - Next topic

cazzmaran

First, allow me to be another fan of your software.  I humbly praise it for all of the wonderful features that it added to TS3.  Excellent work.

Now the reason I am here.  I run a large guild, and we use TS3.  What I've found is that complicated channel structures are messy-looking, but very necessary in order to run a large guild.  I would love a method to de-clutter the empty channels from TS3, but still have a way to propagate a lot of channels when the server is busy so my guild can group, using separate channels so they are not talking over each other.

The devs for TS3 attempted to address this with the ability to create a channel temporarily.  However, this is several keyclicks; takes about 10 seconds; and a lot of vent users don't even know about it.  Thus, the feature is highly underutilized.

I think the solution is creating an "autopropagate" feature for channels.  What I mean by that is the ability flag a channel to automatically create a sub-channel when someone joins it and then move the user that joined the parent channel to the new channel.  All you have to do to create a new channel for your group is to join a channel flagged as autopropagate.  When the channel is empty (everyone leaves), the channel is deleted by JTS3ServerMod (or by the server if the channel is flagged as temporary).

Do you see what I mean?

To explain, assume this is your channel structure:

SERVER NAME
. LOBBY
. . USER A
. . USER B
. . LOTS OF OTHER USERS HERE
. GAMING CHANNEL
. AFK CHANNEL

Right now, the TS3 has a nice clean look.  There aren't many channels.  But let's assume User A and B are the leaders of different groups, and they just invited their groups to join the TS3.  They both want separate channels to use so they don't bother the other users.  They can just both join the GAMING CHANNEL, which has been flagged to create sub-channels when users enter.

So first, User A joins the Gaming Chanel to create a new Channel.

SERVER NAME
. LOBBY
. . USER B
. . LOTS OF OTHER USERS HERE
. GAMING CHANNEL
. . USER A
. AFK CHANNEL

The tool responds within a second or two to create a sub-channel for GAMING CHANNEL and move user A into that channel.

SERVER NAME
. LOBBY
. . USER B
. . LOTS OF OTHER USERS HERE
. GAMING CHANNEL
. . PARTY 1
. . . USER A

. AFK CHANNEL

User B's group logs into the server, and she is ready to group up and go, so she joins GAMING CHANNEL as well to autocreate a different channel.

SERVER NAME
. LOBBY
. . USER B
. . LOTS OF OTHER USERS HERE
. GAMING CHANNEL
. . USER B
. . PARTY 1
. . . USER A
. AFK CHANNEL

Again, the tool responds by creating a second sub-channel and moving user B.

SERVER NAME
. LOBBY
. . USER B
. . LOTS OF OTHER USERS HERE
. GAMING CHANNEL
. . PARTY 1
. . . USER A
. . PARTY 2
. . . USER B

. AFK CHANNEL

At any point, anyone can jump into either channel that has been automatically created as if they are normal channels to hang or run events with whoever is presently in them.  Yet, as soon as Party 1 or Party 2 is empty because people are done using them, JTS3ServerMod deletes them.

Using this technique, the number of channels would be minimal when few people were logged into the server.  It would look clean.  But as people needed channels, they would be virtually instantly available by only having to move to a channel flagged as auto-propagate.

What do you think?  I would do it myself, but I'm an amateur programmer at best, and I can't follow JTS3ServerMod.java.   :/

Anyway, even if you don't like the feature or think it's a worthless idea, thanks for your time to read this.  ;)

Stefan1200

Thanks for your suggestions.

If I get you right, I see some problems.
First: User A and B want to play together, what should happen in this case?
Second: What if the players of User A are already in that gaming channel, User A joins later and he will be moved?

In my opinion it is not hard to create a new temp channel by a group leader (don't take much time and the channel will be deleted by the TS3 server later). Don't get me wrong, I like suggestions. But this is quite much work to add it to the bot (with enough options to change the behavior) and can be quite easy achieved with TS3 client methods :).

cazzmaran

#2
Regarding your first question, if User A and B wanted to play together, user A would join channel GAMING CHANNEL, which would automatically create the GROUP 1 channel.  Once the GROUP 1 channel is created, user B just joins GROUP 1 instead of joining GAMING CHANNEL.  :)

Regarding your second question, if User A and B happened to both join the GAMING CHANNEL at the same time, the tool would automatically create two subchannels, one for each of them, and move them to their respective subchannels (For example, user A would be moved to PARTY 1 and user B would be moved to PARTY 2 as the tool created them).  If they intended to group together, but both accidently joined the GAMING CHANNEL at the same time with the intent to create the channel, after PARTY 1 and PARTY 2 have been created, one user just goes to the other user's channel.  When the recently evacuated channel becomes empty (because the user went to the other party channel), the tool would just delete the empty channel.  So both wind up in the same channel.

Hope that helps with your questions.

Regarding you opinion, I understand.  I completely agree: the tools are in place to create temporary channels in TS3.  However, I still find that many users don't take the time to create the channels; they just complain about there not being enough channels when they want them, ESPECIALLY in the gaming community.  I think the reason for this is that the standard for gaming is still vent (sadly), and most vents require permissions to make channels.  Most gamers don't know what TS3 can do yet... either that or they're lazy and don't want to take the time to create a channel every time they need one.  I try to educate them, but they complain instead of putting temporary channels into action.

And fair enough regarding the amount of work.  I was not sure how much work this would be for you because I couldn't follow the code, so I wasn't sure how much of the necessary code you would have already have written as functions for other parts of the tool.  I understand and appreciate your feedback.  Thanks, and as always, excellent work.  :)

Out of curiosity, how long did it take you to write the entire tool?  It looks complicated.  And as a second question for my own behalf (I might commission someone to write this mod as it is a feature I would highly value), how much time would you estimate it would take an experienced programmer were to take a crack at it?

Stefan1200

In general I understand your suggestion. But this is quite special and maybe not needed by many server admins. Compared with the needed work to implement this, my current amount of free time and the length of the current ToDo list of the bot, I don't think that I will implement this. Sorry to say that.


Quote from: cazzmaran on December 04, 2011, 06:10:42 PM
And fair enough regarding the amount of work.  I was not sure how much work this would be for you because I couldn't follow the code, so I wasn't sure how much of the necessary code you would have already have written as functions for other parts of the tool.  I understand and appreciate your feedback.  Thanks, and as always, excellent work.  :)

The biggest work is always to make a new feature customizable. And some parts of the bot are still not perfect to add new features (because the bot was never intended to have this amount of features :)). But my biggest problem is the time. Since some month I have a new job and less free time to do this kind of work.


Quote from: cazzmaran on December 04, 2011, 06:10:42 PM
Out of curiosity, how long did it take you to write the entire tool?  It looks complicated.  And as a second question for my own behalf (I might commission someone to write this mod as it is a feature I would highly value), how much time would you estimate it would take an experienced programmer were to take a crack at it?

The whole project (and all sub projects like JTS3ServerQuery) was started in February 2010. In the first 5 months I put much time in it. But also in the following 5 months I did many changes to the bot. This year the most changes was not done to the public version of the bot (yes, there is another secret version of the bot with some more not bot related features :) ).

Well, if a programmer understand "my thinking", it is easy to understand the source code. But every programmer has a different style. So it is hard to understand a big source code (and only the JTS3ServerQuery library, which is also used by the bot, has a well documented source code).

cazzmaran

Thanks for your time anyway.  ;)  It's a great tool, and I'll continue to use it.