> For the complete documentation index, see [llms.txt](https://onsharp.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onsharp.gitbook.io/docs/basic-usage/concept-of-entry-points.md).

# Concept of Entry Points

The concept of entry points is quite simple: You cannot access the Onsharp API statically, so you need some kind of "entry points". Therefore we want to introduce the interface `Onsharp.IEntryPoint` . An entry point will be initialized automatically when the plugin gets loaded, and you can access specific parts of the Onsharp API with these entry points. A plugin main class is extending the entry point and offers the access to the rest of the Onsharp API. Here is a list of features the entry points are offering:

* Access to the API for the plugin management
* Access to the `Onsharp.IServer` interface of the current plugin
* Access to the `Onsharp.Native.IRuntime` interface to control the Onsharp runtime
* Entry Points are automatically registers as holder for [console commands](/docs/advance-usage/create-console-commands.md), [ingame commands](/docs/basic-usage/create-commands.md), [exportables](/docs/advance-usage/interop-of-lua-and-vice-versa.md) as well as [server and remote events](/docs/basic-usage/the-eventapi-of-onsharp.md)
