Onset linux server crée


Exigences minimales

  • Ubuntu 18.04, Debian 9, CentOS 7 (avec openssl installé)
  • Processeur monocœur avec instructions SSE2
  • 50 Mo d'espace disque et 100 Mo de RAM
  • Paquets: curl, nano, openssl

Installer

En tant que root, installez le package suivant.
apt-get install lib32gcc1
  • Assurez-vous que vous exécutez le serveur sur un utilisateur sans droits de superutilisateur. Nous vous recommandons d'ajouter un nouvel utilisateur pour cette étape.
Créez un nouveau répertoire pour le serveur Onset.
mkdir Steam
Installez SteamCMD
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Démarrez SteamCMD
./steamcmd.sh
Connectez-vous à Steam comme anonyme
login anonymous
Définissez le répertoire d'installation des fichiers du serveur Onset.
force_install_dir ./OnsetServer/
Téléchargez l'application serveur.
app_update 1204170 validate
Quittez SteamCMD
quit

Configuration

cd OnsetServer
  • Modifiez le fichier server_config.json nano server_config.json . Informations sur le fichier de configuration: server_config .
nano server_config.json
  • Une fois l'édition terminée, appuyez sur CTRL + X puis sur Y pour enregistrer le fichier de configuration.
  • Exécutez ./start_linux.sh pour démarrer votre serveur. Le fichier shell définit le chemin de l'environnement afin que le serveur trouve les fichiers SteamAPI requis.

Commande utilise :

Pour démarrer le serveur.

./start_linux.sh 

Le paramètre "--version" affiche les informations de version du serveur.

./start_linux.sh --version 

Le paramètre "--help" affiche les options de ligne de commande disponibles.

./start_linux.sh --help

Port 
  • UDP 7777 - Jeu
  • UDP 7776 - Serveur query
  • TCP 7775 - HTTP serveur, téléchargement des fichiers 

Démarrage du serveur

Je vous conseille de commencer par la création d’un screen pour pouvoir quitter votre console sans que le serveur se ferme :
Si screen n’est pas installé tappez la commande suivante et recommencez le chapitre :
Placez vous à la racine de votre serveur :
Entrez la commande de lancement de votre serveur :
La console doit vous afficher :
Pour quitter sans couper le serveur :
Pour revenir sur la console du serveur :

Serveur Onset configuration weapons.json

Dans ce tutoriel nous allons voir comment réaliser la configurations des armes sur son serveur Onset.
Sur Onset la Configuration des armes est assez simpliste, et très détaillé.

Le fichier que nous allons configurer s'appel "weapons.json"

Dans un premier temps voici un exemple de fichier de configuration fournit par Onset :

