Unfortunately, I didn't have the time to maintain this project any more. Due to changes in RPG Maker and PHP, the plugin no longer works. So I removed the download links. Thank you for your interest and support.
CBAM V0.9.2
by Purzelkater
Introduction
The CBAM system gives you the ability to create asynchronous multiplayer games with server based savegame storage. If you don't know what asynchronous multiplayer means, take a look at the FAQ.
To use CBAM you need - beside the RPG Maker MV of course - a server to store and execute the php scripts as part of the CBAM system.
The CBAM system is based on my first plugin, the
Cloud Manager but with plenty of enhancements.
I highly recommend you to take a look on the tutorial thread.
Installation Instruction
The Cloud Based Asynchronous Multiplayer system comes with 3 files:
- cbamm.php - The CBAM Manager script for server side managing
- cbam.php - The server script, handles all plugin functions
- CBAM.js - The RPG Maker plugin
- Open cbamm.php on an editor and change username and password for login.
You can skip this step and use the default values (username Admin and blank password).
- Copy cbamm.php and cbam.php on your server.
- Open a browser and call cbamm.php. Now you should see the CBAM Manager login screen.
With the first call the script should create your CBAM database (cbam.sqlite).
- Login and hit the "Initialize database" button on the left side menu to create the database tables as needed.
- Copy CBAM.js to your js/plugin folder and add the plugin on the PluginManager. Then setup the plugin properties.
For further instructions look at the tutorial thread!
IMPORTANT: As long as the CBAM plugin is active your game needs a semi-permanent connection to your server to run.
HINT: If you have a server connection as needed but CBAM won't work, check the permissions of your scripts and database file.
To use CBAM on your game you need a server, with some requirements:
- >=PHP 5.6 (maybe other versions would work but not tested)
- SQLite3 database driver
- PHP PDO support for SQLite (pdo_sqlite)
For simplification the CBAM system is using SQLite database for storage instead of MySQL. SQLite needs no special database server setup and uses just a simple file (you can easily save for backup). But if you like - and for security reasons - it should be easily to change to other database backends.
Credits
- Tsukihime for the incredible HIME Party Manager and some hints behind
- izyees and mrcopra for their help with common events
- Yanfly for inspiration on external links
- Iavra for giving me some knowledge about plugin writing
- GameDev@YouTube for all the helpful tutorials
- quackit.com for the CBAM Manager HTML base template
- pixabay.com for free image resources
Screenshots
Well, you can see a lot of screenshots on the
tutorial. But I can show you a little video of how CBAM works. Beware, it's made with an old beta version of CBAM and just shows the quicksave/timer function.
Frequently Asked Questions
Spoiler
Q: Is this some kind of MMO?
A: Definitive no. Period. A basic feature of a MMO (or just online multiplayer) is, several player can join and play the game simultaneously. This ist not the intention for this plugin.
Q: What does "asynchronous multiplayer" mean?
A: This type of game can be described as a turn-based multiplayer gameplay between two or more players that can check in and play their turn when it's convenient. Similar to play-by-mail games and, more electronically, play-by-email or play-by-post forum games.
Typical examples are trading card games or tabletop/board games.
Q: How will "asynchronous multiplayer" work on CBAM?
A: With CBAM all players concerned on a game will share the same savegame. Every player who joins the game will load the same, latest saved game. Although several player can join the game and load the same savegame on the same time, only one of them has the ability the save the game too. Moreover every player can have it's own actor on the game.
Important: After the game was joined and the savegame was loaded, all players "play" their own game stand-alone. One player doesn't notice any others until the game was saved and new loaded.
Q: What's the matter with this party modes?
A: The simplest mode (0=none) is just a savegame sharing. On this mode, CBAM will not make any change on players party. However, it's the best way for a real multiplayer experience too. But later on that.
With the re-group mode (1) the player party will new sorted every time a player joins the game. The members of the party are the same but the players actor will become the leader (first person) of the party.
Only one actor (2) goes one step further and kicks all actors from the player party except the players one.
Q: Your where talking about a "real multiplayer experience"?
A: Yes, CBAM can highly benefits from the incredible HIME Party Manager. If you add this plugin to your project too, every player can have it's own player party. Every player can be on a different place on a different map but other players can see them there. And players can merge there parties too. CBAM can activate the current player actor party every time a player joins the game.
Q: Why cloud based?
A: Well, of course you could save a game and send it to the next player like on good old play-by-email games. But CBAM makes it easier. All savegames are stored on one server. Wherever you are you can play the game immediately (if you have an internect connection). And without server side storage keep the savegame up-to-date would be a pain, believe me.
Q: What's the difference between active, passive and guest mode?
A: Only one player can be an active player at the same time in the game. Not before this player has left the game (or the admin has taken this state) another player can join the game as an active player. Only the active player has the ability to save the game - even if you try to execute the save function, the server will check if you are realy the active player right now.
Beside the active player several other players can join the game at the same time but they are all passive players then. As a passive player they can't save a game and have lesser options on the ingame command menu. But as passive player you can move around the map as you like (by default).
A guest is a user who has joined the game without login. As guest has no access to the command menu (only back to title is an option) and of course a guest can't save a game. Like passive players there can be several guest on the game at the same time.
It's possible to disable passive player and/or guests.
Q: Who needs an admin?
A: By default an admin has some special rights on the game. As an admin you can kick the active player (e.g. if the game was crashed). If the player has joined the game at this time he becomes an passive player.
As an admin your are able to restart a game (overwrite the savegame with a new once) or rewrite the server settings of a game. Because the admin state can be checked on the game it can be used on game events too, if you like.
Q: What's about security?
A: We are talking about cheating here. Well, RPG Maker MV was not made to be a high securtiy multiplayer engine. And with some knowledge it's easy to get a whole bunch of information from a game. And I'm sure CBAM has security gaps as big as an aircraft carrier in this case. But like a game on a table with friends, I hope others will play fair.
Additional Notes
The plugin overwrites the title menu, command menu and load/save scene. So have a look at this, if you want to customize them with other plugins.
Terms of Use
CBAM files are distributed as is under the creative commons license CC BY 3.0 (Attribution 3.0 Unported) for free.
You are free to share, copy, redistribute or edit them for any purpose, even commercially under the following terms: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The pictures as part of the CBAM Manager script are inline images under the creative commons license CC0, free to use for all purposes.
Download / Changelog
CBAM V0.9.0, 2016-03-19: First release
CBAM V0.9.1, 2016-03-29: Small bugfix, only to correct console output
CBAM V0.9.2, 2016-04-02: New load and reworked save command for easy active player switching
本贴来自国际rpgmaker官方论坛作者:Purzelkater处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/cbam-cloud-based-asynchronous-multiplayer.58979/