Giter VIP home page Giter VIP logo

exiled-team / exiled Goto Github PK

View Code? Open in Web Editor NEW
266.0 266.0 175.0 55.11 MB

A high-level plugin framework for SCP: Secret Laboratory servers. It offers an event system for developers to hook in order to manipulate or change game code, or implement their own functions.

Home Page: https://www.exiled.to/

License: Other

C# 99.90% PowerShell 0.10%
csharp exiled harmony mono nwapi plugin scp-sl unity yaml

exiled's People

Contributors

arithfeather avatar cyanox62 avatar dgvagabond avatar fruitboi avatar gabirp avatar gamehunt avatar iopietro avatar iracle1 avatar irebbok avatar jeppevinkel avatar jesus-qc avatar joker-119 avatar kade-github avatar louis1706 avatar lufou avatar marco15453 avatar michal78900 avatar misaka-zerotwo avatar naounderscore avatar pintthedragon avatar remuchi avatar rintheweeb avatar rogerfk avatar sanyae2439 avatar sebascapo avatar thundermaker300 avatar undid-iridium avatar valera771 avatar vladislav-cs avatar xnexusacs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

exiled's Issues

Trigger SCP914UpgradeEvent while waiting for players

but It doesn't trigger every time.

[11:13:55] Waiting for players...
[11:13:56] [INFO] [EXILED_Idler] Server process resuming..
[11:13:56] Player 1@steam preauthenticated from endpoint 1.1.1.1:29026.
[11:13:57] Player 2@steam preauthenticated from endpoint 2.2.2.2:53529.
[11:13:57] [ERROR] [EXILED_Events] SCP914UpgradeEvent error: System.NullReferenceException
at (wrapper managed-to-native) UnityEngine.Transform.get_position_Injected(UnityEngine.Transform,UnityEngine.Vector3&)
at UnityEngine.Transform.get_position () [0x00000] in :0
at EXILED.Patches.SCP914UpgradeEvent.Prefix (Scp914.Scp914Machine __instance) [0x00028] in :0
[11:14:00] [INFO] [EXILED_Idler] The server is now idle..

[11:44:31] Waiting for players...
[11:44:32] [ERROR] [EXILED_Events] SCP914UpgradeEvent error: System.NullReferenceException
at (wrapper managed-to-native) UnityEngine.Transform.get_position_Injected(UnityEngine.Transform,UnityEngine.Vector3&)
at UnityEngine.Transform.get_position () [0x00000] in :0
at EXILED.Patches.SCP914UpgradeEvent.Prefix (Scp914.Scp914Machine __instance) [0x00028] in :0
[11:44:40] [INFO] [EXILED_Idler] Server process resuming..

Please rename "Exiled Permissions" to just "Permissions" in .config\EXILED\Plugins

Sorry for the premature creation of the issue and issue name spam, spilled rum on my keyboard and since then the keys have been sticking. Tried to clean it with Denatured Alcohol but it looks like the \ and Enter button are still getting stuck together.

Anyway, thank you so much for putting the Plugins folder inside the EXILED folder. This makes a lot more sense in terms of directory structure, more neat and orderly.

While you're changing the directory structure, could you please rename the "Exiled Permissions" folder to just "Permissions", or will the "permissions.yml" file be moved to the new EXILED\Configs folder?

Having a space in a directory can be a bitch on Linux, as I found out to my chagrin for a file in on Smod2.

096's rage duration does not have 30s cap

The rage time is supposed to be capped at 30 seconds as of 10.1. Exiled ignores this entirely and simply keeps adding it up. It should be 15 seconds to start, with 3 additional seconds per aggravator, up to a max bonus of 15, for a grand total of 30.

Ban followup

I know that I got mad and said “fuck off”, but these contributors who didn’t actually tell me where to post the issue were just reacting to my messages with :shrinkingbrain: which kind of made me mad because I still had no idea where to go for support. I assumed it was a bug report because I wasn’t able to launch the game. Only then was I told to go to plugin support but I didn’t think I would get support there (since it’s for plugins). I’m honestly sorry I would rather just move past this because I wanna keep using exiled and its plugins.

CurrentRoom.Zone and Round.ElapsedTime

Exiled 2.0.1
#124 Not fixed CurrentRoom.Zone, It defines zone as surface.
zone
Round.ElapsedTime why does it give 00:00:00, but if you write rtime then everything is fine.
rtime
Also Config does not generate static variables
staticcfg

Path can't be null or whitespace even though it's declared with Linux Installer

Installer CLI complains that the path is null despite it being declared.

[email protected]
System.ArgumentException: Path cannot be the empty string or all whitespace. (Parameter 'path')
   at System.IO.Directory.CreateDirectory(String path)
   at Exiled.Installer.Program.MainSafe(CommandSettings args)
Read the exception message, read the readme, and if you still don't understand what to do, then contact #support in our discord server with the attached screenshot of the full exception```

Server is running Ubuntu 18.04, and SCP:SL is already installed. 