{
"weapons": [
{
"Name": "Fist",
"RateOfFire": 120.0,
"Damage": 15.0,
"Range": 60.0,
"Recoil": 0.0,
"MagazineSize": 0,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Pistol01",
"RateOfFire": 90.0,
"Damage": 40.0,
"Range": 6500.0,
"Recoil": 0.3,
"MagazineSize": 8,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Pistol02",
"RateOfFire": 130.0,
"Damage": 22.0,
"Range": 7100.0,
"Recoil": 0.3,
"MagazineSize": 10,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Pistol03",
"RateOfFire": 150.0,
"Damage": 21.0,
"Range": 7400.0,
"Recoil": 0.3,
"MagazineSize": 14,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Pistol04",
"RateOfFire": 100.0,
"Damage": 23.0,
"Range": 7000.0,
"Recoil": 0.2,
"MagazineSize": 9,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Shotgun01",
"RateOfFire": 50.0,
"Damage": 50.0,
"Range": 3000.0,
"Recoil": 0.3,
"MagazineSize": 12,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Shotgun02",
"RateOfFire": 60.0,
"Damage": 55.0,
"Range": 3100.0,
"Recoil": 0.3,
"MagazineSize": 10,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "SMG01",
"RateOfFire": 480.0,
"Damage": 19.0,
"Range": 7500.0,
"Recoil": 0.3,
"MagazineSize": 40,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "SMG02",
"RateOfFire": 550.0,
"Damage": 12.0,
"Range": 6000.0,
"Recoil": 0.3,
"MagazineSize": 50,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "SMG03",
"RateOfFire": 450.0,
"Damage": 20.0,
"Range": 9000.0,
"Recoil": 0.33,
"MagazineSize": 35,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle01",
"RateOfFire": 450.0,
"Damage": 21.0,
"Range": 10000.0,
"Recoil": 0.3,
"MagazineSize": 31,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle02",
"RateOfFire": 450.0,
"Damage": 21.0,
"Range": 8700.0,
"Recoil": 0.3,
"MagazineSize": 31,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle02 Gold",
"RateOfFire": 450.0,
"Damage": 23.0,
"Range": 8700.0,
"Recoil": 0.3,
"MagazineSize": 31,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle03",
"RateOfFire": 440.0,
"Damage": 20.0,
"Range": 8800.0,
"Recoil": 0.3,
"MagazineSize": 31,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle04",
"RateOfFire": 240.0,
"Damage": 24.0,
"Range": 9800.0,
"Recoil": 0.3,
"MagazineSize": 20,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle05",
"RateOfFire": 600.0,
"Damage": 21.0,
"Range": 9400.0,
"Recoil": 0.37,
"MagazineSize": 36,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle06",
"RateOfFire": 240.0,
"Damage": 25.0,
"Range": 11500.0,
"Recoil": 0.25,
"MagazineSize": 20,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle07",
"RateOfFire": 450.0,
"Damage": 22.0,
"Range": 9800.0,
"Recoil": 0.31,
"MagazineSize": 30,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Rifle08",
"RateOfFire": 550.0,
"Damage": 22.0,
"Range": 11000.0,
"Recoil": 0.33,
"MagazineSize": 20,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 2.0,
"SpreadMovementModifier": 0.2,
"SpreadCrouchingModifier": -0.3
},
{
"Name": "Sniper",
"RateOfFire": 60.0,
"Damage": 80.0,
"Range": 13000.0,
"Recoil": 0.4,
"MagazineSize": 7,
"CameraShake": 1.0,
"CameraShakeCrouching": 0.5,
"SpreadMin": 0.1,
"SpreadMax": 1.0,
"SpreadMovementModifier": 0.4,
"SpreadCrouchingModifier": -0.2
}
]
}


Dans l'exemple ci dessus 20 armes sont créés, on retrouve le poing, des pistolets, mitraillette, fusil à pompe ou encore Sniper.
La configuration de ses armes est régit par plusieurs paramètres pour vous aider les voici en dessous.

Voici toutes les définitions des paramètres :
  • NameNom de l'arme qui sera affichée sur le HUD de l'arme
  • RateOfFireCombien de fois cette arme tire à la minute (cadence de tir)
  • DamageCombien de dégât cause cette arme aux joueurs
  • RangeGamme de balle (calibre des balles)
  • MagazineSizeNombre de balle dans le chargeur (capacité du chargeur)
  • RecoilRecul de l'arme à chaque tir
  • CameraShakeValeur du tremblement de la caméra à chaque tir
  • CameraShakeCrouchingValeur du tremblement de la caméra à chaque tir quand le joueur est allongé
  • SpreadMinDispersion minimale de l'arme à chaque tir (tressaillement)
  • SpreadMaxDispersion maximal de l'arme à chaque tir (tressaillement)
  • SpreadMovementModifierFacteur de la dispersion de l'arme (tressaillement) à chaque tir quand le joueur est en mouvement
  • SpreadCrouchingModifierFacteur de modification de la dispersion de l'arme (tressaillement) lorsque le joueur tir en étant allongé (valeur négative logique car l'arme est plus stable quand le joueur est allongé)
