• Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Voltseon's Multiplayer Solution

Resource Voltseon's Multiplayer Solution 1.0

Hello!
I was hoping to see if you wouldnt mind me using some of this?
I have been working on a wonderbox/online trade for infinite fusion, and was surprised to see this!
Yeah totally, the script is completely free to use, it's a public resource intended for anyone who would like to use it!
It is working, but everytime I connect to the server, I get instant a timed out
I'm unsure as to what could be causing this, could you perhaps provide more information and details as to what is happening? Is the server running correctly and have you confirmed that both the server and the plugin are using the correct hostname and port?
Does it work in version 20.1 or only in 21?
I have not tested it in older versions of Pokemon Essentials, however I am pretty sure it shouldn't work on the older essentials versions and currently only on v21 and v21.1. I have put this as a backlog item as seen on the todo list.
 

SalamenceOnTop

Novice
Member
Joined
Mar 14, 2023
Posts
21
Yeah totally, the script is completely free to use, it's a public resource intended for anyone who would like to use it!

I'm unsure as to what could be causing this, could you perhaps provide more information and details as to what is happening? Is the server running correctly and have you confirmed that both the server and the plugin are using the correct hostname and port?

I have not tested it in older versions of Pokemon Essentials, however I am pretty sure it shouldn't work on the older essentials versions and currently only on v21 and v21.1. I have put this as a backlog item as seen on the todo list.
just tested it again and it looks like its working
 
Voltseon updated Voltseon's Multiplayer Solution with a new update entry:

Voltseon's Multiplayer Solution version 1.0

This is it, the full release!
This update merely acts as a larger patch for version 0.9 to Iron Defense out some of the Bug Buzzes. However some new features have been added alongside some optimizations.

Changelog:
  • Added support for game and version authentication by the server.
  • All data is further compressed with ‘zlib’ to ensure that packets aren’t too large.
  • Added ‘Online Variables’ which are essentially variables that are shared between all players in a cluster.
    • ...

Read the rest of this update entry...
 

MakerBlack

Trainer
Member
Joined
Nov 23, 2020
Posts
85
I'm really looking forward to the results of the next versions and thinking a lot about the PVP that is coming, thanks to this I came up with a system that is necessary for a community to stay tuned.

It would be great to have a spectator system to watch the battle against other players or even for developers to allow us to spectate a match that could be part of a particular tournament.

Wow, that would be amazing, what do you think of that?
 

Willøw

Mew and Slither Wing Fan
Member
Joined
Nov 1, 2023
Posts
95
I'm really looking forward to the results of the next versions and thinking a lot about the PVP that is coming, thanks to this I came up with a system that is necessary for a community to stay tuned.

It would be great to have a spectator system to watch the battle against other players or even for developers to allow us to spectate a match that could be part of a particular tournament.

Wow, that would be amazing, what do you think of that?
The best way to make a spectator would be to make the spectator's sprite invisible and if there is a way to get the physics out of it to get through things, you would have to do a whole scripting session for that.
But watching the battle itself, I don't think that's possible, since you would have to participate indirectly in the battle but without interfering or having your Pokémon join in.
 

MakerBlack

Trainer
Member
Joined
Nov 23, 2020
Posts
85
The best way to make a spectator would be to make the spectator's sprite invisible and if there is a way to get the physics out of it to get through things, you would have to do a whole scripting session for that.
But watching the battle itself, I don't think that's possible, since you would have to participate indirectly in the battle but without interfering or having your Pokémon join in.
Yes, initially in battle!
Basically spectating Player1 could be the opening of a battle scene and receive the actions he has committed and suffered during a battle. Without the player necessarily having access to use the movements, just turning off spectator mode.
I'm not the most knowledgeable about Online Systems yet, but I think it's a promising idea!
 

ardicoozer

Cooltrainer
Member
Joined
Sep 29, 2020
Posts
150
Sorry, if I don't get it about multiplayer online system..
I want to ask,
Can I use VPS for access multiplayer features?
 

lemiho19

Master Of Games
Member
Joined
Apr 23, 2023
Posts
16
ok so when i run ruby Server.rb i get the no such file or directory error
when I right click server.rb and open with ruby Interpreter it opens a cmd box but closes it without running anything

I put my Ip in the host = 192.168.#.### (obliviously the actual numbers)
the port i kept the same but i went into my firewall and opened it if it wasnt

I reinstalled ruby first time I did just for specific user then I did for all users so its C:\Ruby32-x64

I'm not sure what more information would be helpful but ill provide it
I've also tried the full path ruby C:\Users\nateh\Desktop\Pokemon-game\Game18.1-2\Server\Server.rb no such file or directory

and this also happened once
Screenshot (68).png
 
Last edited:

lemiho19

Master Of Games
Member
Joined
Apr 23, 2023
Posts
16
ok so when i run ruby Server.rb i get the no such file or directory error
when I right click server.rb and open with ruby Interpreter it opens a cmd box but closes it without running anything

I put my Ip in the host = 192.168.#.### (obliviously the actual numbers)
the port i kept the same but i went into my firewall and opened it if it wasnt

I reinstalled ruby first time I did just for specific user then I did for all users so its C:\Ruby32-x64

