Пример #1
0
        // ReSharper disable once UnusedMember.Local
        private static void LogNetworkCommandsAndCheckPermissions(Console self, NetworkUser sender, string concommandName, List <string> userArgs)
        {
            StringBuilder s = new StringBuilder();

            userArgs.ForEach((str) => s.AppendLine(str));

            if (sender != null && sender.isLocalPlayer == false)
            {
                Log.Message(string.Format(Lang.NETWORKING_OTHERPLAYER_4, sender.userName, sender.id.value, concommandName, s.ToString()));
            }
            else if (Application.isBatchMode)
            {
                Log.Message(string.Format(Lang.NETWORKING_OTHERPLAYER_4, "Server", 0, concommandName, s.ToString()));
            }

            var canExecute = true;

            if (sender != null && !sender.isLocalPlayer && PermissionSystem.IsEnabled.Value)
            {
                canExecute = PermissionSystem.CanUserExecute(sender, concommandName, userArgs);
            }

            if (canExecute)
            {
                _origRunCmd(self, sender, concommandName, userArgs);
                ScrollConsoleDown();
            }
        }
Пример #2
0
        private void Awake()
        {
            Configuration = base.Config;

            new Log(Logger);

            #region Not Release Message
#if !RELEASE   //Additional references in this block must be fully qualifed as to not use them in Release Builds.
            string gitVersion = "";
            using (System.IO.Stream stream = System.Reflection.Assembly.GetExecutingAssembly()
                                             .GetManifestResourceStream($"{this.GetType().Namespace}.Resources.CurrentCommit"))
                using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
                {
                    gitVersion = reader.ReadToEnd();
                }
            Log.MessageWarning(
#if DEBUG
                $"This is a debug build!"
#elif NONETWORK
                $"This is a non-networked build!"
#elif NODYN
                $"This is a build without Microsoft.CSharp.dll included. Please put that file manually in your /plugins/ folder."
#elif BLEEDING
                $"This is a Bleeding-Edge build!"
#endif
                , Log.Target.Bepinex);
            Log.MessageWarning($"Commit: {gitVersion.Trim()}", Log.Target.Bepinex);
#endif
            #endregion

            Log.Message("Created by Harb, iDeathHD and . Based on RoR2Cheats by Morris1927.", LogLevel.Info, Log.Target.Bepinex);

            MacroSystem.Init();
            PermissionSystem.Init();
            Hooks.InitializeHooks();
            NetworkManager.Init();

            RunCmdMethod = typeof(Console).GetMethod("RunCmd", BindingFlags.Instance | BindingFlags.NonPublic);
        }