Jump to content
Mumble forums

Programming Question: Users can't create channels


Carmine
 Share

Recommended Posts

Hello,

I'm writing my own client in C#. I've managed to piece together a bunch of examples, and I actually have a working client (that can do most things).


The problem is, (no matter what I do with the ACL) I can't seem to create a Channel (temp or not). If I use a mumble client, with an unregistered user, I can create a temp channel no problem.


The only difference I am seeing between my C# client and the mumble client (I assume) is perhaps the generation of a key.


I'm assuming I send the ChannelState message to create a channel? Maybe I have the wrong parameters set? I'm simply setting Name, Parent (to 0) and temp to true.


Thanks for any help!


-Carmine

Link to comment
Share on other sites

  • Administrators

A normal ChannelState with a valid parent and name ought to work. Make sure you are not setting a channel id. Apart from that you should get at least a permission denied with a reason back. Is you code available online?

Link to comment
Share on other sites

A normal ChannelState with a valid parent and name ought to work. Make sure you are not setting a channel id. Apart from that you should get at least a permission denied with a reason back. Is you code available online?

 

I don't get any reply at all (which is what is making this so weird). When you say "don't set channel is) do you mean have it be 0? Here is what the json deserializes to (before going to the server):


{"channel_id":0,"parent":0,"name":"testchanne","links":[],"description":"","links_add":[],"links_remove":[],"temporary":true,"position":0,"description_hash":null}


Thanks!

Link to comment
Share on other sites

  • Administrators

No. If you have it set to 0 the field is set and it won't work. Protobuf has optional fields with an explicit notion of set/unset. See https://github.com/mumble-voip/mumble/blob/master/src/Mumble.proto#L114 and https://developers.google.com/protocol-buffers/docs/proto#optional .


I'm not sure how the C# interface to profobuf looks like but you should make sure you only set the fields you actually want to transmit. The mumble protocol uses optional fields for efficiency, semantics and backwards compatibility so they are quite important for a client.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...