• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
Voltseon's Multiplayer Solution

Resource Voltseon's Multiplayer Solution 1.0

thebigguy270

Trainer
Member
Joined
Jul 13, 2018
Posts
53
Holy crap. Now I hope we can figure out ways to transfer Pokemon or generate them for competitive like in official games.
 

Jangajinx

An Overly Ambitious Developer
Member
Joined
Apr 21, 2023
Posts
213
This looks very promising might look into this. Problem I can see is my project uses customizable player trainers and has a system that add a new cosmetic system for pokemon beyond the standard shiny system. Adding cosmetic variations similar to Pokemon GO and special VFX effects. Might have to figure out how to incorporate both player data and pokemon data. A few questions though:

How does the plugin handle custom stuff like moves, ability, pokemon?

What exactly can players do with this plugin?
 
my project uses customizable player trainers and has a system that add a new cosmetic system for pokemon beyond the standard shiny system. Adding cosmetic variations similar to Pokemon GO and special VFX effects. Might have to figure out how to incorporate both player data and pokemon data.
That is interesting, you can change the data that is transferred between the server and the players, it's not too difficult to read more data, it just depends on how much data it is and what kind of data. Sending over too much data can cause a lot of lag, and complex data has to be transformed first.

How does the plugin handle custom stuff like moves, ability, pokemon?
Currently, all the building blocks for moves and pokemon that base Pokemon Essentials provides is sent between players, so things like a Pokémon's gender, moveset, ability, nature, EVs, IVs, nickname, etc. and for moves it is simply their internal id and pp. All of the logic surrounding the behavior, such as battle effects are all client side. So the server does not provide any logic around it. So if both players have a new custom move, pokemon or ability it should work fine. But if one player is on a version that does not have this move it would crash (haven't tested this but logically it should).

What exactly can players do with this plugin?
A full changelog can be found in Chapter 6 of the documentation. But in simple terms, you can connect to another player through a server with your own lobby/room (cluster). You'll be able to walk around in the same overworld, see each other on a map or interact with each other to battle or trade. More is planned in the future (as seen on the todo list) and I am open for any feedback/ ideas for future versions.
 

Jangajinx

An Overly Ambitious Developer
Member
Joined
Apr 21, 2023
Posts
213
That is interesting, you can change the data that is transferred between the server and the players, it's not too difficult to read more data, it just depends on how much data it is and what kind of data. Sending over too much data can cause a lot of lag, and complex data has to be transformed first.


Currently, all the building blocks for moves and pokemon that base Pokemon Essentials provides is sent between players, so things like a Pokémon's gender, moveset, ability, nature, EVs, IVs, nickname, etc. and for moves it is simply their internal id and pp. All of the logic surrounding the behavior, such as battle effects are all client side. So the server does not provide any logic around it. So if both players have a new custom move, pokemon or ability it should work fine. But if one player is on a version that does not have this move it would crash (haven't tested this but logically it should).


A full changelog can be found in Chapter 6 of the documentation. But in simple terms, you can connect to another player through a server with your own lobby/room (cluster). You'll be able to walk around in the same overworld, see each other on a map or interact with each other to battle or trade. More is planned in the future (as seen on the todo list) and I am open for any feedback/ ideas for future versions.
This is fantastic! This is basically what I envisioned for multiplayer for my project similar to Pokemon Quetzal. I would love to share some more information on this project as it will driven by the community. I am always interested in meeting like-minded people who might be interested in the goal of the project. I can message you as it is still in its pre-alpha phase and maybe going into more potential ideas for the plugin. Share more info about the following if you would like:
my project uses customizable player trainers and has a system that add a new cosmetic system for pokemon beyond the standard shiny system. Adding cosmetic variations similar to Pokemon GO and special VFX effects. Might have to figure out how to incorporate both player data and pokemon data.
 

MakerBlack

Trainer
Member
Joined
Nov 23, 2020
Posts
88
What you did is incredible, it really proves that you are capable of evolving our essential technology today. Do you intend to create a very complete online battle system as well?
 
