1 registered members (Ayumi),
662
guests, and 3
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
ANet 1.5.1.0 Beta released
[Re: JoGa]
#385472
10/18/11 19:17
10/18/11 19:17
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
I found a small bug while converting the "AUM76 to ANet" example: * When the EVENT_SYNCHRONIZED was called enet_sv/clent_create() couldn't be used before 1 frame has passed. [Fixed in 1.5.1.0] Thus I release a new Beta version. Here is the download link for the new version: ANet 1.5.1.0 BetaHere you can get the converted "AUM76 to ANet" example. It should give you a clue of how the new entity system could be implemented: AUM76 to ANet 1.5.1.0 Finally I want to share my plans for the future:* Converting all examples and tutorials to the new ANet version * Releasing the new ANet version * Improving the examples and tutorials, replacing old/bad ones with new ones For the last point I need your help!Where have been your problems when starting with ANet? Is there anything that should be explained more detailed than currently explained by the tutorials? Are you missing example scripts for special situations? Anything else that should be improved/changed? Thanks for your help!
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: ANet 1.5.1.0 Beta released
[Re: Dark_samurai]
#385642
10/21/11 10:56
10/21/11 10:56
|
Joined: Jul 2010
Posts: 12 Germany
Zwiebli
Newbie
|
Newbie
Joined: Jul 2010
Posts: 12
Germany
|
1. It just took me some time to get used to multiplayer functionalities but nothing ANet specific. 2. / 3. Is it possible to create a peer-to-peer connection like the Voip feature does using the new socket functions? If it is, a tutorial on that would be great. 4. It would be good if you find a way to change the connection time out. Otherwise I think ANet is really awesome!
Last edited by Zwiebli; 10/22/11 08:32.
|
|
|
Re: ANet 1.5.1.0 Beta released
[Re: Zwiebli]
#385662
10/21/11 17:00
10/21/11 17:00
|
Joined: Oct 2005
Posts: 4,771 Bay City, MI
lostclimate
Expert
|
Expert
Joined: Oct 2005
Posts: 4,771
Bay City, MI
|
My only request would be easier ways to serialize and deserialize data for custom packets, or if some way to do it already exists, a small section showing useful ways to do it. Other than that, well... I don't use much more than that anyways so that's all I can really comment on.... That said, I'm not complaining:) this is a wonderful plugin. easy setup, quick support, not abundant, but sufficient documentation.
|
|
|
Re: ANet 1.5.1.0 Beta released
[Re: lostclimate]
#385753
10/23/11 14:07
10/23/11 14:07
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
3. Is it possible to create a peer-to-peer connection like the Voip feature does using the new socket functions? If it is, a tutorial on that would be great. Yes, the udp socket functions are more or less peer-to-peer based because every udp socket is server and client in one. You can send packets to every udp socket you wish. All you have to know is the ip address and the port number of the socket. With the tcp functions no peer-2-peer application is possible. I don't think that there is the need for an extra tutorial for that, because as explained above, it's very simple! But if you have problems with that, I could explain it more detailed if you wish. 4. It would be good if you find a way to change the connection time out. I already looked into that some time ago, but it seemed like this is not possible. But I can take a closer look again, maybe I find a way. My only request would be easier ways to serialize and deserialize data for custom packets, or if some way to do it already exists, a small section showing useful ways to do it. Best way would be to use memcpy:
//Data you want to send in a packet:
int Data1;
short Data2;
var Data3;
char* PacketBuffer = (char*)malloc(10);
//Serialize data
memcpy(PacketBuffer, &Data1, sizeof(int));
memcpy(&(PacketBuffer[4]), &Data2, sizeof(short));
memcpy(&(PacketBuffer[6]), &Data3, sizeof(var));
//and so on
enet_clsend_event(USEREVENT_SENDDATA, PacketBuffer, 10, BROADCAST);
free((void*)PacketBuffer);
Does that answer your question? Or did you ment something different with serializing data? I could add that to the "Tips and Tricks" section of the manual. The deserialization would be the other way around. I think I will go this way:I will replace the current workshops that don't explain the templates with a multiplayer shooter workshop. The workshop will cover everything from building up a connection to dead reckoning and shooting. Every finished chapter will contain the produced script so that the user can try what was explained in theory. The final script will be some kind of template that will replace the old dead reckoning template. So I try to make the script as configurable as possible. So that it's possible to create multiplayer shooters without much scripting (but the shooter won't be much complex as this would break the mold).
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
ANet 1.5.2.0 Beta released
[Re: Zwiebli]
#385821
10/24/11 17:06
10/24/11 17:06
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
Today I release a new ANet Beta: 1.5.2.0 Changes:+ The function sock_recv() returns now also the destination port of the received data packet. + After every level change, enet_ent_sync() has to be called now (--> should be called in EVENT_LEVEL after the level was successfully loaded). This behavior is new since 1.5.0.0 but wasn't documented. + Bugfix: The angle of global entities wasn't sent to the clients when they synchronized with the server. [Fixed in 1.5.2.0] Please read the Updates/Changes section in the manual before updating. You can get the new version here: ANet 1.5.2.0 BetaHave fun while testing and thanks for your support!
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: ANet 1.5.2.0 Beta released
[Re: Dark_samurai]
#385824
10/24/11 17:17
10/24/11 17:17
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
Ah, the enet_ent_sync after every load level sounds good. Something i noticed in earlyier versions of Anet(1.2/1.3 havent used newest yet) is that as soon as the client is connected, every newly created entity got synced and created on the freshly connected client.
Though i had the problem that i had not loaded any empty level before connecting in my first game versions, so this had been a problem. I fixed that by loading an empty level before connecting and enet_ent_sync8only once) after loading.
I thought about something like disabling entity retrieval for a client at connection so client can communicate with server without getting entity updates. For example retrieving current mapfile etc.
Might be solved with the current solution by dropping everything in an empty level^^
Last edited by Rackscha; 10/24/11 17:18.
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: ANet 1.5.2.0 Beta released
[Re: Rackscha]
#385975
10/26/11 15:04
10/26/11 15:04
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
Maybe this will help you: In the new version, no entity related data is accepted by new connected clients as long as they didn't call enet_ent_sync(). Why do you need to load an empty level?
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: ANet 1.5.2.0 Beta released
[Re: Dark_samurai]
#385992
10/26/11 17:55
10/26/11 17:55
|
Joined: Jul 2005
Posts: 1,930 Austria
Dark_samurai
OP
Serious User
|
OP
Serious User
Joined: Jul 2005
Posts: 1,930
Austria
|
I looked into the enet source code for a way to change the timeout. It's basicly possible to change the timeout BUT you won't be able to set for example a timeout of 1000ms because the timeout mechanism isn't based on a timer but on some other network related things. The timeout is different under different circumstances (as some of you maybe have already noticed). The current values give the best results so it won't be reasonable to change them.
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)! get free version
|
|
|
Re: ANet 1.5.2.0 Beta released
[Re: Dark_samurai]
#386019
10/26/11 23:20
10/26/11 23:20
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
Maybe this will help you: In the new version, no entity related data is accepted by new connected clients as long as they didn't call enet_ent_sync(). Why do you need to load an empty level? As i said, i had to load an empty level in older versions. Havent used the new ones yet But good to read about this new functionality.
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
|