Jump to content
Z1nx

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 (1.5.1.1) -> 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 "0.0.0.0"
procon.private.options.trustedHostDomainsPorts
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.

 

IMPORTANT
As of Procon version 1.5.1.1, 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:

nano SERVERIP_RCONPORT.cfg

Paste the content below:

/////////////////////////////////////////////
// This config will be overwritten by procon.
/////////////////////////////////////////////
procon.protected.layer.enable True 27260 "0.0.0.0" "[%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

Save!

 

Now we create the username to access the ProCon layer.

nano accounts.cfg

Paste Bellow: (REMEMBER TO CHANGE THE USERNAME AND PASSWORD)

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

Save!

 

Now open again the server config file:

nano SERVERIP_RCONPORT.cfg

Before:

procon.protected.layer.enable True 27260 "0.0.0.0" "[%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:

#!/bin/bash
cd /home/procon/
mono-service -l:./proconservice.lock PRoCon.Service.exe

Save!

 

Make it executable:

chmod +rx start.sh

Now we make Stop Script:

nano stop.sh

Place :

#!/bin/bash
cd /home/procon/
kill `cat ./proconservice.lock`

Save!

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.

 

Credits:

XpKiller , MARL

 

Share this post


Link to post
Posted (edited)

Just a suggestion:
I installed it the way it is written over there on Ubuntu 18.04.4 but I had the problem that my procon plugins didn't work.
So the thing is that I totally reinstalled everything on a new machine the first step here is important!

Instead of:

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

 

I just took the following:

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

 

This worked for me and my plugins also were visable again.

Edited by Checka_Wiemi

Share this post


Link to post
On 4/21/2020 at 12:32 PM, Checka_Wiemi said:

Just a suggestion:
I installed it the way it is written over there on Ubuntu 18.04.4 but I had the problem that my procon plugins didn't work.
So the thing is that I totally reinstalled everything on a new machine the first step here is important!

Instead of:

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

 

I just took the following:

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

 

This worked for me and my plugins also were visable again.

all ready did that but cannot get the plugins to load :(

Share this post


Link to post
12 hours ago, maddog said:

all ready did that but cannot get the plugins to load :(

Oh sorry. I saw that I forgot an important command o.O

So after "sudo apt update" you also have to insert "sudo apt-get install mono-devel"
Everything should look like this:

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt-get install mono-devel

 

 

If you made these commands and also uploaded your plugins to the plugins folder it should work.
But as it is already written above sandboxing has to be disabled.

For further questions about plugin install issues you can go here: https://myrcon.net/topic/508-plugin-install-issues/#comment-54392

Share this post


Link to post
Posted (edited)
On 4/28/2020 at 6:43 AM, Checka_Wiemi said:

Oh sorry. I saw that I forgot an important command o.O

So after "sudo apt update" you also have to insert "sudo apt-get install mono-devel"
Everything should look like this:

sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt-get install mono-devel

 

 

If you made these commands and also uploaded your plugins to the plugins folder it should work.
But as it is already written above sandboxing has to be disabled.

For further questions about plugin install issues you can go here: https://myrcon.net/topic/508-plugin-install-issues/#comment-54392

Thanks man, i got it working,  i kinda got ahead of myself. I copied all my configs from my old windows servers, copied the plugins, did not like it. My work around was just to install the layer with the default 3 plugins, then they pop up, you can add the configs and plugins again later. So far its working really well, i have 4 layers, map manager is causing me issues and battle agency, still working on them.

 

Might be of use to people

I restart all layers at 6am to free memory on my vps, works really well, not had a single drop so far, 2 days in.

Crontab, i leave 5 mins to allow adkats to shutdown

0 6 * * * killall mono


5 6 * * *  /home/proconhc/start.sh
5 6 * * *  /home/proconm/start.sh
5 6 * * *  /home/procona/start.sh
5 6 * * *  /home/proconr/start.sh

to make the shell scripts i had to app-get mono-service also, to create the services

 

Thanks for your response @Checka_Wiemi

 


 

 

 

 

Edited by maddog

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

    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 1 reply
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 10 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 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.