Jump to content

New Plugin - Custom Scripting | Emby ScripterX


Anthony Musgrove

Recommended Posts

Anthony Musgrove
11 minutes ago, kreris said:

we have the last stable version of emby (4.7.14.0), until now we are using the scripterX plugin with version 4.0.0.8 beta, without problems. But now with the last release version, the plugin auto updates, and stops working. If we install the previous version, autoupdates again. There any option for install the previuos version and avoid the autoupdate, or any other option for use the plugin with the stable version of emby

Hi there Kris, my apologies

  This is my fault - I will fix this now

Link to comment
Share on other sites

MrTetrisCow

Same issue here, I am running the latest stable version of emby and I had the latest release version of scripterX (3.0.5.5) working perfectly, today the plugin updated to version 5.0.0.3 and I can no longer use scripterx, even if I downgrade it, it just auto updates the next time I start the server. I don't feel like installing the beta version of emby, is there any other solution? I don't know it this is possible but there should be a way for emby to check if the plugin is compatible with the currently installed emby version and only update if true.

Link to comment
Share on other sites

Anthony Musgrove

Hi guys, 

 

My apologies, this was my fault.  When I added the newest version 5.0.0.3 to the Catalog, I set it as 'release' rather than 'beta' - which I have now fixed, so you should be right to downgrade back to the latest release version - v4.0.0.8 - and it shouldn't auto update again :)

 

Sorry about that guys!

  • Like 1
Link to comment
Share on other sites

MrTetrisCow
16 minutes ago, Anthony Musgrove said:

Hi guys, 

 

My apologies, this was my fault.  When I added the newest version 5.0.0.3 to the Catalog, I set it as 'release' rather than 'beta' - which I have now fixed, so you should be right to downgrade back to the latest release version - v4.0.0.8 - and it shouldn't auto update again :)

 

Sorry about that guys!

It is still updating to 5.0.0.3 right now, do you have an idea of how long it takes for the fix to take effect?
Thanks for your great work BTW, this is the most useful plugin for emby.

Edited by MrTetrisCow
Link to comment
Share on other sites

Anthony Musgrove

Could you please try again - I've added new release version numbers for both beta and release - so beta latest is now 5.0.0.4, and the release latest is now 4.0.0.9

 

You may need to select the release version again in the catalog, I'm not sure how the business rules work with the catalog autoupdates, but it should be fine now - I've set the latest beta version to minimum server version 4.8+, so anyone running 4.7.* should now only get the 4.0.0.9 option (and therefore only autoupdate to that)

Link to comment
Share on other sites

Anthony Musgrove

I've just confirmed on my non-beta server that the latest offered now is 4.0.0.9 - but that means that servers that have automatically updated to 5.0.0.3 may need to manually downgrade to 4.0.0.9 - but that will resolve the issue.  Sorry again guys, it's just because there is significant changes and improvements to the Emby Core that required significant core modifications (which will only work in the Beta server, not the Release server), which is why any 5.* version of Scripter-X won't work with Release server anymore. :)

 

If you have any issues please let me know and I'll get them sorted

image.png.2f31f29f126cc801f294d64b21651578.png

  • Thanks 1
Link to comment
Share on other sites

Anthony Musgrove
Just now, MrTetrisCow said:

I can confirm it is fixed now. Thank you!! 😉

Beautiful, thank you so much for your patience and understanding, that is a massive sigh of relief! :) 

Link to comment
Share on other sites

Stan Guiseppe

Thanks Anthony,

I'm on stable and mine is fixed now after installing 4.0.0.9.

So to get the %playback.event.name% function, do I need to go Emby Beta and install Scripter X Beta?

It doesn't appear in 4.0.0.9:

image.thumb.png.4c7206ddb584154a8f611f8730f6af0a.png

 

On 16/01/2024 at 14:21, Anthony Musgrove said:

Hey @Stan Guiseppe, thank you heaps for the awesome feedback! :)

 

I've just added Pause and Unpause into the next version, which I am about to release on the Emby catalog, v5.0.0.3.  

 

