Unable to find main plugin classNot An Issue
After the last big rust update with server improvements, I had to change my server hardware, because after starting the server I had no more chance to realod a plugin. (I had 8gigs of ram and about 100k entities on the map) The compiler is also extreme buggy if you have a small amount of ram:

SignArtist was compiled successfully in 1707ms

(17:32:15) | Unloaded plugin Sign Artist v1.1.2 by Mughisi

(17:32:15) | Unable to find main plugin class: SignArtist

(17:32:15) | Rolling back plugin to last good version: SignArtist

(17:32:15) | Loaded plugin Sign Artist v1.1.2 by Mughisi

And after a manual reload the plugin works great..
They error means either the plugin filename was named wrongly to where it didn’t match the main class or Oxide was unable to read the file, neither of which have to do with the compiler itself.

The only thing the compiler does is compile the plugin, it doesn’t handle the messages like you see above.

If you could provide more details on either issue though, I’m sure we could provide more direction and assistance.
I already fixed that bug with more RAM, but I can tell you how that happens.
Edit: Not fixed yet, but this error is rare now instead of every time I upload a plugin.

This error shows up, If I work on a plugin and upload it on my server files. (Plugin was already installed, just an update)
Then I need to reload the plugin I uploaded a few seconds ago, and everything works fine.

apUf5cb.png
After 18:30:39 I typed in my console "oxide.reload SaveSign" and the plugin starts reloading and works fine.
This message shows up on all of my servers, doesn't matter if fresh restarted or wiped. (Maybe this happens, because I have over 40plugins installed..)

In rare cases, I get this error and have to reload the plugin manually.
ie69VPW.png

Ram usage is about 40% or less.
"Unexpected symbol end-of-file" means that the plugin was edited wrongly or uploaded in a different encoding type that is unsupported by the compiler. Encoding can also be the cause of the "main class" issue, where Oxide and the compiler can't read the file. If uploading in a program such as FileZilla, I'd suggest uploading as "binary" to avoid it being changed at all during upload. I'd also suggest making sure that your text editor is not appending/prepending symbols or changing the encoding at all; saving the file as UTF-8 is generally best.
Yea, but if I reload exactly the same plugin with that error, it works fine without any error message.
1. I edit a plugin and upload it -> getting an error message (end-of-file, or main class missing)
2. typing in console oxide.reload <plugin Name> -> Plugin loads without any problem.

Also this happens only on reloading active plugins, on server startup, there is no error message for any plugin. I think the "hotswap" mechanism causes that error on slow machines or if the ram is full.
I'd suggest making sure that your text editor is not appending/prepending symbols or changing the encoding at all; saving the file as UTF-8 is generally best. This is generally the cause of both of your issues, where the file was changed and cannot be read properly.
I use WinSCP for uploading my files. It uploads in binary mode.
What encoding is your text editor saving as? Have you tried another client to upload? If Oxide and the compiler cannot read the file, it will not load them and show errors like the ones posted previously.
I use Microsoft Visual Studio to edit my plugins and upload them manually over WinSCP on the server.
I will try to use some different programs, thanks for your fast help!
I use WinSCP as well and I have run into encoding issues with it and plugins before.  WinSCP defaults to ANSI - Latin 1 encoding, but you need to save plugins as UTF-8.
Locked automatically