PyRCon: Procon Compatible Layer Server Project (ALPHA)

eaceaser
New to forums
New to forums
Posts: 9
https://www.youtube.com/channel/UC40BgXanDqOYoVCYFDSTfHA
Joined: Wed Jan 18, 2012 11:28 am

PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

Due to my dissatisfaction with using procon, I've spent the last week or so working on a replacement layer server / evented plugin framework for BF3 that aims to be compatible with existing tools that use procon.

https://github.com/eaceaser/pyrcon

The project is currently in alpha, but I've been using it to admin my server, and it works well enough that I've destroyed my Windows EC2 instance and stopped using procon.

Right now the only administration clients that I've been using are a simple CLI tool called pyrconc that is not 100% feature complete, and the Procon iphone app. Once I finish pyrconc, I'm planning on a project to add a web interface on top of PyRCon.

There is very little documentation right now, which is the big item on my TODO list. Also, there are still a great many bugs :) But I figure there may be a few intrepid souls out there that hate the idea of using procon and may want to give this a shot and/or lend a hand.

If there is enough interest I'll keep this thread alive with the various milestones I hit along the path to production readiness.
User avatar
Edge100x
Founder
Founder
Posts: 12945
Joined: Thu Apr 18, 2002 11:04 pm
Location: Seattle
Contact:

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by Edge100x »

Neat! Thanks for the tool and for posting here, eaceaser. We have a lot of lurkers on these boards, so even if you don't see too many direct responses, I'm sure you'll have interested parties :).

If you haven't already posted there, http://www.fpsadmin.com/forum/forumdisplay.php?f=108 might also be a good place to find interested developers and get feedback. I know that DICE endorsed the "BF3 Remote Admin Tool Support" section and makes some posts there.
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

I haven't posted anywhere else yet. Thanks for the tip to post it on fpsadmins! I will do that soon.
User avatar
kraze
Former staff
Former staff
Posts: 4362
Joined: Fri Sep 17, 2010 9:06 am
Location: California

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by kraze »

Looks interesting!

Nice job :)
@Kraze^NFo> Juski has a very valid point
@Juski> Got my new signature, thanks!
@Kraze^NFo> Out of context!
@Juski> Doesn't matter!
@Juski> You said I had a valid point! You can't take it back now! It's out there!
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

I just added some slightly better docs to make it clearer how things work.
User avatar
kraze
Former staff
Former staff
Posts: 4362
Joined: Fri Sep 17, 2010 9:06 am
Location: California

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by kraze »

If this turns out to be stable enough for long term use I will let customers know about this.
@Kraze^NFo> Juski has a very valid point
@Juski> Got my new signature, thanks!
@Kraze^NFo> Out of context!
@Juski> Doesn't matter!
@Juski> You said I had a valid point! You can't take it back now! It's out there!
User avatar
woowoo
This is my homepage
This is my homepage
Posts: 208
Joined: Wed Sep 21, 2011 7:05 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by woowoo »

How will you differentiate yourself from procon? In other words how will it be different or better?
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

woowoo wrote:How will you differentiate yourself from procon? In other words how will it be different or better?
I have a little 'goals' section in my readme that is supposed to address this, but I'll expand it.

#1: Crossplatform. Procon is .net/C# which severely limits where you can run the layer server. This is the biggest issue I think. I'm sure you can run procon in Mono, but that is a pretty heavyweight requirement, and I bet you'd run into some significant issues with how it deals with plugins. On the other hand PyRCon is written in python and uses libraries that are cross-platform, so it can be run from pretty much any system. (Mac OS X, Linux, BSD, Windows)

#2: Lightweight. Procon is not only a layer server, but also a GUI with tons of features (map overlay stuff, plugin downloader, etc.). I firmly believe that a more modular design where extra features like this are written as separate components that can be mixed and matched is better for server administrators. Its far more likely that a server will be run from a headless or lower powered machine / VPS than from a powerful workstation.

Case in point: To run procon against my BF3 server I had to spin up an EC2 instance running Windows server. My only other alternative was renting a procon server from someone who had a dedicated Windows box (expensive), and thus giving up some control of how I wanted to deploy and run the server. Managing Procon through Remote Dekstop on EC2 was an extremely painful experience, as things slowed down dramatically when it had to redraw the UI, etc.

By design PyRCon is a console server/daemon process that is communicated with via external clients.

#3: Better plugin / module API. Writing a plugin for Procon is currently a terrible experience. Rather than exposing an API and providing a DLL that you can link against, Procon requires plugins to be written as C# code that is compiled at run time. Procon even invented their own C# preprocessor flag (#include) to get around the fact that they do this really weird runtime compilation stage that doesn't support multi-file compilation. Although you CAN build externally in order to debug, you still can't do things like link against another library, have a multi-file build process, or actually know whether or not your plugin will work until its run in procon, which, because of points #1 and #2, can be an annoying, difficult, or impossible process depending on whether you have remote desktop access to the server that is running it.

PyRCon doesn't have to deal with alot of these issues because Python is an interpreted language. But I don't want to restrict plugins from not being able to link against other libraries, etc.

Hopefully this begins to answer your questions. I'll reformat this and add it to the README.
FAST
This is my homepage
This is my homepage
Posts: 340
Joined: Sat Dec 10, 2011 11:43 pm
Location: Toronto, Canada

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by FAST »

sounds and looks sick, nice work
.=QUACK=.Major.Pain
This is my homepage
This is my homepage
Posts: 1573
Joined: Sun Jun 26, 2011 8:03 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by .=QUACK=.Major.Pain »

Took a look but no clue on how to install.
Beyond my skills at the moment.
Visit gspreviews.com And Rate & Review Your Old & Current GSP's
Find Your GSP Coupons at gspreviews.com/coupons/
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

.=QUACK=.Major.Pain wrote:Took a look but no clue on how to install.
Beyond my skills at the moment.
Yeah due to the rapid pace of development there is no real "install" process yet outside of downloading and running the code. I'll put together a quick start guide soon.
Colt
This is my homepage
This is my homepage
Posts: 99
Joined: Mon May 09, 2011 7:17 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by Colt »

cant wait to see the finished product.
_p1_
A semi-regular
A semi-regular
Posts: 25
Joined: Fri Dec 17, 2010 8:58 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by _p1_ »

+1 for python

will take a look very very shortly, thanks for your efforts.
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

Been a little busy with work over the past few week, so I haven't really done much outside of add docs. I'll be able to spend alot of time this weekend working on it so I'll try to have a 'release' by the end of the weekend.
eaceaser
New to forums
New to forums
Posts: 9
Joined: Wed Jan 18, 2012 11:28 am

Re: PyRCon: Procon Compatible Layer Server Project (ALPHA)

Post by eaceaser »

I just edited the docs a bit to provide a quick start guide, and posted about the project on fpsadmin.com
Post Reply