You'll notice %playback.event.name% which will equal Pause, Unpause, TimeEvent.  

With regard to packages, this will be available again shortly, I'm just revamping the packages implementation to ensure it is all secure and clean.

 

image.thumb.png.92bb67f7b01d1ccbc3c3b2da24c1357a.png

 

Link to comment
Share on other sites

Anthony Musgrove
17 minutes ago, Stan Guiseppe said:

Thanks Anthony,

I'm on stable and mine is fixed now after installing 4.0.0.9.

So to get the %playback.event.name% function, do I need to go Emby Beta and install Scripter X Beta?

It doesn't appear in 4.0.0.9:

image.thumb.png.4c7206ddb584154a8f611f8730f6af0a.png

 

 

Hey Stan!  Yep mate, any new functionality now is only being added to the latest beta channel stuff, If that's a major issue though I may be able to put this one change into the stable version too

Link to comment
Share on other sites

Stan Guiseppe

Yeah I was hoping to stay on stable if possible. 

But I don't want you to go to too much trouble just for this!

Is there a way I can manually create a script to achieve pause/resume function?

Link to comment
Share on other sites

Anthony Musgrove
1 hour ago, Stan Guiseppe said:

Yeah I was hoping to stay on stable if possible. 

But I don't want you to go to too much trouble just for this!

Is there a way I can manually create a script to achieve pause/resume function?

As a very special one off, I've added it to the stable release :)   New version 4.1.0.0 Stable includes :-

* Added %playback.event.name% to onPlaybackProgress - you can use this with a clause to detect 'Pause', 'Unpause', 'TimeUpdate'  (this coincides with new functionality for Beta stream, one off feature request)
 

It doesn't include any new features or changes from the 5.* versions other than the one above, but it will get you out of trouble :)

 

2024-01-18 14:02:37.492 Info Emby ScripterX: onPlaybackProgress: Pause

2024-01-18 14:02:36.552 Info Emby ScripterX: onPlaybackProgress: TimeUpdate

2024-01-18 14:02:36.291 Info Emby ScripterX: onPlaybackProgress: Unpause

 

Link to comment
Share on other sites

Stan Guiseppe
39 minutes ago, Anthony Musgrove said:

As a very special one off, I've added it to the stable release :)   New version 4.1.0.0 Stable includes :-

* Added %playback.event.name% to onPlaybackProgress - you can use this with a clause to detect 'Pause', 'Unpause', 'TimeUpdate'  (this coincides with new functionality for Beta stream, one off feature request)
 

It doesn't include any new features or changes from the 5.* versions other than the one above, but it will get you out of trouble :)

 

2024-01-18 14:02:37.492 Info Emby ScripterX: onPlaybackProgress: Pause

2024-01-18 14:02:36.552 Info Emby ScripterX: onPlaybackProgress: TimeUpdate

2024-01-18 14:02:36.291 Info Emby ScripterX: onPlaybackProgress: Unpause

 

This is awesome Anthony, thanks very much!! :D 

You are too good.

  • Thanks 1
Link to comment
Share on other sites

abegreen

Hi,

Installed 4.1.0.0 and scripts now work, but When I go to Scripter-X-->Actions, I only see a blank page. Tried restarting everything, do you have any idea why is that?

Thank you for developing this plugin. Without it, Emby is just a simple movie player.

Link to comment
Share on other sites

Anthony Musgrove
4 hours ago, abegreen said:

Hi,

Installed 4.1.0.0 and scripts now work, but When I go to Scripter-X-->Actions, I only see a blank page. Tried restarting everything, do you have any idea why is that?

Thank you for developing this plugin. Without it, Emby is just a simple movie player.

 

Hey @abegreen, thank you so much for the awesome feedback! :)

With regard to the blank screen, could you confirm if you're using the stable or beta version of Emby Server?  4.1.0.0 is for the stable emby server, and 5.* is for the beta release of emby server.  Once that's confirmed, I can help troubleshoot further!