I have suggest.

I would like to suggest that all plugins have a general view of how the config should look. Just for the beauty of the config. I understand that many of these things work anyway, but it would remove a lot of unnecessary questions and just make the config cleaner and more beautiful.
More details here:
Cassie:
image
If cassie should be silent:
image
And this example is essentially the same not entirely correct. By sound logic, it should be like this:
image

BroadCast
image
And this
image

Other:
image

Lists:
image

Perhaps for some it will seem nonsense. But why not just bring the whole config back to normal. It would be cool.

Map.Broadcast and Player.Broadcast should have the same parameter order

This is by no means a major issue and just something that would make it easier for plugins that have to manage a lot of both global and personal broadcasts. Right now the method definitions are:

Map
public static void Broadcast(string message, uint duration, bool monospace = false);
Player
public static void Broadcast(this ReferenceHub player, uint time, string message, bool monospace = false);

I don't want to break any existing plugins, so an extra method override could be added to Map for (uint duration, string message, bool monospace = false).

EXILED not working

Today, there was an update to the server files, and it seems like EXILED has broken with this. If you attempt to run the "SCPSL.exe" file, it will ask for the port normally, then the Unity crash app will open. After, the application crashes

Add optional translation config

Adding the ability to translate messages can be very helpful to a lot of plugins, but will clutter up the config significantly. This is why I propose there be a separate config for translations, that plugins are not required to use. Before, I'd like to define what might go inside of the translation config, and what can be left out of it:

Messages used inside of plugins should go inside of the translation config. These messages help certain plugin features, but are not a feature themselves.
Custom broadcast/hint messages should be inside of the plugin config. These exist as plugin features on their own, and shouldn't be with the other translations. There are very few of these types of messages, so they won't clutter the config and won't get mixed up with the other translations.

Translations can be implemented as follows:

IPlugin/Plugin is given a new property, of type ITranslation, which is default to null.
A new interface called ITranslation, similar to IConfig is created, although it does not include is_enabled.
Where the config manager loads configs, it also loads translations from a separate translations file, ignoring plugins that have null translations.

This should be an easy-to-implement feature, as most of what is required already exists in the config manager, and will make translating plugins much easier.

grenade chain explosions are broken

custom grenades spawn as as if they were thrown as oposed to the normal instant chain explosions and normal grenades dont have chain explosions at all

Feature: Standardize output of plugin loading

When a server starts up, it seems plugins send their own messages to mark they are enabled, making it difficult for debugging when installing new plugins. EXILED should output a list of all plugins as they are loaded/enabled.

Please forgive me if this request is nonsense as I am unfamiliar with plugin development for EXILED as well as C#.

Connection issue

It wont let me connect over the IP (when i connect the % stays at 0)

ev.Thrower in ExplodingGrenadeEventArgs is null.

Hey there,

ev.Thrower in ExplodingGrenadeEventArgs is always null - and I'm not sure if it's meant to be null.

Reproduction:

  • Create a handler for ExplodingGrenadeEventArgs.
  • Try and use ev.Thrower for something.

I'm not sure if I'm doing it wrong. Here's an example piece of code

public void OnExplodingGrenade(ExplodingGrenadeEventArgs ev)
{
    //stuff
    ev.Thrower.Hurt(10f, DamageTypes.Grenade, "test"); //this will return an "NullReferenceException" error
}

Thanks.

InteractingDoor patch does not account correctly for bypass mode.

I tried to open a door with bypass while it was locked; It didn't work, which I knew wasn't how the base game handled bypass mode; I tried it in a single-player server without EXILED and bypass allowed opening of locked doors; I checked the source code for the event and indeed found that it wasn't handling the bypass mode correctly.

You can see the source code here under Exiled.Events.Patches.Events.Player.InteractingDoor.cs:
codeimage
The issue occurs because if (ev.IsAllowed && !ev.Door.locked) doesn't actually come up as true if the door is locked, so it doesn't open the door.

There are a lot of mistakes.

1-3. I don’t know what it’s connected with. Perhaps with better sinkholes. I wanted to clarify here to whom I should write.
1
2
3
4. I don't know what it is. What kind of plugin could it be?
4
5-7. Perhaps this is due to the recently updated "common utilities". "common utilities 1.0.3 5fc1947" worked well. I'm not sure about new versions. Perhaps these are errors of the "friendly fire" built into the server.
5
6
7
8. List of plugins that I use.
8

Do you really think you should be banned for this forever? I have a lot of plugin bug reports that I don't know where to upload. I don't even fully understand why the ban is. For racism (which was not) or for what I wrote in a channel not intended for this?

About racism. You have double standards. Many people in Russia communicate like that. It turns out that by banning me, do you have something against our communication style? You generally have a strange concept of racism. When I call someone stupid because of obvious attacks in my direction, it is not racism. This is protection. In any case, the racism that is correct (wiki to help you), I am against it.

