Giter Site home page Giter Site logo

data-bomb / silica Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 2.0 1.48 MB

Collection of scripts and mods for Silica listen servers and dedicated servers

License: GNU General Public License v3.0

AutoHotkey 1.36% C# 98.62% Batchfile 0.02%
autohotkey-v2 melonloader-mod server-side silica il2cpp-unity melonloader unity

silica's Introduction

                 

Running a Silica Server

Silica was released in May 2023 as an Early Access game with only Listen Server capability. Dedicated Server was released in December 2023. Modding during the Listen Server period was done to quickly add much-needed quality-of-life improvements. Some of these features were now added into the base game when the Dedicated Server capability was released; however, others are still absent and some are expanding on the config options available to hosts.

Note: These mods are only for hosts running servers. Do not attempt to use any of these as a client. If you are a host of a Listen server and want to switch to a client then remove all of your MelonLoader Mods before connecting as a client.

Silica Listen Server Requirements

  • 50Mbps upload bandwidth available (Individual clients can use about ~50kbps download bandwidth and up to ~1,500kbps upload bandwidth)
  • 32GB RAM
  • Decent CPU
  • Top-of-the-line GPU if you want to host and play

Silica Dedicated Server Requirements

  • 50Mbps upload bandwidth available (Individual clients can use about ~50kbps download bandwidth and up to ~1,500kbps upload bandwidth)
  • 16GB RAM
  • Decent CPU
  • 6GB Disk Space

Listen Server Setup Instructions

  1. Install Silica from Steam
  2. Install .NET 6.0 Runtime x64
  3. Download and run the MelonLoader.Installer.exe
  4. Using the Automated tab, hit the SELECT button for Unity Game and specify C:\Program Files (x86)\Steam\steamapps\common\Silica\Silica.exe or your custom path to the Silica.exe in your game installation directory
  5. Ensure that the Version is set to v0.6.2 or later
  6. Ensure that the Game Arch is set to x64
  7. Select Install
  8. Download the latest Listen Server release and unzip all files to your Silica directory
  9. Review the Silica\Mods directory and place any undesired mods in the disabled directory (Note: You should NOT disable Admin Mod.)
  10. Launch Silica and then exit the game to populate configuration parameters
  11. Review and modify the configuration parameters in the Silica\UserData\MelonPreferences.cfg file
  12. (Optional) Install the QList Mod to adjust configuration parameters on-the-fly

Dedicated Server Setup Instructions

  1. Install Silica Dedicated Server Tool from Steam
  2. Download and run the MelonLoader.Installer.exe
  3. Using the Automated tab, hit the SELECT button for Unity Game and specify C:\Program Files (x86)\Steam\steamapps\common\Silica Dedicated Server\Silica.exe or your custom path to the Silica.exe in your Dedicated Server installation directory
  4. Ensure that the Version is set to v0.6.2 or later
  5. Ensure that the Game Arch is set to x64
  6. Select Install
  7. Download the latest Dedicated Server release and unzip all files to your Silica Dedicated Server directory
  8. Review the Silica Dedicated Server\Mods directory and place any undesired mods in the disabled directory. (Note: You should NOT disable Admin Mod.)
  9. Review and update the Settings in Documents\Silica\ServerSettings.xml
  10. Launch Silica Dedicated Server by double-clicking launch.bat and then exit the server to populate configuration parameters
  11. Review and modify the configuration parameters in the Silica\UserData\MelonPreferences.cfg file

Modding and License Considerations

Note that this is not legal advice and databomb is not a lawyer. If you do have concerns then you should consult the appropriate person before running server mods.

Server Type Considerations
Listen Server Although no game files are modified, running mods on a listen server might be construed as modifying the game, which is not expressly permitted by the game's EULA. Depending on relevant local laws, this may be a concern.
Dedicated Server There is no EULA on the server tool, so installing and running mods of the dedicated server tool is acceptable.
Licensed Dedicated Server See A2.3 General Policy guidelines in the Silica Hosting Discord:
A2.3 – Game Mods: Licensed servers are permitted to run modded game modes; however, it is important for license holders and their server admin teams to ensure that the server's performance meets the standards set for a server license. If the modded game mode negatively impacts the server's performance, it may be necessary to remove it. Failure to maintain the required performance standards may result in the revocation of the server license.

Kind suggestion to ensure that the server name reflects that there are mods so players can choose between mods and a vanilla game experience.

How to Show Love

Buy Me A Coffee

Credits

Special thanks to Silentstorm, GrahamKracker, AuriRex, nighthalk and others in the MelonLoader community for being welcoming and supportive to an unusual use case of MelonLoader.

silica's People

Contributors

data-bomb avatar zawedcvg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zawedcvg commajon

silica's Issues

Unable to join as commander after server dropped client connections

We had a situation today on the Kane HvA server which was running the Commander Management mod.

