diff --git a/.gitignore b/.gitignore index aaf0293..9875c01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,6 @@ -### Scala template *.class *.log -# sbt specific .cache .history .lib/ @@ -13,84 +11,51 @@ src_managed/ project/boot/ project/plugins/project/ -# Scala-IDE specific .scala_dependencies .worksheet -### JetBrains template -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio *.iml -## Directory-based project format: .idea/ -# if you remove the above rule, at least ignore the following: -# User-specific stuff: -# .idea/workspace.xml -# .idea/tasks.xml -# .idea/dictionaries -# Sensitive or high-churn files: -# .idea/dataSources.ids -# .idea/dataSources.xml -# .idea/sqlDataSources.xml -# .idea/dynamic.xml -# .idea/uiDesigner.xml -# Gradle: -# .idea/gradle.xml -# .idea/libraries -# Mongo Explorer plugin: -# .idea/mongoSettings.xml -## File-based project format: *.ipr *.iws -## Plugin-specific files: -# IntelliJ /out/ -# mpeltonen/sbt-idea plugin .idea_modules/ -# JIRA plugin atlassian-ide-plugin.xml -# Crashlytics plugin (for Android Studio and IntelliJ) com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties -### Java template *.class -# Mobile Tools for Java (J2ME) .mtj.tmp/ -# Package Files # *.jar *.war *.ear -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -### Linux template *~ -# KDE directory preferences .directory -# Linux trash folder which might appear on any partition or disk .Trash-* -# Created by .ignore support plugin (hsz.mobi) .scalafmt.conf -#vscode settings .vscode/ +server.env + app db node_modules \ No newline at end of file diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..f21d535 --- /dev/null +++ b/compose.yml @@ -0,0 +1,15 @@ +services: + sandstorm: + image: andrewmhub/insurgency-sandstorm:latest + container_name: sandstorm + restart: "no" + env_file: + - server.env + volumes: + - ./server-config/MapCycle.txt:/home/steam/steamcmd/sandstorm/Insurgency/Config/Server/MapCycle.txt:ro + - ./server-config/Game.ini:/home/steam/steamcmd/sandstorm/Insurgency/Saved/Config/LinuxServer/Game.ini:ro + ports: + - "192.168.1.112:10128:10128/udp" + - "192.168.1.112:10128:10128/tcp" + - "192.168.1.112:10142:10142/udp" + - "192.168.1.112:10142:10142/tcp" diff --git a/config/ini/Game.ini b/config/ini/Game.ini index dc22ae6..074d73f 100644 --- a/config/ini/Game.ini +++ b/config/ini/Game.ini @@ -12,14 +12,8 @@ SupplyGainFrequency=99999 [/Script/Engine.GameNetworkManager] bMovementTimeDiscrepancyDetection=False bMovementTimeDiscrepancyResolution=False -;There is a config option for “ClientAuthorativePosition” on the GameNetworkManager that changes the rules: the server will accept client movement as authoritative and not force a correction if it’s within a squared distance (MAXPOSITIONERRORSQUARED) from where the server last saw it. -;So in this case, the server would warp the character to where the client tried to move, and the client’s position is the authority. The server can still replicate movement to the client normally, this just handles rogue client movements. -;Can set True on COOP servers ClientAuthorativePosition=True -;Average size of replicated move packet (ServerMove() packet size) in bytes from player contains client movement and view info MoveRepSize=512.0f -;is the bandwidth cost in bytes of sending a client adjustment update. 180 is greater than the actual cost, but represents a tweaked value reserving enough bandwidth for other updates sent to the client. -;Increase this value to reduce client adjustment update frequency, or if the amount of data sent in the clientadjustment() call increases CLIENTADJUSTUPDATECOST=512.0f [/Script/Engine.GameSession] @@ -29,60 +23,44 @@ MaxSpectators=0 [/Script/Insurgency.INSCoopMode] MinimumEnemies=3 MaximumEnemies=24 +EnemyBotDifficulty=0.7 MaxPlayersToScaleEnemyCount=10 bBotsUseHumanLoadouts=False bRestrictClassByPlayerLevel=True [/ScaleBotAmount/Mutators/ScaleBotAmount.ScaleBotAmount_C] -;Enable enemy bot scale for bBots bScaleBot=True -;;Enemy bot scale base on your friendly bot too. Otherwise, just players bScaleWithFriendlyBot=False -;;Your team will lose only if your whole team is dead (including friendly bot) with no reinforcement wave left -;;You will still lose if enemy recap your checkpoint because that part of the gamemode bLoseWhenWholeTeamDead=True [/AdvancedSupplyPoints/Mutators/AdvancedSupplyPoints.AdvancedSupplyPoints_C] -;Players that captured the objective will get this amount of supply as a reward ObjectiveCapturedSupply=7 -; -;;Players that destroyed the objective will get this amount of supply as a reward ObjectiveDestroyedSupply=7 -; -;;Everytime a round end, players in losing team will get this amount of supply point RoundEndSupply=12 -; -;;Everytime a round end, players in winning team will get this amount of supply point RoundEndWinningTeamSupply=7 [/ImprovedAI/Mutators/ImprovedAI.ImprovedAI_C] bEnableBotSkillCfg=True -;Distance from this sound that we confirm our target is an enemy HearAwareDistanceRadial=3000.0 HearAwareDistanceGunshot=5000.0 HearAwareDistanceSprintFootstep=2000.0 -;Distance from this sound that we can hear the target HearDistanceFootstepsSprinting=2500.0 HearDistanceFootstepsRunning=1000.0 -;Time before we start attacking at close targets AttackDelayClose=0.3 -;Time before we start attacking at distant targets AttackDelayDistant=1.0 -;Multiplier applied to spotting chance ChanceSprintMultiplier=2.0 ChangeMovingMultiplier=1.20 AccuracyMultiplier=1.25 -;Multiply our spread by this much when fully suppressed SuppressionAccuracyMultiplier=0.7 bFindCover=True @@ -93,16 +71,11 @@ bCustomBotNames=True BotNameList=Mikee,Arc,DaraDef,AniCator,Guinevere,sswires,Circleus,John Doe,Jeroen,fatherHank [/WelcomeMessage/Mutators/WelcomeMessage.WelcomeMessage_C] -;Message to display to the client when they first spawn in WelcomeMessage=%name%, Welcome to my server!/nEnjoy and have fun! [/JoinLeaveMessage/Mutators/JoinLeaveMessage.JoinLeaveMessage_C] -;Enable or disable join message bEnableJoinMessage=True -;;Message to appear when a player joins JoinMessage=%name% has joined the game. -;;Enable or disable leave message bEnableLeaveMessage=True -;;Message to appear when a player leaves LeaveMessage=%name% has left the game. diff --git a/server-config/Game.ini b/server-config/Game.ini new file mode 100644 index 0000000..bfbc749 --- /dev/null +++ b/server-config/Game.ini @@ -0,0 +1,3 @@ +[/Script/Insurgency.INSMultiplayerMode] +bUseMapCycle=True +bMapVoting=True diff --git a/server-config/MapCycle.txt b/server-config/MapCycle.txt new file mode 100644 index 0000000..8937228 --- /dev/null +++ b/server-config/MapCycle.txt @@ -0,0 +1,5 @@ +Scenario_Gap_Survival +Scenario_Forest_Survival +Scenario_Gap_Outpost +Scenario_Bab_Survival +Scenario_Bab_Outpost