I'm not sure what more information would be helpful but ill provide it
I've also tried the full path ruby C:\Users\nateh\Desktop\Pokemon-game\Game18.1-2\Server\Server.rb no such file or directory

and this also happened once
View attachment 26876
so well I think its working now I had to go into config.rb and force the file path to config.ini I still cannot run it with rightclick and open with ruby terminal
but when I do ruby file\path\server.rb it now says [10/03/2024 - 07:46:30] Server started on 192.168.#.###:25565.

im so close to having the server working with 18.1-2 but i could use help with this section
code:
def self.generate_player_data
    # Generate party data
    party = []
    #$Trainer.party.each do |pkmn|
     # party.push(VMS.hash_pokemon(pkmn))
   # end
    # Generate player data
    data = {}
    data[:cluster_id]         = $game_temp.vms[:cluster] || -1        # What cluster to connect to
    data[:id]                 = $player.id                            # Player ID
    data[:heartbeat]          = Time.now                              # Used to calculate ping
    #data[:title_name]          = System.title_name                     # The name of the game
    #data[:game_version]       = Settings::GAME_VERSION                # The version of the game
    data[:online_variables]   = $game_temp.vms[:online_variables]     # Online variables
    data[:party]              = party
    data[:name]               = $Trainer.name
    #data[:trainer_type]       = $Trainer.trainer_type
    data[:map_id]             = $game_map.map_id
    data[:x]                  = $game_player.x
    data[:y]                  = $game_player.y
    data[:real_x]             = $game_player.real_x
    data[:real_y]             = $game_player.real_y
    data[:direction]          = $game_player.direction
    data[:pattern]            = $game_player.pattern
    data[:graphic]            = $game_player.character_name
    data[:offset_x]           = $game_player.x
    data[:offset_y]           = $game_player.y
    data[:opacity]            = $game_player.opacity
    data[:stop_animation]     = $game_player.walk_anime
   # data[:animation]          = $scene.spriteset.getAnimationSprites if $scene.is_a?(Scene_Map) && $scene.spriteset
    #data[:jump_offset]        = $game_player.screen_y_ground - $game_player.screen_y - $game_player.y_offset
    #data[:jumping_on_spot]    = $game_player.jumping_on_spot
    #data[:surfing]            = $PokemonGlobal.surfing
    #data[:diving]             = $PokemonGlobal.diving
    #data[:surf_base_coords]   = $game_temp.surf_base_coords || [nil, nil]
    data[:state]              = $game_temp.vms[:state]
    data[:busy]               = !VMS.interaction_possible?
    return data
  end
whats hastaged out isnt working yet but i can connect to the server look here
Screenshot (69).png

i couldnt see my other self tho (i ran 2 players on the same device)

im not sure if encrypting is important but it was not Accepting the IV's so i removed the encryption (figured its to stop hacking but what do i know... probably nothing) also i had to remove the menu stuff, kept saying i was passing 3 arguments instead of 2 or 1 instead of 2 so for now im just working on visibility
 
Last edited:

notminiac

Novice
Member
Joined
Feb 24, 2024
Posts
18
This plugin looks AMAZING! Tested it out with a couple of friends and it worked wonders. The only problem is that it doesn't seem compatible with the unofficial port of Elite Battle Deluxe (21.1).

Could it be possible to add compatibility with the plugin? I saw someone suggest the same thing in the Trello backlog, so I'd ask the same if it's possible.. Very much appreciated! You really are making reality the dream of many people, including me.
 

ThatDudeFrom95

Rookie
Member
Joined
Mar 9, 2024
Posts
2
Hi there!
I managed to implement it in v21 but somehow the battles just don't work. The players can explore together and even trade correctly but whenever we try a battle the following error ocurred (debug console):

"VMS: Connected to server
Exception `TypeError' at [Voltseon's Multiplayer Solution] 003_VMS_Battle_Handler.rb:6 - no implicit conversion of String into Integer
VMS: An error occurred whilst battling."

This v21 build is a clean one, without any mods/plugins or modifications.
Can someone help me with this issue?

Thanks in advance!
 

notminiac

Novice
Member
Joined
Feb 24, 2024
Posts
18
Hi there!
I managed to implement it in v21 but somehow the battles just don't work. The players can explore together and even trade correctly but whenever we try a battle the following error ocurred (debug console):

"VMS: Connected to server
Exception `TypeError' at [Voltseon's Multiplayer Solution] 003_VMS_Battle_Handler.rb:6 - no implicit conversion of String into Integer
VMS: An error occurred whilst battling."

This v21 build is a clean one, without any mods/plugins or modifications.
Can someone help me with this issue?

Thanks in advance!
Do you have Elite Battle Deluxe? I'm getting the same error.. If you don't, it might be a problem of the plugin.
 

ThatDudeFrom95

Rookie
Member
Joined
Mar 9, 2024
Posts
2
Do you have Elite Battle Deluxe? I'm getting the same error.. If you don't, it might be a problem of the plugin.
I have a clean version, without any additional plugins.. It may be a problem in the code of the plugin. I tried to fix it, but each time I fixed one error, a bunch would pop-up ahahaha

Waiting for Lord Voltseon to check this out 🙏
 
Back
Top