If you are using the stable emby server with 4.1.0.0 and it is still blank screening, can you please check out the web developer console in your browser and see if there are any errors showing in there.  It may be that your browser cache needs to be cleared.

 

Kindest regards,

Anthony

Link to comment
Share on other sites

abegreen

Using stable version of Emby server. Not using from browser but Windows app.

Also when I go to Emby Scripter-X → Packages there is this message:

Please Note: there is a known issue where after you install a package you are required to reload the packages page for the new package information to show properly. This issue will be addressed shortly.

Link to comment
Share on other sites

Oracle

Thinking this would be cool to use, but can't necessarily come up with a use case for me personally.

What is everyone else using this for specifically? Would anyone be able to provide some example scripts (publicly or privately?)

Thanks.

Link to comment
Share on other sites

Spaceboy

i use it to kick off the comskip process for a recording as the recording starts. currently with native emby function you can only kick this off when the recording finishes

Link to comment
Share on other sites

rbjtech
25 minutes ago, Oracle said:

Thinking this would be cool to use, but can't necessarily come up with a use case for me personally.

What is everyone else using this for specifically? Would anyone be able to provide some example scripts (publicly or privately?)

Thanks.

I use it to write an emby authentication log for external dmz tools to use - used for blacklisting IP's etc.   It also initiates alerts via PushOver etc if wrong password or brute force attempts etc.

As you are a powershell wizard - you're gonna hate the use of batch files, but I simply pass the variables into a batch file (as %1, %2 etc) and then do what I want with the data.   This is an example for AuthFail.

image.thumb.png.2fdd8a78be32a2253b63c31dda858125.png

As an example, this is the line that simply writes it to a log file with date and time ...

echo [%date% %time:~0,8%] AuthFail %1,%2,%3,%4,%5,%6,%7,%8,%9 >> c:\Emby-Server\emby_auth.log

 

Edited by rbjtech
Link to comment
Share on other sites

abegreen
On 1/21/2024 at 6:04 PM, abegreen said:

Hi,

Installed 4.1.0.0 and scripts now work, but When I go to Scripter-X-->Actions, I only see a blank page. Tried restarting everything, do you have any idea why is that?

Thank you for developing this plugin. Without it, Emby is just a simple movie player.

Ma dude, it works just fine. I was trying to access it from windows app instead to configure it on the server. My bad. Thank you for the quick reply.

Link to comment
Share on other sites

joekingcool
On 1/11/2024 at 12:47 AM, Anthony Musgrove said:

My question firstly though would be - what are you trying to achieve via commandline?  What is it that you need to get emby to do/provide via commandline?

i would like to update the guide or shutdown emby or run library scan from cmd prompt. is that possible? i use curl to shutdown emby with api key, but couldnt find any more api cmds for emby on the forum's. 

Link to comment
Share on other sites

  • 2 weeks later...
clost
On 1/21/2024 at 9:11 PM, Anthony Musgrove said:

 

Hey @abegreen, thank you so much for the awesome feedback! :)

With regard to the blank screen, could you confirm if you're using the stable or beta version of Emby Server?  4.1.0.0 is for the stable emby server, and 5.* is for the beta release of emby server.  Once that's confirmed, I can help troubleshoot further!

If you are using the stable emby server with 4.1.0.0 and it is still blank screening, can you please check out the web developer console in your browser and see if there are any errors showing in there.  It may be that your browser cache needs to be cleared.

 

Kindest regards,

Anthony

He is true, it is really blank

截屏2024-02-04 03.00.37.png

Link to comment
Share on other sites

Guest RafaelP
On 1/21/2024 at 10:11 PM, Anthony Musgrove said:

 

Hey @abegreen, thank you so much for the awesome feedback! :)

With regard to the blank screen, could you confirm if you're using the stable or beta version of Emby Server?  4.1.0.0 is for the stable emby server, and 5.* is for the beta release of emby server.  Once that's confirmed, I can help troubleshoot further!

If you are using the stable emby server with 4.1.0.0 and it is still blank screening, can you please check out the web developer console in your browser and see if there are any errors showing in there.  It may be that your browser cache needs to be cleared.

 

