Jump to content

How to run a Procon Layer on Ubuntu (Linux)

Recommended Posts

Hi there guys, i find this tutorial very userful for those who whiches to host their own Layer on an Ubuntu Server.

This tutorial has been extracted from MyRcon (Old WebSite) and updated by MARL, so all credits goes to him for taking sometime to update and write everything down.


I've gone ahead and updated some of the info.

So lets Begin;


Works with:

Ubuntu 14.04

Ubuntu 16.04

Ubuntu 18.04


First step, make sure you have those installed on your Sys.


  1. mono-2.0-service (mono-complete also works)
  2. libmono-winforms2.0-cil
  3. mono-mcs
  4. supervisor
  5. nano
sudo apt-get install mono-2.0-service ///OR/// sudo apt-get install mono-complete
sudo apt-get install libmono-winforms2.0-cil
sudo apt-get install mono-mcs
sudo apt-get install supervisor
sudo apt-get install nano

After that, we make a new Directory in order to put our Procon Files.

mkdir /home/procon
cd /home/procon

Download Latest Procon Version ( -> http://myrcon.net/topic/2-procon-1x/

Upload the files thru FTP (Filezilla, Winscp) your choise.


After that, 

unzip procon_1.5.1.1.zip

Once we done extracting all files, we need to emulate the Console in order to create the configs file.

mono PRoCon.Console.exe

Press any key to stop the process.


Now go to the “Configs†folder and open the procon.cfg

cd Configs
nano procon.cfg

It will look like this:

// This config will be overwritten by procon.
procon.private.window.position Maximized 388 138 1182 811
procon.private.options.setLanguage "au.loc"
procon.private.options.chatLogging False
procon.private.options.consoleLogging False
procon.private.options.eventsLogging False
procon.private.options.pluginLogging False
procon.private.options.autoCheckDownloadUpdates True
procon.private.options.autoApplyUpdates False
procon.private.options.autoCheckGameConfigsForUpdates True
procon.private.options.showtrayicon True
procon.private.options.minimizetotray False
procon.private.options.closetotray False
procon.private.options.allowanonymoususagedata True
procon.private.options.runPluginsInSandbox True
procon.private.options.allowAllODBCConnections False
procon.private.options.allowAllSmtpConnections False
procon.private.options.adminMoveMessage True
procon.private.options.chatDisplayAdminName True
procon.private.options.EnableAdminReason False
procon.private.options.layerHideLocalPlugins True
procon.private.options.layerHideLocalAccounts True
procon.private.options.ShowRoundTimerConstantly False
procon.private.options.ShowCfmMsgRoundRestartNext True
procon.private.options.ShowDICESpecialOptions False
procon.private.httpWebServer.enable False 27360 ""
procon.private.options.statsLinkNameUrl Metabans http://metabans.com/search/%player_name%
procon.private.options.pluginMaxRuntime 0 59
procon.private.options.UsePluginOldStyleLoad False
procon.private.options.enablePluginDebugging False

At the end of the line, add your BF4 server details:

procon.private.servers.name "BF4 SERVER IP" RCONPORT "Your BF4 Gameserver Name"
procon.private.servers.add "BF4 SERVER IP" RCONPORT "RCON-PWD"

Make sure to change "BF4 SERVER IP" to your Battlefield 4 server Ip Address, Same goes with the Rconport.


As of Procon version, you can copy the procon.cfg above (except for the servers details, of course)
or change this manually:
Set the languges:
procon.private.options.setLanguage "au.loc"

And set those lines to “False†otherwise it will crash

procon.private.options.runPluginsInSandbox False
procon.private.options.autoCheckDownloadUpdates False
procon.private.options.autoApplyUpdates False
procon.private.options.allowanonymoususagedata False

Now we need to create the server config file:


Paste the content below:

// This config will be overwritten by procon.
procon.protected.layer.enable True 27260 "" "[%servername%]"
procon.protected.playerlist.settings true 1 0.5 0.5
procon.protected.chat.settings False False True 0 0 False False
procon.protected.events.captures False 200 False False
procon.protected.lists.settings False
procon.protected.console.settings True False False True True True
procon.protected.timezone_UTCoffset 0



Now we create the username to access the ProCon layer.

nano accounts.cfg


// This config will be overwritten by procon.
procon.public.accounts.create "User32" "User32-PWD"



Now open again the server config file:



procon.protected.layer.enable True 27260 "" "[%servername%]"

Add user permission:

procon.protected.layer.setPrivileges "User32" 3972679

*Once again, remember to change the user as your own!

Config files is done, now we go back to the main directory where your ProCon files are.

cd /home/procon

Run the Console and try to connect to it:

mono ProCon.Console.exe

Dont press any key, just try to connect using your Client, once connection is done everything works, we create the start/stop script...

If you are not able to connect in this step, means you done the last steps wrong, or have firewall/connection issues on your VPS/node.



Now we create a script so you can have a way to restart your ProCon.

nano start.sh

Place the content:

cd /home/procon/
mono-service -l:./proconservice.lock PRoCon.Service.exe



Make it executable:

chmod +rx start.sh

Now we make Stop Script:

nano stop.sh

Place :

cd /home/procon/
kill `cat ./proconservice.lock`


Make it executable:

chmod +rx stop.sh

./start.sh for start the layer and ./stop.sh to kill the layer process pid.

That’s it. You have to run the stop/start script every time especially when you are adding Plugins.



XpKiller , MARL


Share this post

Link to post

Thanks for making this. I've stickied it.

The developer of the Battlefield Admin Control Panel (BFACP)

For BFACP support please post in the BFACP topic linked above.

Do not contact me via PM on the forums for help with procon. Please make a topic for it. Only PM's I will accept will revolve around any website issues.

Share this post

Link to post

I made this with succes :biggrin:

Does anybody know how to make mail from insane limits working ?

Postfix and sendmail dont seem to work

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Hi All,

      So I've been thinking about doing something like this for a while but I always talked myself out of it. I want to get some feedback on this idea and how many would think about using it if it was offered.

      In the past I know how hard it was for some users to get a MySQL database going and running the BFACP (since it's a bit requirement heavy in some cases). What I would be doing is offering to manage both of these for you.

      If enough interest was shown in something like this I would definitely think about doing it. Of course, I also know the risks I would be taking in something like this, but to list what I would be offering I guess is this.

      MySQL Hosting

      Daily backups of the database to a remote site & option to download it yourself.

      No limit on how big your database can be (within reason).

      BFACP Hosting (If running AdKats on your layers)

      This would run the newest version (v3.0)

      Will still be available to run on your own hardware

      Will have extra features that are not available for an open source setup (still need to think of good things )

      Able to use your own domain name with the proper DNS setup.

      Both Above

      Please let me know what you think of this idea and vote in the poll. Again not confirming anything like this will happen but if I get enough interest from the community for something like this then please let me know.

      Disclaimer: This will NOT be something affiliated with MyRCON but will be ran through it in terms of a payment processor.
      • 10 replies
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.