Centralized Game Hosting

We are always looking for new tools to create to help facilitate the table top gaming experience. Let us know if you have an idea for a new gaming tool you'd like to see. (Note: this is NOT for feature requests on existing tools!)

Moderators: dorpond, trevor, Azhrei

Post Reply
RobCarleski
Kobold
Posts: 1
Joined: Wed Jun 08, 2011 8:06 pm

Centralized Game Hosting

Post by RobCarleski »

Hi everyone!

My brother called me up for a little tech support the other night as he was having problems getting a maptool server up and running. It seems to me that it could benefit from running on a centralized server hosted someplace, rather then running in an ad-hoc style kind of network like it is now. I've also heard a few reports of problems with ISP's blocking the software, out-of-date java on machines, firewall issues etc. etc. What would you think about being able to run a dedicated maptool server hosted at a centralized location, instead of being hosted peer-to-peer? I don't see a way to do it right now (without getting a box with a GUI), and I'm willing to bet that it would be pretty beneficial to everyone.

I should also mention that I run a web hosting business, and would be happy to make any accommodations that might need to be made.

tl;dr -- Centralized game hosting for maptool would be more reliable and stable then it's current p2p setup. I have servers and would be amped to help.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Centralized Game Hosting

Post by Azhrei »

I think this would be great. As you point out a GUI is needed to start a server and that could be a problem -- how can a remote user assign a server name, password, and so on, and do that remotely?

Someone here on the forum was making some patches to be able to run MT "headless" (without a GUI). His solution, IIRC, was to patch the main program so that his server information was hard-coded in the application! That's obviously useful for a proof-of-concept but not for general use.

My post to that thread was that we needed an "export" button on the Start Server dialog that would take the current contents of window and write them to XML so that when MT is started from the command line it could be given the name of that XML file and would use it to automatically start a server with that configuration. This isn't really a very difficult patch, but unfortunately it's not a complete solution -- there are various places in MT where messages popup (such as the backtraces that show up when an exception occurs) and that code would need to be fixed.

psychopez
Kobold
Posts: 6
Joined: Tue Jun 29, 2010 12:41 pm

Re: Centralized Game Hosting

Post by psychopez »

I'm a player in said game, and ever since the incident in question I've been chewing on this problem as well.

Note: I am a Java developer but have not poked/looked at the Maptool code.

I figured it would be non-trivial but doable to automate a server. Give the path to a cmpgn file, as well as all the parameters on the start server screen, and have the batch tickle the same spot of the code the start server dialog does with the params.

And I figured the error messages and other popups would cause issues. Glad to see the theoretical issues I was thinking about are actual ones coming from the big man himself.

I'll stop speaking in theory craft here, maybe point Eclipse at the code when I get home and poke around some more.

I wonder if a different solution is to have a seperate executable that just does server. I don't know how the .jars are organized, but if what's needed for a server are isolated in their own jars, might it make sense to have mtserver?

Bah, sorry, enough theory craft.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: Centralized Game Hosting

Post by Azhrei »

psychopez wrote:I figured it would be non-trivial but doable to automate a server.
The basic stuff would be pretty simple. We already use XStream to read/write XML files and XStream is object-based so just open a file and give it a POJO and you're done.

You're right that a campaign file would be needed as well, so a new class that contains an instance of the StartServerDialog and/or StartServerPreferences, and an instance of a string for the campaign filename, and that should be it.
And I figured the error messages and other popups would cause issues. Glad to see the theoretical issues I was thinking about are actual ones coming from the big man himself.
Heh. :)