Serveur Onset configuration server_config.json

Le fichier que nous allons configurer s'appel "server_config.json" il permet de contrôler beaucoup de paramètre comme les slots (nombre maximal de joueur) le nom du serveur, le gamemode ou encore un mot de passe.

Dans un premier temps voici un exemple de fichier de configuration fournit par Onset :

{
"servername": "[g]🔥 [c=#ff0000]Ceci[/c] [c=green]est le nom de[/c] [c=yellow]mon[/c] [c=red]serveur[/c] 🔥[/g]",
"gamemode": "RolePlay",
"website_url": "https://www.votresiteweb",
"ipaddress": "0.0.0.0",
"port": 7777,
"maxplayers": 32,
"password": "",
"timeout": 15000,
"iplimit": 5,
"masterserver": true,
"plugins": [
"mariadb"
],
"packages": [
"roleplay"
],
"stream_distance": 12000.0,
"stream_update_rate": 0.05,
"voice": true,
"voice_sample_rate": 24000,
"voice_distance": 4000.0,
"voice_spatialization": true

}

Dans l'exemple ci dessus le nom de notre serveur sera : 🔥 Ceci est le nom de mon serveur 🔥

Notre serveur a 32 slots, le Gamemode est "Roleplay" etc...

Voici toutes les définitions des paramètres :
  • servernameLe nom de de votre serveur (220 caractères maximum, le balisage est compris dans les caractères)
  • servername_shortLa version courte du nom du serveur (128 caractères maximum). Utilisé pour la présence sur Discord/Steam . (Ne doit pas contenir de balisage mais peut contenir des icônes UTF8)
  • gamemodeUne description du mode de jeu du serveur (cela peut être le nom du mode de jeu, exemple : RolePlay)
  • website_urlUn lien vers la page internet de votre serveur
  • ipaddressAdresse IP de votre serveur. Utilisez "localhost" pour le rendre accessible depuis votre ordinateur uniquement. Utilisez "0.0.0.0" pour lier n'importe quelle adresse (si vous connaissez l'adresse IP à utiliser vous pouvez aussi l'indiquer)
  • portPort réseau principal pour se connecter à votre serveur (UDP). Le port Query (UDP) est ce port - 1. Le port de fichier (TCP) est ce port - 2.
  • passwordC'est le mot de passe pour rejoindre votre serveur (laisser vide pour désactiver)
  • timeoutTemps en millisecondes après lequel un joueur qui ne répond pas (perte de connexion) sera expulsé du serveur. Cela devrait être compris entre 10000 et 20000 millisecondes
  • iplimitLimiter le nombre de connexions par IP. Les nouvelles connexions dépassant ce nombre seront expulsés
  • masterlisttrue pour que votre serveur soit rendu public dans la liste des serveurs. Dans le cas inverse indiquez false. Cela ne fonctionne que si votre serveur est accessible sur Internet (avec une IP Publique)
  • pluginsTableau de plugins que vous souhaitez charger. Ceux-ci doivent être dans le dossier plugins
  • packagesTableau de paquets que vous voulez charger
  • voiceActiver le système VoIP (chat vocal)
  • voice_sample_rateTaux d'échantillonnage VoIP, les taux plus élevés ont une meilleure qualité, mais nécessitent également plus de bande passante (de connexion rapide). Les tarifs en vigueur sont: 8000, 12000, 16000, 24000 et 48000.
  • voice_distanceDistance à laquelle vous pouvez entendre les autres joueurs parler
  • voice_spatializationRend le son VoIP 3D, y compris la spatialisation et l’atténuation
  • maxplayersMaximum de joueurs capable de rejoindre le serveur. Une fois atteint plus aucun joueur ne peut rejoindre le serveur
Ou le script pour auto installer un serveur linux rp

https://github.com/ChilliSama/OnsetrpAutoInstaller