Kindest regards,

Anthony


I have the same error. I've tried with 4.1.0.0 and 4.0.0.9

Emby logs show the following logs: 2024-02-09 08:36:28.615 Error Emby ScripterX: Error adding global server tokens: Object reference not set to an instance of an object.

Dev console doesn't show any errors as far as I can see.

Link to comment
Share on other sites

ginjaninja
On 09/02/2024 at 07:40, Guest RafaelP said:


I have the same error. I've tried with 4.1.0.0 and 4.0.0.9

Emby logs show the following logs: 2024-02-09 08:36:28.615 Error Emby ScripterX: Error adding global server tokens: Object reference not set to an instance of an object.

Dev console doesn't show any errors as far as I can see.

just updated to server 4.8.0.1

scripter had updated to v5 so uninstalled and reinstalled 4.1.0.0.

same issue ...action page is not rendered. dont know how to look for errors undet f12...any guidance? ty.

edit

the error in emby log seems relevant

2024-02-12 08:45:28.280 Error App: Error creating EmbyScripterX.ScripterXController
	*** Error Report ***
	Version: 4.8.1.0
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\Emby-Server\system\EmbyServer.dll -service
	Operating system: Microsoft Windows 10.0.19045
	Framework: .NET 6.0.26
	OS/Process: x64/x64
	Runtime: C:/Users/Nicholas Bird/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 12
	Data path: C:\Users\Nicholas Bird\AppData\Roaming\Emby-Server\programdata
	Application path: C:\Users\Nicholas Bird\AppData\Roaming\Emby-Server\system
	SimpleInjector.ActivationException: SimpleInjector.ActivationException: No registration for type ScripterXController could be found and an implicit registration could not be made. Method not found: 'Void MediaBrowser.Controller.Providers.IProviderManager.add_RefreshStarted(System.EventHandler`1<MediaBrowser.Model.Events.GenericEventArgs`1<MediaBrowser.Controller.Entities.BaseItem>>)'.
	 ---> System.MissingMethodException: Method not found: 'Void MediaBrowser.Controller.Providers.IProviderManager.add_RefreshStarted(System.EventHandler`1<MediaBrowser.Model.Events.GenericEventArgs`1<MediaBrowser.Controller.Entities.BaseItem>>)'.
	   at EmbyScripterX.EventManagers.ScripterXProviderManager.subscribeEvents()
	   at EmbyScripterX.EventManagers.ScripterXProviderManager..ctor(IProviderManager providerManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method778(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
	   --- End of inner exception stack trace ---
	   at SimpleInjector.InstanceProducer.GetInstance()
	   at SimpleInjector.Container.GetInstanceForRootType(Type serviceType)
	   at SimpleInjector.Container.GetInstance(Type serviceType)
	   at Emby.Server.Implementations.ApplicationHost.CreateInstanceSafe(Tuple`2 typeInfo)
	Source: SimpleInjector
	TargetSite: System.Object GetInstance()
	InnerException: System.MissingMethodException: Method not found: 'Void MediaBrowser.Controller.Providers.IProviderManager.add_RefreshStarted(System.EventHandler`1<MediaBrowser.Model.Events.GenericEventArgs`1<MediaBrowser.Controller.Entities.BaseItem>>)'.
	Source: EmbyScripterX
	TargetSite: Void subscribeEvents()
	   at EmbyScripterX.EventManagers.ScripterXProviderManager.subscribeEvents()
	   at EmbyScripterX.EventManagers.ScripterXProviderManager..ctor(IProviderManager providerManager)
	   at EmbyScripterX.ScripterXController..ctor(ISessionManager sessionManager, IJsonSerializer jsonSerializer, IHttpClient httpClient, ILogManager logManager, IUserDataManager userDataManager, ILibraryManager libraryManager, IProviderManager providerManager, ITaskManager taskManager, ILiveTvManager liveTvManager, IDeviceManager deviceManager, ICollectionManager collectionManager, IServerConfigurationManager serverConfigurationManager, IApplicationHost applicationHost, IServerApplicationHost serverApplicationHost, IUserManager userManager, IDeviceDiscovery deviceDiscoveryManager, IEnvironmentInfo environmentInfo, IApplicationPaths applicationPaths, IHttpServer httpServer, IZipClient zipClient, IFileSystem fileSystem, IXmlSerializer xmlSerializer, ISubtitleManager subtitleManager)
	   at lambda_method778(Closure )
	   at SimpleInjector.InstanceProducer.BuildAndReplaceInstanceCreatorAndCreateFirstInstance()
	   at SimpleInjector.InstanceProducer.GetInstance()
Spoiler


image.png.ca41b338447d1817bdbfa55b6fcecff3.png

<?xml version="1.0"?>
<PluginConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <PluginOptions>
    <Enabled>true</Enabled>
    <onAuthenticationFailed_Enabled>true</onAuthenticationFailed_Enabled>
    <onAuthenticationSuccess_Enabled>true</onAuthenticationSuccess_Enabled>
    <onLibraryScanComplete_Enabled>true</onLibraryScanComplete_Enabled>
    <onMediaItemAdded_Enabled>true</onMediaItemAdded_Enabled>
    <onMediaItemAddedComplete_Enabled>true</onMediaItemAddedComplete_Enabled>
    <onMediaItemRemoved_Enabled>true</onMediaItemRemoved_Enabled>
    <onMediaItemUpdated_Enabled>true</onMediaItemUpdated_Enabled>
    <onPlaybackStart_Enabled>true</onPlaybackStart_Enabled>
    <onPlaybackStopped_Enabled>true</onPlaybackStopped_Enabled>
    <onScheduledTask_Enabled>true</onScheduledTask_Enabled>
    <onSessionEnded_Enabled>true</onSessionEnded_Enabled>
    <onSessionStarted_Enabled>true</onSessionStarted_Enabled>
    <onCameraImageUploaded_Enabled>true</onCameraImageUploaded_Enabled>
    <onLiveTVRecordingStart_Enabled>true</onLiveTVRecordingStart_Enabled>
    <onLiveTVRecordingEnded_Enabled>true</onLiveTVRecordingEnded_Enabled>
    <onScheduledTaskStart_Enabled>true</onScheduledTaskStart_Enabled>
    <onScheduledTaskEnded_Enabled>true</onScheduledTaskEnded_Enabled>
    <onPlaybackProgress_Enabled>true</onPlaybackProgress_Enabled>
    <onUserConfigurationUpdated_Enabled>true</onUserConfigurationUpdated_Enabled>
    <onUserPasswordChanged_Enabled>true</onUserPasswordChanged_Enabled>
    <onUserLockedOut_Enabled>true</onUserLockedOut_Enabled>
    <onUserCreated_Enabled>true</onUserCreated_Enabled>
    <onUserDeleted_Enabled>true</onUserDeleted_Enabled>
    <onRecordingTimerCreated_Enabled>true</onRecordingTimerCreated_Enabled>
    <onRecordingTimerCancelled_Enabled>true</onRecordingTimerCancelled_Enabled>
    <onUserDataSaved_Enabled>true</onUserDataSaved_Enabled>
  </PluginOptions>
  <Actions_onAuthenticationFailed />
  <Actions_onAuthenticationSuccess />
  <Actions_onLibraryScanComplete />
  <Actions_onMediaItemAdded />
  <Actions_onMediaItemAddedComplete>
    <EmbyScripterXAction>
      <ActionID>ba38ae54-085f-4a6d-877b-a9dd2f641b9a</ActionID>
      <Enabled>false</Enabled>
      <ActionType>onMediaItemAdded</ActionType>
      <Interpreter>pwsh</Interpreter>
      <Script>"A:\PSScript\ManageWanted\ManageWanted.ps1"</Script>
      <Parameters />
      <MacroCommands />
      <Conditions>
        <EmbyScripterXActionCondition>
          <Type>Token</Type>
          <TokenID>%item.type%</TokenID>
          <TokenGroup>Item</TokenGroup>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>Equals</Operator>
          <Value>Equals</Value>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>ENTITY.TYPE</Operator>
          <Value>Movie</Value>
        </EmbyScripterXActionCondition>
      </Conditions>
      <CmdParameters />
    </EmbyScripterXAction>
  </Actions_onMediaItemAddedComplete>
  <Actions_onMediaItemRemoved />
  <Actions_onMediaItemUpdated>
    <EmbyScripterXAction>
      <ActionID>90b67276-39fa-4fdb-b507-2d60dd7222db</ActionID>
      <Enabled>false</Enabled>
      <ActionType>onMediaItemUpdated</ActionType>
      <Interpreter>pwsh</Interpreter>
      <Script>"A:\PSScript\ManageWanted\ManageWanted.ps1"</Script>
      <Parameters />
      <MacroCommands />
      <Conditions>
        <EmbyScripterXActionCondition>
          <Type>Token</Type>
          <TokenID>%item.type%</TokenID>
          <TokenGroup>Item</TokenGroup>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>Equals</Operator>
          <Value>Equals</Value>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>ENTITY.TYPE</Operator>
          <Value>Movie</Value>
        </EmbyScripterXActionCondition>
      </Conditions>
      <CmdParameters />
    </EmbyScripterXAction>
  </Actions_onMediaItemUpdated>
  <Actions_onPlaybackStart>
    <EmbyScripterXAction>
      <ActionID>49ecbb37-456f-450b-9ed2-bb45ed130e6b</ActionID>
      <Enabled>false</Enabled>
      <ActionType>onPlaybackStart</ActionType>
      <Interpreter>pwsh.exe</Interpreter>
      <Script>-File "A:\PSScript\ClearPaused\ClearPaused.ps1"</Script>
      <Parameters>-Id "%item.id%" -userid "%user.id%" -deviceid "%device.id%"</Parameters>
      <MacroCommands />
      <Conditions>
        <EmbyScripterXActionCondition>
          <Type>Token</Type>
          <TokenID>%item.type%</TokenID>
          <TokenGroup>Item</TokenGroup>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>Equals</Operator>
          <Value>Equals</Value>
        </EmbyScripterXActionCondition>
        <EmbyScripterXActionCondition>
          <Type>Operator</Type>
          <Operator>ENTITY.TYPE</Operator>
          <Value>Episode</Value>
        </EmbyScripterXActionCondition>
      </Conditions>
      <CmdParameters />
    </EmbyScripterXAction>
  </Actions_onPlaybackStart>
  <Actions_onPlaybackStopped>
    <EmbyScripterXAction>
      <ActionID>ce720411-2d4e-4533-bc6c-9e41ec195da2</ActionID>
      <Enabled>false</Enabled>
      <ActionType>onPlaybackStopped</ActionType>
      <Interpreter>pwsh</Interpreter>
      <Script>-File "A:\PSScript\TidyForCollections\TidyForCollections.ps1"</Script>
      <Parameters />
      <MacroCommands />
      <Conditions />
      <CmdParameters />
    </EmbyScripterXAction>
  </Actions_onPlaybackStopped>
  <Actions_onScheduledTask />
  <Actions_onSessionEnded />
  <Actions_onSessionStarted />
  <Actions_onCameraImageUploaded />
  <Actions_onLiveTVRecordingStart />
  <Actions_onLiveTVRecordingEnded />
  <Actions_onScheduledTaskStart />
  <Actions_onScheduledTaskEnded />
  <Actions_onPlaybackProgress />
  <Actions_onUserConfigurationUpdated />
  <Actions_onUserPasswordChanged />
  <Actions_onUserLockedOut />
  <Actions_onUserCreated />
  <Actions_onUserDeleted />
  <Actions_onRecordingTimerCreated />
  <Actions_onRecordingTimerCancelled />
  <Actions_onUserDataSaved />
  <InstalledPackages />
  <Server_Platform>WINDOWS</Server_Platform>
</PluginConfiguration>


 

Edited by ginjaninja
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...