It should be pretty easy to defer the GUI part of the exception handler by checking GraphicsEnvironment.isHeadless() and throwing away the popup if that is true. (I have the right method name but perhaps it's in a different class...?)
I wonder if a different solution is to have a seperate executable that just does server. I don't know how the .jars are organized, but if what's needed for a server are isolated in their own jars, might it make sense to have mtserver?
The MT server is not separated out. In fact, each instance of MT is sort of a "mini-server". Each client computer is doing all of the work, but also forwarding it to the actual game server. So all of the work is done both locally and remotely. This makes it impractical to separate them with the way the code is currently structured.

It would be possible to do some refactoring and eliminate the GUI portion, but it has its tentacles spread throughout the code so it would involve some heavy lifting. :|

Inusun
Kobold
Posts: 3
Joined: Sun Mar 29, 2009 11:00 am

Re: Centralized Game Hosting

Post by Inusun »

Technically speaking you could have a centralized server right now using the current version of MapTool. It would be a little on the expensive side however. By purchasing a dedicated windows server and pay $60+/mo. You could remote desktop into the windows server start MapTool with your campaign file. Then logout of remote desktop and launch a gm instance of MapTool on your local machine.

As for the command line launching of MapTool. Can't you pass arguments into a Java applet? ie:

/path/to/java /path/to/maptool <server> <gm_pass> <player_pass> <campaign>

ewilde1968
Kobold
Posts: 4
Joined: Tue Nov 22, 2011 2:40 pm

Re: Centralized Game Hosting

Post by ewilde1968 »

RobCarleski wrote:Hi everyone!

My brother called me up for a little tech support the other night as he was having problems getting a maptool server up and running. It seems to me that it could benefit from running on a centralized server hosted someplace, rather then running in an ad-hoc style kind of network like it is now. I've also heard a few reports of problems with ISP's blocking the software, out-of-date java on machines, firewall issues etc. etc. What would you think about being able to run a dedicated maptool server hosted at a centralized location, instead of being hosted peer-to-peer? I don't see a way to do it right now (without getting a box with a GUI), and I'm willing to bet that it would be pretty beneficial to everyone.

I should also mention that I run a web hosting business, and would be happy to make any accommodations that might need to be made.

tl;dr -- Centralized game hosting for maptool would be more reliable and stable then it's current p2p setup. I have servers and would be amped to help.
This question is great and, I think, really gets to the heart of where I see RPTools as self-limiting. The approach for the tool set is very 1990s. It assumes a static campaign with a static number of players and a static rule set. That just isn't my experience with gaming, particularly as "tabletop" RPGs move into the online world with G+ Hangouts and the like.

What would be interesting is to really think of RPTools as a whole bunch of whatever tools (mapping, monster database, character database, etc) that builds a view layer over the top of an online database. That database should contain the basic schemas needed to articulate a character, creature, class, map, encounter, etc. Its the database that's key. Then build small, lightweight applications intended to be solely views (with maybe a little business or controller logic) on top of the online database.

This gets you easier portability to new platforms, easier plugins for new game systems, a way to share entire encounters or campaign settings replete with NPCs and the like; and, most importantly, a way to control distribution of content so that the entire endeavor can pay for itself without charging users a penny in order to play.

Interested in hearing more, drop me a private message.

User avatar
jfrazierjr
Deity
Posts: 5176
Joined: Tue Sep 11, 2007 7:31 pm

Re: Centralized Game Hosting

Post by jfrazierjr »

ewilde1968 wrote: This question is great and, I think, really gets to the heart of where I see RPTools as self-limiting. The approach for the tool set is very 1990s. It assumes a static campaign with a static number of players and a static rule set. That just isn't my experience with gaming, particularly as "tabletop" RPGs move into the online world with G+ Hangouts and the like.

What would be interesting is to really think of RPTools as a whole bunch of whatever tools (mapping, monster database, character database, etc) that builds a view layer over the top of an online database. That database should contain the basic schemas needed to articulate a character, creature, class, map, encounter, etc. Its the database that's key. Then build small, lightweight applications intended to be solely views (with maybe a little business or controller logic) on top of the online database.

This gets you easier portability to new platforms, easier plugins for new game systems, a way to share entire encounters or campaign settings replete with NPCs and the like; and, most importantly, a way to control distribution of content so that the entire endeavor can pay for itself without charging users a penny in order to play.

Interested in hearing more, drop me a private message.
One thing to note, is that the very thing you call self-limiting, others see as a critical feature. While there may be a number of people who do have always on connections, there are a very large number of people here who use Maptool soley for Face to Face gaming as a "better" battle mat. I am one such person.

I play with my face to face group using either a projector or TV connection and while it's nice to have an internet connection during play, it's not required by Maptool and I love it just for that feature. There have been several times (typically "right" after an OS reinstall) where I went to our game host's place and had issues getting online(and finally game up). Since we only game once a month(if that!), I would be supremely PO'ed to get to a game and not be able to play due to lack of internet availability. This is one of the primary reasons I still use the old D&D 4E character builder, because it's on my machine and it still works even when I can't get an internet connection.

Granted, I don't have any problem with someone taking the time to make a headless server or even possibly someone providing a hosting solution, but I would draw the line when someone said that online was the ONLY way I could use their tool.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.

Get your Dropbox 2GB via my referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..

Phergus
Deity
Posts: 7132
Joined: Fri May 12, 2006 8:56 pm
Location: Middle of Nowhere, NM
Contact:

Re: Centralized Game Hosting

Post by Phergus »

ewilde1968 wrote:This question is great and, I think, really gets to the heart of where I see RPTools as self-limiting. The approach for the tool set is very 1990s. It assumes a static campaign with a static number of players and a static rule set.
You just really couldn't be more wrong.

I have no use at all for a MapTool that requires a connection to the net. We had no internet access at our main gaming location for years and used MT just fine. We played with as few as 3 and and as many as 9 players there with multiple GMs supporting a half-dozen RPGs.
ewilde1968 wrote:What would be interesting is to really think of RPTools as a whole bunch of whatever tools (mapping, monster database, character database, etc) that builds a view layer over the top of an online database. That database should contain the basic schemas needed to articulate a character, creature, class, map, encounter, etc. Its the database that's key. Then build small, lightweight applications intended to be solely views (with maybe a little business or controller logic) on top of the online database.
I do agree that MapTool should support pulling data from databases but it needs to support offline (.ODB, .MDB, whatever...) as well as online.

What MT needs to do is be the best virtual battlemat possible. Everything else is fluff.

ewilde1968
Kobold
Posts: 4
Joined: Tue Nov 22, 2011 2:40 pm

Re: Centralized Game Hosting

Post by ewilde1968 »

Phergus wrote: What MT needs to do is be the best virtual battlemat possible. Everything else is fluff.
This is probably the most succinct statement of MT's mission I've seen. I understood this fact after speaking with one of the regular developers in the group on the phone. Its a mission I'm not really interested in getting behind as I and most of the folk with whom I game have no use for a battlemat. Its a different style of play entirely.

I think some of the comments in the thread are missing my point of the critical nature of standardizing and sharing the data behind the game. There is a use case for being offline while at the table, though in my experience that use case is not well founded. In addition, in my first prototype it has an online database (MongoDB) and a local backup (mySQL.)

No worries. We have different goals. So be it. Best of luck to you and all who game in their own way.

Post Reply

Return to “Ideas for New Applications”