AbiathRPC: real-time Internet level editing collaboration with Abiathar

Here is where to post about the latest Commander Keen fangame or modification you've finished, a new website you've made, or another Keen-related creation.
Post Reply
User avatar
Fleexy
Tool Smith
Posts: 1353
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Fleexy » Wed Mar 15, 2017 1:32

Abiathar has always had the ASLEV format for sharing single levels, but what if you want to collaborate on the same level at the same time with no sending of files back and forth?

Enter AbiathRPC, "Abiathar" plus "RPC" (Remote Procedure Call). It has two components: a server program and an Abiathar extension. The server runs on any machine that's reachable from the Internet. The authoritative levels are kept server-side, as are the tile graphics that are sent to connecting clients. The Abiathar extension fiddles with the internals of Abiathar to make changes apply to the server as well as the local application.

Download AbiathRPC

Client guide
Required files: AbiathRPC.aex, ARpcBind.dll, all normal Abiathar files

You might have to "unblock" the AEX file in its properties window before Abiathar can load it. When AbiathRPC loads, a Connect AbiathRPC menu item appears under File. Use it to connect to a server. You can authenticate using a username/password combo or a VeriMaps certificate (if you have one).

Level editing works as normal. Tileinfo editing works if the server is configured for it. AbiathRPC doesn't currently support the vast Abiathar feature set, so a lot of items are grayed out when connected to a remote level set. The most notable thing is that undo/redo does not work for RPC level sets. There's no need to save; changes are constantly sync'ed with the server, and other editors' updates will appear live as they're made.

Server guide
Required files: AbiathRPC Server.exe, FMod.dll, Interop.dll, ARpcBind.dll, abiathrpc.aconf, all your resource files

The .aconf file contains the server configuration. It's commented, so it should be pretty clear what all the things do. In the download, there's an example set of Keen 5 files preconfigured. You can replace files and adjust the config file as appropriate to host your own. Note that the tileset images must be non-grouted KeenGraph-style bitmaps.

If you want to exert more control over the client experience, you can set the ClientAdeps config entry to the filename of a text file that contains an ADEPS fragment that will be merged at the client when it loads the remote level set. The download, for example, uses this feature to correctly set the number of infoplane tiles.

The default username and password are "admin". You can add/edit/remove accounts in the config file or with the GUI administration tools (under the RPC menu when connected). Leave a user's password blank to only allow VeriMaps authentication for them.

Level and tileinfo changes are written to disk every ten minutes. Pressing a key on the server app saves and exits; clicking the X button on the window just exits, careful!

___

It's amazing to think that Abiathar is three years old now, and some other tools I think of as "new" are also a ways in the past. "♪ I don't remember growing older, when did they? ♫" Happy Keen Day, everyone, and happy modding!

Fleexy

User avatar
Quillax
Vortininja
Posts: 99
Joined: Sat Mar 14, 2015 14:41
Contact:

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Quillax » Wed Mar 15, 2017 2:11

I haven't tried this out yet, but it seems really neat, though! I can see this being very useful to many people. :)

User avatar
KeenRush
Android Dummy
Posts: 2516
Joined: Sat Oct 27, 2007 20:57
Location: KEEN1.EXE
Contact:

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by KeenRush » Wed Mar 15, 2017 5:41

Gotta get the squad ready! 8) Wait... I work alone. :( But seriously speaking, sounds awesome and useful. If I had a K4-6 project and a team I would put it to use.
My newest mod - Planet Of Agony: https://pckf.com/viewtopic.php?t=4165 | codename H.Y.E.N.A.

User avatar
Nisaba
Vorticon Elite
Posts: 772
Joined: Fri Jan 01, 2016 23:34
Location: The Outpost
Contact:

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Nisaba » Wed Mar 15, 2017 12:54

@KeenRush: simply join in: https://pckf.rigeltechnical.com/viewtop ... f=4&t=4027 ;)

seriously this looks like an interesting-looking opportunity to me.
but I've got still two questions remaining:
1) What about backups in case someone screwed up something really badly?!
2) Can we host abiathar-team-projects on the keenmodding.org server?
"We have come to conquer you all and bring you lots of candy!" | about me | my current project: play Keen mods on a GameBoy |

User avatar
Fleexy
Tool Smith
Posts: 1353
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Fleexy » Wed Mar 15, 2017 19:23

Nisaba wrote:
Wed Mar 15, 2017 12:54
but I've got still two questions remaining:
1) What about backups in case someone screwed up something really badly?!
2) Can we host abiathar-team-projects on the keenmodding.org server?
The server does not currently keep a revision history, though that could be a useful feature. Clients can, however, use the Download option (under the RPC menu) to make a local copy of the current state of the server's resources. Another strategy would be to keep the server-side files in a Dropbox folder so every checkpoint is automatically preserved.

I wish I could provide a permanent public AbiathRPC server, but alas, I have no Windows server space. These forums are on Linux, and I cannot install the necessary compatibility infrastructure on this server. If someone had the equipment, I would be happy to point a subdomain at it!

User avatar
Bubzrulz
Vortininja
Posts: 49
Joined: Wed Dec 21, 2016 13:21

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Bubzrulz » Tue Mar 28, 2017 9:08

added this extension for future use and i noticed that the save box when u close the program disappeared deleted extension and it came back so if anyone useing this extension make sure you manually save before closing

User avatar
Fleexy
Tool Smith
Posts: 1353
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Re: AbiathRPC: real-time Internet level editing collaboration with Abiathar

Post by Fleexy » Tue Mar 28, 2017 14:08

Hmm, I'm unable to reproduce this behavior. It is supposed to suppress the save dialog when working with remote level sets (since the client doesn't actually have the levels in a state usable with the vanilla Abiathar saving mechanism), but the confirmation should be unaffected when working with local sets. Could you please produce a specific set of steps that leads to the confirmation not showing up when it's supposed to?

Post Reply