sudo apt update && sudo apt upgrade -yFor testing purposes, we clone the dev branch:
git clone -b dev https://github.com/ph2708/netpanzer_server.git
cd netpanzer_serversudo apt install scons -y
sudo apt-get install subversion -y
sudo apt-get install g++ -y
sudo apt-get install libsdl2-dev -y
sudo apt-get install libsdl2-ttf-dev -y
sudo apt-get install libsdl2-mixer-dev -ysudo apt install scons -y
yes | sudo apt-get install subversion && \
yes | sudo apt-get install libsdl2-dev && \
yes | sudo apt-get install g++ && \
yes | sudo apt-get install libsdl2-ttf-dev && \
yes | sudo apt-get install libsdl2-mixer-devCompile the game inside the project folder using SCons:
cd ~/netpanzer_server
sconsThe server executable (netpanzer) will be generated in the project folder.
nano units/Titan.upfExample attributes:
hitpoints = 1300;
attack = 140;
reload = 10;
range = 31;
regen = 60;
defend_range = 28;
speed_rate = 16;
speed_factor = 2;
NOTE: To change the Titan's attack speed, modify
server.command_burst_limitinserver.cfg:
server.command_burst_limit = 16→ reload 12server.command_burst_limit = 14→ reload 10
File location:
~/.netpanzer/config/server.cfg- If it doesn't exist, run the server once to create the file:
./netpanzer -d
# To run in debug mode
./netpanzer -d -g- Edit with:
nano ~/.netpanzer/config/server.cfg./netpanzer -dtmux new -s netpanzer_session
./netpanzer -d- To detach from tmux:
Ctrl + B, thenD - To reconnect:
tmux attach -t netpanzer_session- To list sessions:
tmux ls- To kill the server process (optional):
pgrep netpanzer
kill <PID>sudo apt install firewalld -y
sudo systemctl enable firewalld
sudo systemctl start firewalld
# Open TCP and UDP ports 3031
sudo firewall-cmd --zone=public --permanent --add-port=3031/tcp
sudo firewall-cmd --zone=public --permanent --add-port=3031/udp
sudo firewall-cmd --reload
# Check open ports
sudo firewall-cmd --zone=public --list-portssudo iptables -A INPUT -m state --state NEW -p tcp --dport 3031 -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p udp --dport 3031 -j ACCEPT
sudo netfilter-persistent save
sudo iptables -L INPUT --line-numberssudo nano /etc/init.d/start-autonetpanzer.shScript content (replace /home/ubuntu/netpanzer_server/ with your actual path):
#!/bin/bash
# Navigate to the NetPanzer directory
cd /home/ubuntu/netpanzer_server/
# Run inside tmux using user "ubuntu"
su -c 'tmux new-session -d -s netpanzer_session "/home/ubuntu/netpanzer_server/netpanzer -d"' ubuntu
exit 0sudo chmod +x /etc/init.d/start-autonetpanzer.sh
sudo update-rc.d start-autonetpanzer.sh defaults
sudo ln -s /etc/init.d/start-autonetpanzer.sh /etc/rc2.d/S99start-autonetpanzer.sh
sudo chmod +x /etc/rc2.d/S99start-autonetpanzer.shplayer.name = "NETPANZER.COM.BR 02 (NORMAL)"
server.port = 3031
server.public = true
server.masterservers = "netpanzer.io"
server.command_burst_limit = 16
game.unit_profiles = "Manta, Panther1, Titan, Stinger, Bobcat, Bear, Archer, Wolf, Drake, Spanzer"
game.unit_spawnlist = "1, 1, 10, 1, 1, 1, 1, 1, 1, 1"
game.maxplayers = 8
game.gametype = 0
...
player.name = "NETPANZER.COM.BR 01 (FIGHTS)"
server.command_burst_limit = 16
game.unit_profiles = "Titan, Archer, Spanzer"
game.unit_spawnlist = "30, 0, 0"
game.gametype = 1
...
player.name = "NETPANZER.COM.BR 03 (EXTREME FIGHTS)"
server.command_burst_limit = 16
game.unit_profiles = "Titan"
game.unit_spawnlist = "30"
game.gametype = 1
...
Fill the remaining parameters as you wish.
sudo lvextend -L +10G /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lvcd /var/log
sudo du -h --max-depth=1 # Check which folders/logs take up the most space
sudo rm -rf <large_file.log>
sudo journalctl --vacuum-size=50M-----------------------MODELO SERVER.CFG SERVER NORMAL------------------------------------
radar.playeroutpostcolor = 1
radar.alliedoutpostcolor = 11
radar.enemyoutpostcolor = 4
radar.unitsize = 0
player.name = "NETPANZER.COM.BR 02 (NORMAL)"
server.port = 3031
server.bindaddress = ""
server.motd = "Bem vindo! (Visite: Netpanzer.com.br)"
server.logging = false
server.public = true
server.masterservers = "netpanzer.io"
server.name = "NetPanzer Server"
server.interactive_console = true
server.authserver = "authserver.netpanzer.info"
server.authentication = false
server.command_burst_limit = 16
game.enable_bases = true
game.base_capture_mode = 1
game.base_limit = 0
game.autokicktime = 20
game.allowmultiip = true
game.unit_profiles = "Manta, Panther1, Titan, Stinger, Bobcat, Bear, Archer, Wolf, Drake, Spanzer"
game.unit_spawnlist = "1, 1, 10, 1, 1, 1, 1, 1, 1, 1"
game.adminpass = "2410"
game.gamepass = ""
game.changeflagtime = 1
game.gametype = 0
game.maxplayers = 8
game.maxunits = 240
game.timelimit = 30
game.fraglimit = 3000
game.powerups = true
game.occupationpercentage = 75
game.allowallies = true
game.cloudcoverage = 0
game.respawntype = 0
game.windspeed = 30
game.lowscorelimit = -45
game.map = "Two clans"
game.mapcycle = "Two clans"
game.mapstyle = "SummerDay"
game.units_styles = "original, danisch, desert, metro, night, nva, platane, surpat, tiger, woodland"
sound.enable = true
sound.music = true
sound.musicvol = 100
sound.effects = true
sound.effectsvol = 100
interface.show_health = true
interface.show_flags = true
interface.show_names = true
interface.attacknotificationime = 5
interface.vehicleselectioncolor = 1
interface.unitselectionmode = 1
interface.unitinfodrawlayer = 0
interface.scrollrate = 1000
interface.rankposition_x = 100
interface.rankposition_y = 100
interface.viewdrawbackgroundmode = 0-----------------------MODELO SERVER.CFG SERVER FIGHTS ------------------------------------
radar.playeroutpostcolor = 1
radar.alliedoutpostcolor = 11
radar.enemyoutpostcolor = 4
radar.unitsize = 0
player.name = "NETPANZER.COM.BR 01 (FIGHTS)"
server.port = 3031
server.bindaddress = ""
server.motd = "Bem vindo! (Visite: Netpanzer.com.br)"
server.logging = false
server.public = true
server.masterservers = "netpanzer.io"
server.name = "NetPanzer Server"
server.interactive_console = true
server.authserver = "authserver.netpanzer.info"
server.authentication = false
server.command_burst_limit = 16
game.enable_bases = true
game.base_capture_mode = 1
game.base_limit = 0
game.autokicktime = 20
game.allowmultiip = true
game.unit_profiles = "Titan, Archer, Spanzer"
game.unit_spawnlist = "30, 0, 0"
game.adminpass = "2410"
game.gamepass = ""
game.changeflagtime = 1
game.gametype = 1
game.maxplayers = 8
game.maxunits = 240
game.timelimit = 30
game.fraglimit = 3000
game.powerups = true
game.occupationpercentage = 75
game.allowallies = true
game.cloudcoverage = 0
game.respawntype = 0
game.windspeed = 30
game.lowscorelimit = -45
game.map = "Two clans"
game.mapcycle = "Two clans"
game.mapstyle = "SummerDay"
game.units_styles = "original, danisch, desert, metro, night, nva, platane, surpat, tiger, woodland"
sound.enable = true
sound.music = true
sound.musicvol = 100
sound.effects = true
sound.effectsvol = 100
interface.show_health = true
interface.show_flags = true
interface.show_names = true
interface.attacknotificationime = 5
interface.vehicleselectioncolor = 1
interface.unitselectionmode = 1
interface.unitinfodrawlayer = 0
interface.scrollrate = 1000
interface.rankposition_x = 100
interface.rankposition_y = 100
interface.viewdrawbackgroundmode = 0radar.playeroutpostcolor = 1
radar.alliedoutpostcolor = 11
radar.enemyoutpostcolor = 4
radar.unitsize = 0
player.name = "NETPANZER.COM.BR 03 (EXTREME FIGHTS)"
server.port = 3031
server.bindaddress = ""
server.motd = "Bem vindo! (Visite: Netpanzer.com.br)"
server.logging = false
server.public = true
server.masterservers = "netpanzer.io"
server.name = "NetPanzer Server"
server.interactive_console = true
server.authserver = "authserver.netpanzer.info"
server.authentication = false
server.command_burst_limit = 16
game.enable_bases = true
game.base_capture_mode = 1
game.base_limit = 0
game.autokicktime = 20
game.allowmultiip = true
game.unit_profiles = "Titan"
game.unit_spawnlist = "30"
game.adminpass = "2410"
game.gamepass = ""
game.changeflagtime = 1
game.gametype = 1
game.maxplayers = 6
game.maxunits = 240
game.timelimit = 30
game.fraglimit = 3000
game.powerups = true
game.occupationpercentage = 75
game.allowallies = true
game.cloudcoverage = 0
game.respawntype = 0
game.windspeed = 30
game.lowscorelimit = -45
game.map = "Walhalla"
game.mapcycle = "Walhalla"
game.mapstyle = "SummerDay"
game.units_styles = "original, danisch, desert, metro, night, nva, platane, surpat, tiger, woodland"
sound.enable = true
sound.music = true
sound.musicvol = 100
sound.effects = true
sound.effectsvol = 100
interface.show_health = true
interface.show_flags = true
interface.show_names = true
interface.attacknotificationime = 5
interface.vehicleselectioncolor = 1
interface.unitselectionmode = 1
interface.unitinfodrawlayer = 0
interface.scrollrate = 1000
interface.rankposition_x = 100
interface.rankposition_y = 100
interface.viewdrawbackgroundmode = 0