About the fact that we communicated in a channel not intended for communication, I agree. But in any case, this is not a reason to ban forever.

ERROR

[ERROR] [Exiled.API] An error has occurred while registering a command: System.ArgumentException: An item with the same key has already been added. Key: di
at System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in <9577ac7a62ef43179789031239ba8798>:0 at System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at CommandSystem.CommandHandler.RegisterCommand (CommandSystem.ICommand command) [0x0008b] in <445724aca0854baf9bac580cf29e2327>:0
at Exiled.API.Features.Plugin1[TConfig].OnRegisteringCommands () [0x000e7] in <2a4ff9bb51e04f8abecbafeb85c4c1fa>:0 [2021-04-18 00:18:25.119 -04:00] [ERROR] [Exiled.API] An error has occurred while registering a command: System.ArgumentException: An item with the same key has already been added. Key: di at System.Collections.Generic.Dictionary2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in <9577ac7a62ef43179789031239ba8798>:0
at System.Collections.Generic.Dictionary2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 at CommandSystem.CommandHandler.RegisterCommand (CommandSystem.ICommand command) [0x0008b] in <445724aca0854baf9bac580cf29e2327>:0 at Exiled.API.Features.Plugin1[TConfig].OnRegisteringCommands () [0x0010d] in <2a4ff9bb51e04f8abecbafeb85c4c1fa>:0

Something strange

At the same time, the same IP addresses are constantly duplicated in my console. I get this error quite often when the round is restarted.
Безымянный
Sometimes this happens.
Снимок
If the reason is not EXILED, then could you tell me where to look for the reason?

Issue

** [Exiled.Loader] An error has occurred while loading configs! YamlDotNet.Core.SemanticErrorException: (Line: 120, Col: 3, Idx: 4169) - (Line: 120, Col: 3, Idx: 4169): While parsing a block mapping, did not find expected key.**

096 does not gain extra rage per target when targets are empty

The vanilla game adds 3 seconds of rage time when you gain an additional target. The game checks for two conditions, either your target list being empty (second target gained during enrage), or if you are already enraged (in case all your targets die, you still get the extra time because you are already enraged). The code currently only has "!__instance._targets.IsEmpty", when it should be "!__instance._targets.IsEmpty || __instance.Enraged", according to what I asked Build.

`reload configs` tries to load configs twice, throws exception, fails to reload configs

I got this when trying to reload my configs. I have two SCP:SL servers on this box so that might be causing this.

[2020-09-07 20:46:25.080 -05:00] >>> reload configs
[2020-09-07 20:46:25.102 -05:00] [INFO] [Exiled.Loader] Loading plugin configs...
[2020-09-07 20:46:25.115 -05:00] [WARN] [Exiled.Loader] Exiled.Events doesn't have default configs, generating...
[2020-09-07 20:46:25.125 -05:00] [WARN] [Exiled.Loader] Exiled.Events doesn't have default configs, generating...
[2020-09-07 20:46:25.138 -05:00] [ERROR] [Exiled.Loader] An error has occurred while loading configs! System.ArgumentException: An item with the same key has already been added. Key: exiled_events
  at System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) [0x000c1] in <437ba245d8404784b9fbab9b439ac908>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0
  at Exiled.Loader.ConfigManager.Load (System.String rawConfigs) [0x000f5] in <d8361f45551f4f888ef238f47eadc446>:0
[2020-09-07 20:46:25.151 -05:00] Plugin configs have been reloaded successfully!

It does not reload plugins successfully. Here's what I did to test:

  1. Change SCP-173's health to 6000 in Common Utils.
  2. Run reload configs.
  3. Spawn in as 173. Health not updated. Waited until next round. Still no update.

EXILED 2.0.0 CurrentRoom.Zone

Seems to incorrectly determine the current zone of the player’s room
Annotation 2020-06-08 190007

And yes, about the Player.Died event, it defines ev.Target.Team is rip, not team when he died.

[ERROR] [Exiled.Loader]

ok,
image
[ERROR] [Exiled.Loader] Error while initializing plugin at ! System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <437ba245d8404784b9fbab9b439ac908>:0
at Exiled.Loader.Loader.CreatePlugin (System.Reflection.Assembly assembly) [0x00000] in :0

Someone knows what the problem is? : )

SCP-106 cannot capture players running 2.6.1-beta (Exiled.Events.dll)

I just spend the past 2 hours deleting every single plugin from my server, and finally I figured out that if I deleted Exiled.Events.dll, SCP-106 could capture members again, but if I keep Exiled.Events.dll on the server even by itself, he can't capture anyone.

I would try downgrading to 2.5.0 but it has no download. I also tried 2.4.4-beta and the game process went on a crash loop.

Banned from discord?

No idea why I was banned from the discord but I was. Maybe I got mad at someone who said I had a small brain?

[ERROR] [Exiled.Updater] #

image

I once submitted this question to other plugins ....
Because this problem appears intermittently that affects my judgment.

Really appreciate your help
:)

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.