Author Topic: Functionality Suggestions  (Read 2898 times)

devomage

  • Sr. Member
  • ****
  • Thank You
  • -Given: 7
  • -Receive: 67
  • Posts: 250
    • View Profile
Functionality Suggestions
« on: August 07, 2015, 06:41:57 AM »
I am currently working on another PC game

Couple roadblocks from my TNet adventures:

1)  more convenient server to server (2 way) communication via lobbylink:  ie  SendPacket(packet, objs[])
2)  global callbacks:  ie disconnect, connect, player list, etc.  the ability to see the entire server (all channels, etc) rather than being limited to the channel you are in.
3)  multiple chat channels.  ie  subscribe to the "warrior", "mage", "global" and "my team" chat channels.


It would be great if you considered these items while coding new stuff!

voncarp

  • Jr. Member
  • **
  • Thank You
  • -Given: 13
  • -Receive: 2
  • Posts: 91
    • View Profile
Re: Functionality Suggestions
« Reply #1 on: August 07, 2015, 02:28:58 PM »
3) Maybe make a list of players for each specific group.  Send a chat RFC to each player in the list.

devomage

  • Sr. Member
  • ****
  • Thank You
  • -Given: 7
  • -Receive: 67
  • Posts: 250
    • View Profile
Re: Functionality Suggestions
« Reply #2 on: August 07, 2015, 05:17:00 PM »
3) Maybe make a list of players for each specific group.  Send a chat RFC to each player in the list.

ive implemented 1 and 2.  ive yet to deal with #3.  i'm thinking along the lines of these items being native operations.


ps  would love to have a standalone client.  then you could muster a diablo 3 style game launcher/patcher.

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: Functionality Suggestions
« Reply #3 on: August 08, 2015, 11:45:24 PM »
1) I've never done server to server communication, not sure what the usecase would be for that.
2) I've done this in Windward by simply having each client send a server-wide broadcast packet when they log on. I did the global /who list the same way -- send a broadcast packet, each client replies to the sender individually, updating the visible list in real time.
3) This is a client-side thing as well. All messages arrive, but whether they get shown or not depends on your client-side filter. In Windward I have a multi-tab window where users can configure which types of messages will show up in each tab.

devomage

  • Sr. Member
  • ****
  • Thank You
  • -Given: 7
  • -Receive: 67
  • Posts: 250
    • View Profile
Re: Functionality Suggestions
« Reply #4 on: August 09, 2015, 02:27:23 AM »
1) I've never done server to server communication, not sure what the usecase would be for that.

i just setup 3 standalone servers and an authentication/login server.  the standalone servers do not store anything except the players characters... yet need to authenticate when players jump from server to server.  attached is the final mockup.  the original problem was that i use phpbb for authentication.  only the login server has phpbb access.  then i wanted to have a character count on my server list display.  i'm open for options on how to optimize my setup.

2) I've done this in Windward by simply having each client send a server-wide broadcast packet when they log on. I did the global /who list the same way -- send a broadcast packet, each client replies to the sender individually, updating the visible list in real time.

this works great.  i implemented this per another thread we corresponded.  however, this does not accommodate disconnect notifications.  assume that you are a single player in a central channel and want to view (and maintain) a playerlist of all channels.  an option could be, you can use the host to broadcast when someone leaves the channel -- but what about when the host leaves or is booted?  still needs server mods for this case.  personally, i would prefer to subscribe to a serverwide disconnect and connect callback.

All messages arrive, but whether they get shown or not depends on your client-side filter.

if all messages arrive - a packet sniffer could read "team" chat or otherwise.

im curious about how the hacking scene is with Winward?  im also concerned about packet sniffing.  Do you encrypt the data stream?
« Last Edit: August 10, 2015, 10:36:03 PM by devomage »

ArenMook

  • Administrator
  • Hero Member
  • *****
  • Thank You
  • -Given: 337
  • -Receive: 1171
  • Posts: 22,128
  • Toronto, Canada
    • View Profile
Re: Functionality Suggestions
« Reply #5 on: August 14, 2015, 11:05:51 AM »
No, it's not encrypted. I'm sure you could packet sniff that, but why bother? You can just have a friend sitting next to you who's on the opposite team, reading their chat to you. It's not exactly state secrets... Don't complicate your net code without a real need for it.

The disconnect notification is indeed something that doesn't happen, but I suppose I can add explicit connect/disconnect messages. You'll find them in the next version.

You can simply structure your login server so that it won't send server info until the player has been authenticated. This way players won't be able to even get the list of game servers until they're past the authentication process, making game server communication with your database irrelevant.