What you did is incredible, it really proves that you are capable of evolving our essential technology today. Do you intend to create a very complete online battle system as well?
Currently there is support for a 1v1 single battle against other players that is fully functional. However some key elements are missing that I would like to add in the future (as seen in the todo list).
Some of these include:
  • Multibattles (battle with another player agains npcs or other players)
  • Other battle modes (doubles, triples, etc.)
  • Using items in battle (currently battles behave like battle frontier battles and don't allow you to use items)
If there are any other suggestions feel free to share them, I'm aiming to make this plugin as complete and 'all encompassing' as possible.
 

Jangajinx

An Overly Ambitious Developer
Member
Joined
Apr 21, 2023
Posts
213
Currently there is support for a 1v1 single battle against other players that is fully functional. However some key elements are missing that I would like to add in the future (as seen in the todo list).
Some of these include:
  • Multibattles (battle with another player agains npcs or other players)
  • Other battle modes (doubles, triples, etc.)
  • Using items in battle (currently battles behave like battle frontier battles and don't allow you to use items)
If there are any other suggestions feel free to share them, I'm aiming to make this plugin as complete and 'all encompassing' as possible.
I think supporting Pokémon followers would be amazing as well. As for multibattles, it can be an in-game option allowing players to choose to wait for the other player to interact with the NPC to automatically set the battle style to 2v2.
 
I think supporting Pokémon followers would be amazing as well. As for multibattles, it can be an in-game option allowing players to choose to wait for the other player to interact with the NPC to automatically set the battle style to 2v2.
Support for following pokemon has already been added to the backlog of the todo list.
Support trade pokemon with other player, will be a cool features.
Trading is already supported in the plugin, you can interact with other players to trade with them.
 

MakerBlack

Trainer
Member
Joined
Nov 23, 2020
Posts
88
Currently there is support for a 1v1 single battle against other players that is fully functional. However some key elements are missing that I would like to add in the future (as seen in the todo list).
Some of these include:
  • Multibattles (battle with another player agains npcs or other players)
  • Other battle modes (doubles, triples, etc.)
  • Using items in battle (currently battles behave like battle frontier battles and don't allow you to use items)
If there are any other suggestions feel free to share them, I'm aiming to make this plugin as complete and 'all encompassing' as possible.
Wow, is it also EBDX compatible with unofficial port? I was waiting for something amazing to migrate to v21 as soon as possible, this is inspiring me so much.

Honestly, in addition to making items compatible, mega evolution and generation 9 resources would be incredible too. (I hope to test it soon to see what works).

I've waited a long time to make these competitive suggestions so here they are:
  • Search system for battles against trainers, enabling a badge filter to find an opponent.
  • Allow new filters in this system, we could independently place filters that were considered coherent.

One question, is there any way to support this project in more ways?
I thought it was wonderful how it worked.
 

SalamenceOnTop

Novice
Member
Joined
Mar 14, 2023
Posts
21
Everytime I type ruby Server.rb I got this message:
Ruby:
Expand Collapse Copy
ruby: No such file or directory -- Server.rb (LoadError)
 

Jangajinx

An Overly Ambitious Developer
Member
Joined
Apr 21, 2023
Posts
213
Wow, is it also EBDX compatible with unofficial port? I was waiting for something amazing to migrate to v21 as soon as possible, this is inspiring me so much.

Honestly, in addition to making items compatible, mega evolution and generation 9 resources would be incredible too. (I hope to test it soon to see what works).

I've waited a long time to make these competitive suggestions so here they are:
  • Search system for battles against trainers, enabling a badge filter to find an opponent.
  • Allow new filters in this system, we could independently place filters that were considered coherent.

One question, is there any way to support this project in more ways?
I thought it was wonderful how it worked.
I think with local PvP to talk with your partner your are playing with. than have a PC option to PvP online.
 
Wow, is it also EBDX compatible with unofficial port? I was waiting for something amazing to migrate to v21 as soon as possible, this is inspiring me so much.

Honestly, in addition to making items compatible, mega evolution and generation 9 resources would be incredible too. (I hope to test it soon to see what works).

I've waited a long time to make these competitive suggestions so here they are:
  • Search system for battles against trainers, enabling a badge filter to find an opponent.
  • Allow new filters in this system, we could independently place filters that were considered coherent.

One question, is there any way to support this project in more ways?
I thought it was wonderful how it worked.
Being able to connect to other players on a server level (not lobby/ cluster level) can be interesting to explore sometime in the future. It'd require some rethinking of how the server structure is built right now but will definitely try taking a look at it sometime after 1.0 release, as right now I'll try to focus more on ironing out everything on a more local level. But it's written down on the backlog so expect it in the future.

Everytime I type ruby Server.rb I got this message:
Ruby:
Expand Collapse Copy
ruby: No such file or directory -- Server.rb (LoadError)
It seems that you're trying to run the server from somewhere the server files aren't located. Confirm that you are trying to start the server somewhere with the server files by typing 'ls' or 'dir' and see if the 'Server.rb' file shows up. If not try navigating to the correct location with the 'cd' command.
If you're stuck on navigating in the terminal, try following this howto to learn more about navigating in your terminal.
 

SalamenceOnTop

Novice
Member
Joined
Mar 14, 2023
Posts
21
Being able to connect to other players on a server level (not lobby/ cluster level) can be interesting to explore sometime in the future. It'd require some rethinking of how the server structure is built right now but will definitely try taking a look at it sometime after 1.0 release, as right now I'll try to focus more on ironing out everything on a more local level. But it's written down on the backlog so expect it in the future.


It seems that you're trying to run the server from somewhere the server files aren't located. Confirm that you are trying to start the server somewhere with the server files by typing 'ls' or 'dir' and see if the 'Server.rb' file shows up. If not try navigating to the correct location with the 'cd' command.
If you're stuck on navigating in the terminal, try following this howto to learn more about navigating in your terminal.
It is working, but everytime I connect to the server, I get instant a timed out
 
Back
Top