It's not possible to know whether this bug was caused by a bug in Silica, or in the mod, but I will describe it here in case it is possibly a logic error in the Commander Management mod.

A new game was started, Commanders were selected. 6 minutes into the game, the server for some reason dropped all client connections.

When we reconnected to the server, the game was still proceeding as usual. The original Alien commander chose not to reconnect and resume the game.

When any other player selected Aliens the two options were given for Infantry or Commander. But upon clicking Commander, the player was spawned as infantry, and the player list showed that still nobody was Commander of Aliens.

The Human team did not have this problem, possibly because the player who was previously Commander of the Humans had reconnected to the server. Humans were able to select the Commander role and command as usual.

Steps to Reproduce: Start a game using the Commander Management application system. Kill all the client connections so every client drops. Have clients rejoin the game with the exception of the chosen commanders and see if any of the reconnected clients can take the commander role.

Expected Behavior: If the selected Commander is disconnected from the server through a dropped network connection (instead of by manually leaving the game) then any other player should be allowed to select the Commander role.

Great Worm Bounty

If a player-controlled unit kills a Great Worm then provide a resource or unit bounty to the player's team.

Removing node teamkill notification from chat

Can you remove the notification that pops up in chat when someone kills a node?

People often follow nodelines to find Alien buildings. A counter tactic is to remove the nodes towards important buildings like the Quantum Cortex or Nest. This way you can hide buildings but right now every node you remove tells everyone in chat what you are doing.

[Bug] Defaultunits broken

Describe the bug
After latest changelog, defaultunit mod is broken. First round it works, but on second round, the defaultunits are not reset, so players spawn as Wasps or Rifleman for example at the start of the round.

To Reproduce
Steps to reproduce the behavior:

  1. Start server, have mod with my configuration in the log file.
  2. Play the game and research tech until you unlock wasps or rifleman
  3. Endround.
    Now next round the defaultunits are wasps/rifleman at round start already, it should be reset to crab/scout.

Log file
Go to your game's root directory. The default is C:\Program Files(x86)\Steam\steamapps\common\Silica
Open the MelonLoader directory
Find the file called Latest or Latest.log
Include the entire file or relevant portions related to the bug

Latest_-_Copy.log
Player - Copy.log

[Bug] Announcement mod crashes the game client

Describe the bug
Silica enters a state of "not responding", I believe it's due to the Announcement mod with a certain configuration.

To Reproduce
Steps to reproduce the behavior:

  1. Add the Announcement mod to your server.
  2. In the configuration file announcments.txt, add 4 lines of announcements.
  3. (Optional) Reduce the time between announcements, I chose 180 seconds.
  4. Run the client server, wait until all announcements have been announced.
  5. Once all announcements have been announced 1 time and it returns to the first line, the game stops responding, soft crash.

Screenshots
If applicable, add screenshots to help explain your problem

Log file
{40DDFF96-5A0F-4D60-90C0-F946FFFBF1B9}
{E32EF625-CD34-42B0-8BA7-B6A86819727C}

Go to your game's root directory. The default is C:\Program Files(x86)\Steam\steamapps\common\Silica
Open the MelonLoader directory
Find the file called Latest or Latest.log
Include the entire file or relevant portions related to the bug
Latest.log

Prevent Loss with HQ/Nest Under Construction

Humans lose when HQs are under construction. Contributing to this problem is that players and the server each evaluate winning conditions. Even if the server mods correctly prevent humans from losing when an HQ is under construction, the players will register it as a loss. May need to do something kludgy like make a hidden, underground HQ that remains alive to prevent players from thinking the game is over.

Human Missions for Repairing

When player-controlled human vehicles are damaged more than 60% and are out of combat then provide a mission to travel to the nearest Light Vehicle Factory for repairs.

Alien Greater+ Spawn Missions

Provide Alien units who spawn later in the game a mission to direct them towards the nearest Greater or Colossal unit that is available.

[Bug] !surrender no longer works after the 15 June 2023 Game Update

Commander's using !surrender will receive a message reply only commanders can use !surrender due to a game bug where all of the known methods to determine if a player is commander (e.g., Player.IsCommander property, GameMode.GetIsPlayerCommander method, MP_Strategy.GetPlayerIsCommander method, and MP_Strategy.GetIsPlayerCommander method) are all failing to report accurate information. There is no known work-around at this time.

[Bug] Team Balance Fails in HvHvA

Describe the bug
In the Humans vs Humans vs Aliens game mode, the team balance mod will not properly register when one of the three factions has been eliminated. This causes the mod to attempt to force players to the eliminated faction, and doesn't allow those players to join any other team even after rejoining the server. This also causes game bugs with the faction being in a quasi-eliminated but unplayable state when players are forced onto the eliminated faction.

Mutiny Vote

Allow players on a team to commence a vote to mutiny against the current commander. Only players on that team would have a valid vote. If the vote is successful then the current commander is removed and replaced with the player who led the mutiny.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.