http://wiki.lorekeeper.me/api.php?action=feedcontributions&user=Corowne&feedformat=atomLorekeeper Wiki - User contributions [en]2024-03-29T08:05:59ZUser contributionsMediaWiki 1.34.1http://wiki.lorekeeper.me/index.php?title=Main_Page&diff=863Main Page2020-11-16T20:42:48Z<p>Corowne: /* Links/Contact */</p>
<hr />
<div><br />
Lorekeeper is an open-source framework for managing deviantART-based ARPGs/closed species masterlists coded using the Laravel framework. In simple terms - you will be able to make a copy of the site, do some minor setup/enter data about your species and game, and it'll provide you with the automation to keep track of your species, players and ARPG submissions.<br />
<br />
Lorekeeper is open-source, which means it's free for you to use and modify to your needs. Please see the tutorials below for instructions on setting up!<br />
<br />
'''Development status:'''<br />
<br />
*Basic framework is complete.<br />
*Currently, there are no plans for when any further major updates may occur.<br />
*Smaller updates (bug fixes, etc.) are announced on Discord.<br />
*List of future plans<br />
<br />
=Links/Contact=<br />
Github: https://github.com/corowne/lorekeeper<br />
<br />
Demo site: http://lorekeeper.me/<br />
<br />
Discord server: https://discord.gg/U4JZfsu<br />
<br />
=Tutorials=<br />
<br />
*[[Tutorial: Setting Up|Setting Up]]<br />
*[[Tutorial: Creating Item Types|Creating Item Types]]<br />
<br />
*</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Main_Page&diff=862Main Page2020-11-16T20:40:58Z<p>Corowne: </p>
<hr />
<div><br />
Lorekeeper is an open-source framework for managing deviantART-based ARPGs/closed species masterlists coded using the Laravel framework. In simple terms - you will be able to make a copy of the site, do some minor setup/enter data about your species and game, and it'll provide you with the automation to keep track of your species, players and ARPG submissions.<br />
<br />
Lorekeeper is open-source, which means it's free for you to use and modify to your needs. Please see the tutorials below for instructions on setting up!<br />
<br />
Click on Contents in the sidebar to see more information about Lorekeeper's features.<br />
<br />
'''Development status:'''<br />
<br />
* Basic framework is complete.<br />
* Currently, there are no plans for when any further major updates may occur.<br />
* Smaller updates (bug fixes, etc.) are announced on Discord.<br />
* List of future plans<br />
<br />
= Links/Contact =<br />
Github: <nowiki>https://github.com/corowne/lorekeeper</nowiki><br />
<br />
Demo site: <nowiki>http://lorekeeper.me/</nowiki><br />
<br />
Discord server: <nowiki>https://discord.gg/U4JZfsu</nowiki><br />
<br />
= Tutorials =<br />
<br />
* Setting Up<br />
* Creating Item Types<br />
<br />
*</div>Corownehttp://wiki.lorekeeper.me/index.php?title=How_Random_is_Random%3F&diff=861How Random is Random?2020-11-16T20:40:20Z<p>Corowne: Created page with "Now…as with any use of RNG in games, users tend to treat distribution of rewards with suspicion, especially if they get a string of bad rolls. I decided it would probably be..."</p>
<hr />
<div>Now…as with any use of RNG in games, users tend to treat distribution of rewards with suspicion, especially if they get a string of bad rolls. I decided it would probably be important to preemptively write this section to discuss the random number generation portion, as the same questions and issues tend to show up, and are often based on having only a partial understanding of random number generation.<br />
<br />
As a disclaimer: I do not have in-depth knowledge of cryptography and cannot advise in that direction (which is out of the scope of this section, anyway).<br />
<br />
'''The generated random numbers are not truly random. The results are predictable, given the right conditions.'''<br />
<br />
Fact, but only half of the story.<br />
<br />
'''For people to enjoy the game, numbers generated must use 100% cryptographically secure random number generation for fairness.'''<br />
<br />
Myth, primarily regarding "fairness".<br />
<br />
From these statements, we can see there are 2 separate issues that people are concerned with:<br />
<br />
1. That users with the technical knowledge may be able to exploit the system to their advantage<br />
<br />
2. That the numbers generated are inherently skewed in some way or the other so as to favour certain rolls<br />
<br />
Let’s address these by looking at how numbers are rolled.<br />
<br />
== How are random numbers generated? ==<br />
Lorekeeper uses the built-in PHP function mt_rand() to generate numbers used for rolling rewards. The function uses the Mersenne Twister algorithm to generate numbers…which may be a familiar name if you play competitive Pokemon, as it's also the algorithm used in the game. For those who are unfamiliar: in the older versions of Pokemon, before features to make competitive battling accessible, serious players (and rare Pokemon collectors) would exploit the random number generation in the game to generate Pokemon with the exact stats and shininess they wanted. As you might realise…yes, this theoretically means you could do something similar.<br />
<br />
There is a very big caveat, though, in that you need to have specific information in order to do it. In a Pokemon game, you have access to the entire game and your own game console. In a game running on someone else’s web server, a lot of the details are out of your reach.<br />
<br />
Going a bit further into detail: random number generators, surprisingly, are not random. (Thus, they're more accurately called pseudo-random number generators.) An algorithm will always produce the same output given the same input. That’s one of the foundations of mathematics. It's how you can take someone’s Minecraft seed and generate exactly the same world on your computer. That concept, the “seed” is the important part - it’s the input that generates the predictable output, and if you know both the seed and algorithm, you can know the outcome.<br />
<br />
How difficult is it to find the seed, then? Well, it happens that PHP's code is available online and the question has come up before. The seed value is a function of the current timestamp, the PHP process PID and a value produced by PHP's internal LCG. [1] In simpler terms, anyone looking to exploit this would need 1. to know when exactly the number will be rolled, 2. to know some details that are known only to someone with access to the server/website setup, 3. a certain amount of data. 1 and 2 in particular are going to be unpredictable - the first requires knowing when exactly (to the second) your mods will approve a submission for example, and the second requires being able to run commands on your server (yikes!!!!!) and knowing how your loot tables are set up. Information could be gained from monitoring randomised data to reverse engineer some information about the MT - which, again, will probably tell nothing without knowledge of how the site data is set up.<br />
<br />
I won't say it's entirely uncrackable - but if you do have someone with that amount of knowledge, determination and time to spend cracking your game, I feel you may have significantly bigger problems than game balance. Effectively speaking, in terms of monetary value of time vs monetary value of potential rewards to be gained, the odds that someone would jump through all these hoops to predict your game's rolls are extremely low.<br />
<br />
== Fairness of Rolls ==<br />
I don't think the actual issue is that people think the RNG is broken because it keeps rolling the same result. It's probably that it keeps rolling the same ''negative'' result. Nevertheless, the uniformity of rolls can be fairly easily verified: rolling a large enough pool of numbers and counting how often each one shows up will yield a spread that shows that none of them are significantly more likely to be rolled than any other.<br />
<br />
The verification can be done by yourself in simple PHP - roll a million numbers from, say, 0 to 9 and output the counts. Paste this code here for a quick test.<br />
<code>$numbers = array_fill(0, 10, 0);<br />
for ($i = 0; $i < 1000000; $i++) {<br />
$numbers[mt_rand(0, 9)]++;<br />
}<br />
foreach($numbers as $number=>$count) {<br />
echo "Rolled {$number}: {$count} times<nowiki><br /></nowiki>";<br />
}</code><br />
Each number will be rolled close to 100000 times. The deviation is not particularly significant, and the significance decreases the more times you roll. On the other hand, the fewer times you roll, the more likely it is that you get results that look skewed.<br />
<br />
The important thing to note is that someone rolling a bad result 10 times in a row is not indicative of the code being buggy - unlikely as 10 consecutive fails at a 50% rate is, a possibility is still a possibility. That's how probability works - if you roll bad results you're not necessarily due for something good in the near future, but in the big scheme of things, it'll even itself out eventually.<br />
<br />
== Conclusion ==<br />
In the context of a small game, for the purposes Lorekeeper was intended for, a cryptographically secure random number generator would not be noticeably better than PHP's built-in, non-cryptographically-secure mt_rand() if at all. Yes, the MT has its failings, and there are a number of very valid points on which it can be considered a "bad" pseudo-random number generator. However, just like in social situations, context is important, and in this context none of these points concern 1. your credit card number 2. any perceivable advantage someone may stand to gain in a reasonable amount of time with a reasonable amount of misguided effort. So, for our purposes…yes, the generated results are sufficiently random.<br />
<br />
Bibliography<br />
<br />
1. [https://stackoverflow.com/questions/11358691/how-is-phps-mt-rand-seeded How is PHP's mt_rand seeded? - Stack Overflow]</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Tutorial:_Setting_Up&diff=859Tutorial: Setting Up2020-11-16T20:38:12Z<p>Corowne: Created page with "{| class="wikitable" |Fold Table of Contents Visual Guides Requirements Preface Uploading Obtaining Local and Server Copies Git Hooks Setting Up Web Directory Instal..."</p>
<hr />
<div>{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Visual Guides<br />
<br />
Requirements<br />
<br />
Preface<br />
<br />
Uploading<br />
<br />
Obtaining Local and Server Copies<br />
<br />
Git Hooks<br />
<br />
Setting Up<br />
<br />
Web Directory<br />
<br />
Install Composer<br />
<br />
Packages and Database Setup<br />
<br />
API Keys<br />
<br />
.env<br />
<br />
Command Line Setup<br />
<br />
Cron Jobs<br />
<br />
Site Configuration<br />
<br />
Config Files<br />
<br />
Site Data<br />
<br />
Troubleshooting<br />
|}<br />
<br />
= Visual Guides =<br />
Some Lorekeeper users have written extensive guides on setting up:<br />
<br />
Juni's Dreamhost visual setup guide: <nowiki>https://docs.google.com/document/d/1mpb1KJIKN_yi8aXOs6AwfRrf5D0XwvQxbvmPa3t31xg/edit#heading=h.4dhzdpddx1gk</nowiki><br />
<br />
wych(witch)'s DigitalOcean visual setup guide: <nowiki>https://docs.google.com/document/d/1deGtEdt9Dka3OpIHE7esEAfmrkvdRejHGOQxFu1TWP8</nowiki><br />
<br />
Recommended to use either of these guides as they're highly detailed and contain more screenshots!<br />
<br />
'''What is the difference?'''<br />
<br />
These guides pertain to setting up on different webhosts. The outcome is the same, but cost of webhosting and involvement in setting up varies - please read through the guides and choose the type of webhosting that fits your needs/budget/time!<br />
<br />
The information below is the same as detailed in Juni's guide, but more general/doesn't contain info about setting up on a shared server/configuring passwordless login.<br />
<br />
= Requirements =<br />
Requirements for a web host (assuming it's running on some variant of Unix):<br />
<br />
* PHP 7.2<br />
* MySQL<br />
* SSH access<br />
<br />
If you're not familiar with any of these and don't want to spend too much time shopping around hosts, I personally recommend going with DreamHost's VPS (the cheapest plan will do) as they have everything necessary (the demo site is hosted by them) and their own written instructions for some of the steps in the setup, which I have linked below.<br />
<br />
Additional software requirements:<br />
<br />
* PuTTY (if using Windows) / a program that can be used to SSH into your server<br />
* A Git client (e.g. Sourcetree)<br />
* A text editor (Notepad works, but I recommend something more featured e.g. Visual Studio Code, Notepad++)<br />
* A command line program (for your computer - on windows, this is Command Prompt)<br />
<br />
= Preface =<br />
Setting up your own copy of Lorekeeper consists of 3 main steps:<br />
<br />
# Uploading a copy to your web host<br />
# Setting up the database/admin account configuration<br />
# Site configuration/adding your ARPG data/modifying the source code<br />
<br />
If you have a personal favourite method of setting up your workflow, I would strongly recommend going with what you're comfortable with! Jump ahead to step 2 as there are a few commands you have to run from the command line.<br />
<br />
Otherwise, for this tutorial, I'll assume that you have never touched Git and worked on the command line before, and will run through the steps I go through to get this up and working, with my usual workflow. Refer to the basic version of the tutorial to get it uploaded with less fuss, but less convenience working with the source code.<br />
<br />
= Uploading =<br />
We're going to set this up so that we can use Git to manage changes to the site. The setup is based on this article (with a few modifications + expanding on the comments).<br />
<br />
== Obtaining Local and Server Copies ==<br />
First, we want to make sure we have the software we need. For Windows PCs, download PuTTY from here and install/set it up (click here for instructions).<br />
<br />
Next, we need hosting and a domain name. I'll be using Dreamhost in the examples of this tutorial for hosting.<br />
<br />
Set up the domain name so it points to your server. How to do this depends on where your domain name is registered, so check the instructions they should have provided.<br />
<br />
Obtain a copy of Lorekeeper. The recommended way to do this is to git clone it on your computer - there are various ways of doing this, but the simplest way is probably to clone it from your Git client. This will also initialise it as a Git repository on your computer. Now, you have a copy of Lorekeeper on your computer that you can use for working. I'll call this your '''local copy''', and the one on your server the '''server copy''' (or live site).<br />
<br />
We're going to get the code onto the server. Using your SSH client (PuTTY on Windows/Terminal on Mac) SSH into your server - here are Dreamhost's very detailed instructions on how to do that.<br />
<br />
From here on, you can enter the commands almost exactly as they are.<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Creating and initialising the directories on the server.<br />
|}<br />
Navigate to the directory we're putting the files in.<br />
<code>cd ~</code><br />
Make a directory for your site - name it whatever you want. In this example I'll use "site-name.com", so replace that with your site name.<br />
<code>mkdir site-name.com<br />
cd site-name.com</code><br />
Make a directory called <code>www</code>, go in and git init it.<br />
<code>mkdir www<br />
cd www<br />
git init</code><br />
Go back out and make a second directory named <code>site_hub.git</code> and init it as a bare repository.<br />
<code>cd ..<br />
mkdir site_hub.git<br />
cd site_hub.git<br />
git --bare init</code><br />
Go to your Git client (e.g. Sourcetree as suggested above), select your folder containing Lorekeeper's code and add site_hub.git as a remote. The address is similar to your SSH address but points directly to the folder, something like <code><nowiki>ssh://username@host.com/~/site-name.com/site_hub.git</nowiki></code>.<br />
<br />
If successful, push the code to the remote. In Sourcetree, right click on the remote, choose to push, select the master branch and click OK.<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Adding the remote on the server.<br />
|}<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Adding the remote in Sourcetree.<br />
|}<br />
Back in the SSH client, we'll add site_hub.git as a remote for www.<br />
<code>cd ../www<br />
git remote add hub ../site_hub.git</code><br />
At this point if you enter <code>git remote show hub</code>, you should see something like<br />
<code>* remote hub<br />
URL: /home/your_username/site-name.com/site_hub.git</code><br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Running git pull.<br />
|}<br />
Run a git pull.<br />
<code>git pull hub master</code><br />
Wait for it to finish running, and if it looks like nothing went wrong, enter <code>ls</code> and see that there are files inside the directory.<br />
<br />
== Git Hooks ==<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Creating a hook.<br />
|}<br />
If everything looks good, we'll set up git hooks so that updating the site is as easy as pushing a button.<br />
<br />
Continue by entering<br />
<code>cd .git/hooks<br />
nano post-commit</code><br />
This will bring up a blank text editor. Enter the following text:<br />
<code>#!/bin/sh<br />
<br />
echo<br />
echo "**** Pushing changes to Hub [Prime's post-commit hook]"<br />
echo<br />
<br />
git push hub</code><br />
<br />
<br />
To save the file, enter in order: Ctrl + X, y, enter.<br />
<br />
Then, we'll change the permissions on the file:<br />
<code>chmod +x post-commit</code><br />
We'll also add a hook in site_hub.git.<br />
<code>cd ../../../site_hub.git/hooks<br />
nano post-update</code><br />
The contents of this file (note the directory name you have to edit below!!):<br />
<code>#!/bin/sh<br />
<br />
echo<br />
echo "**** Pulling changes into Prime [Hub's post-update hook]"<br />
echo<br />
<br />
cd $HOME/site-name.com/www || exit<br />
unset GIT_DIR<br />
git pull hub master<br />
<br />
exec git-update-server-info</code><br />
<br />
<br />
Once again: Ctrl + X, y, enter.<br />
<br />
And again, we'll change the permissions on the file:<br />
<code>chmod +x post-update</code><br />
You can now test the hooks by modifying something harmless on your local copy (such as a comment) and commit/pushing the change to the server.<br />
<br />
If set up correctly, the output log should display the message you wrote in post-update and show that the file was updated without errors.<br />
<br />
For a small but important tweak, we'll change the origin of our repository to point to the new site. This is demonstrated in Sourcetree, but should not be too much different in other clients.<br />
<br />
# Checkout the site's master branch.<br />
# Rename the old origin branch.<br />
# Change the site's master branch to origin.<br />
<br />
<br />
<br />
In the future, you (and other users who have access to the repository) can simply push new changes to the code through your Git client at the click of a button, which also keeps track of files that you've added and/or modified, and contains a log of who made what changes to the code. Hooray!<br />
<br />
= Setting Up =<br />
<br />
== Web Directory ==<br />
Update your domain to point to the www/public folder.<br />
<br />
For DreamHost users, this is under Manage Domains > Edit > Web directory. The page may take a few hours to update, and display an error if you have not completely finished the setup yet (this is normal).<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Sample web directory.<br />
|}<br />
<br />
== Install Composer ==<br />
Packages for the project are installed through Composer. You'll want to have it installed both on the server and on your computer.<br />
<br />
Instructions for installing Composer on your server are here.<br />
<br />
Instructions for installing Composer on your computer are here.<br />
<br />
I recommend following the global instructions. If you follow the local setup, place composer.phar in the www directory.<br />
<br />
Additionally, if you're using DreamHost, you will want to change the default PHP version for convenience. See here for instructions.<br />
<br />
Note: At the time of coding, I was using PHP 7.2; when changing the PHP version make sure to use either 7.2 or 7.3. (i.e. replace all instances of <code>php74</code> with <code>php72</code> or <code>php73</code>)<br />
<br />
== Packages and Database Setup ==<br />
In your SSH client, navigate to the www folder and run composer install. (Do this also on your own computer, but navigate to the appropriate directory instead)<br />
<code>cd ~/site-name.com/www<br />
composer install</code><br />
Let it finish running. After that, we'll set up the database.<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Creating a DreamHost database in the control panel.<br />
|}<br />
If you're not on DreamHost or are setting up your local copy:<br />
<br />
This is easiest through phpMyAdmin, so navigate to your site's phpMyAdmin in your browser.<br />
<br />
Click on "Databases" in the top bar, and add a database - it can be called anything you like.<br />
<br />
If you're on DreamHost, go to the control panel to set up a database (see image on right). Be sure to choose names and a password that cannot be easily guessed and note them down! You will need the '''database name''', '''database user''' (the New Username field) and '''database user password''' (the New Password field) later. The '''hostname''' can be used to access PHPMyAdmin - note this down as well.<br />
<br />
== API Keys ==<br />
Now, we need to get access to services that will allow us to send e-mails (for registration/resetting passwords) and connect to deviantART (for verifying accounts).<br />
<br />
For a small site with little traffic, I'd suggest SendGrid (100 mails a day on their free plan), though you can use any service that you like.<br />
<br />
If you're using Sendgrid, after you've created your account, go to API Keys under Settings in the Control Panel and create a new key. Note down the generated '''SendGrid API key''' as we'll need it later. Keep this a secret!<br />
<br />
On deviantART, while logged in, go to the developer area.<br />
<br />
Click on Register Your Application.<br />
<br />
Give your application a name as you would a deviation, and under both <code>OAuth2 Redirect URI Whitelist (Required)</code> and <code>Original URLs Whitelist</code>, put your site's URL (e.g. <nowiki>http://site-name.com</nowiki>). Click save.<br />
<br />
This will add an application under Un-Published Applications on the developer page - you don't need to publish the application to use it.<br />
<br />
Note down the '''deviantART client_id''' and '''deviantART client_secret'''. We'll use these later, and again, keep the secret a secret!<br />
<br />
I recommend creating a second application for use with your local copy rather than using the same application. In this application, instead of your site URL, add localhost (e.g. I use <nowiki>http://127.0.0.1</nowiki>).<br />
<br />
== .env ==<br />
Now, let's use that information.<br />
<br />
The site requires a file named .env to be placed in the root directory of your site (in the www directory). We'll do this in both the local copy and the server copy, but with a few differences.<br />
<br />
Create a file both locally and on the server that contains the following, filling out the fields as noted (avoid using spaces in names):<br />
<code>APP_NAME=site_name_with_no_spaces<br />
APP_ENV=<br />
APP_KEY=<br />
APP_DEBUG=<br />
APP_URL=<br />
<br />
CONTACT_ADDRESS=your_contact_address@site-name.com<br />
DEVIANTART_ACCOUNT=your-dA-group-account-username<br />
<br />
LOG_CHANNEL=stack<br />
<br />
DB_CONNECTION=mysql<br />
DB_HOST=<br />
DB_PORT=<br />
DB_DATABASE=<br />
DB_USERNAME=<br />
DB_PASSWORD=<br />
<br />
BROADCAST_DRIVER=log<br />
CACHE_DRIVER=file<br />
QUEUE_CONNECTION=sync<br />
SESSION_DRIVER=file<br />
SESSION_LIFETIME=120<br />
<br />
REDIS_HOST=127.0.0.1<br />
REDIS_PASSWORD=null<br />
REDIS_PORT=6379<br />
<br />
MAIL_DRIVER=smtp<br />
MAIL_HOST=smtp.sendgrid.net<br />
MAIL_PORT=587<br />
MAIL_USERNAME=apikey<br />
MAIL_PASSWORD=your_sendgrid_api_key<br />
MAIL_FROM_ADDRESS=noreply@site-name.com<br />
MAIL_FROM_NAME=mail_sender_name<br />
<br />
AWS_ACCESS_KEY_ID=<br />
AWS_SECRET_ACCESS_KEY=<br />
AWS_DEFAULT_REGION=us-east-1<br />
AWS_BUCKET=<br />
<br />
PUSHER_APP_ID=<br />
PUSHER_APP_KEY=<br />
PUSHER_APP_SECRET=<br />
PUSHER_APP_CLUSTER=mt1<br />
<br />
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"<br />
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"<br />
<br />
DEVIANTART_CLIENT_ID=your_deviantart_client_id<br />
DEVIANTART_CLIENT_SECRET=your_deviantart_secret<br />
DEVIANTART_CALLBACK_URL=/</code><br />
<br />
<br />
Leave the APP_KEY blank, as it will be generated in a later step.<br />
{| class="wikitable"<br />
|<br />
|-<br />
|<br />
|-<br />
|Comparison of local (left) and server (right) .env.<br />
|}<br />
On the '''local version''', find and fill out the following lines as such (if you created an extra app for testing on deviantART, change the dA client ID and secret to that):<br />
<code>APP_ENV=local<br />
APP_DEBUG=true<br />
APP_URL=<nowiki>http://localhost</nowiki><br />
<br />
DB_HOST=127.0.0.1<br />
DB_PORT=3306<br />
DB_DATABASE=your_local_database_name<br />
DB_USERNAME=root<br />
DB_PASSWORD=</code><br />
<br />
<br />
(Note that in the image to the right, Mailtrap.io is being used for local emails and the CONTACT_ADDRESS and DEVIANTART_ACCOUNT options are missing, but should be required.)<br />
<br />
On the '''server version''', find and fill out the following lines as such:<br />
<code>APP_ENV=production<br />
APP_DEBUG=false<br />
APP_URL=<nowiki>http://site-name.com</nowiki><br />
<br />
DB_HOST=your_database_hostname<br />
DB_PORT=3306<br />
DB_DATABASE=your_server_database_name<br />
DB_USERNAME=your_server_database_user_name<br />
DB_PASSWORD=your_server_database_user_password</code><br />
<br />
== Command Line Setup ==<br />
Moving on to command line setup - now that we have the files in place, we're going to create the database tables, insert some basic required data, and get the crons (scheduled scripts; primarily for scheduled news posts) working.<br />
<br />
On both local and on the server, run the following, letting each complete before the next one:<br />
<code>php artisan key:generate <br />
php artisan migrate</code><br />
<br />
<br />
This will generate the app key (used for encryption) and create the database tables.<br />
<br />
Run the following commands afterwards:<br />
<code>php artisan add-site-settings<br />
php artisan add-text-pages<br />
php artisan copy-default-images</code><br />
Then, we'll set up the admin user:<br />
<code>php artisan setup-admin-user</code><br />
<br />
<br />
This will prompt you for the creation of the admin account, which will have access to all site data. On the live site, I would recommend using this as a purely administrative account and not the site owner's personal account. You can run this command again to change the email address and password of the account.<br />
<br />
At this point, you should be able to log into the site with the admin account.<br />
<br />
== Cron Jobs ==<br />
Finally, we'll set up the crons so we can make use of scheduling.<br />
<br />
'''For non-DreamHost users:'''<br />
<br />
Refer to this article for how to edit the crontab file.<br />
<br />
Add the following line, editing the directory name as necessary:<br />
<code>* * * * * cd ~/site-name.com/www && php artisan schedule:run >> /dev/null 2>&1</code><br />
'''If you are using DreamHost:'''<br />
<br />
Go to the control panel, click on More > Cron Jobs > Add New Cron Job.<br />
<br />
Select the shell user, enter a title (not important; you can set this to your site name for easy identification), and under command to run, add:<br />
<code>cd ~/site-name.com/www && php artisan schedule:run >> /dev/null 2>&1</code><br />
<br />
<br />
Then choose the following options:<br />
<br />
'''When to run:''' Custom<br />
<br />
'''Minutes:''' Selected Minutes<br />
<br />
In the combo box, choose every multiple of 5. DreamHost restricts cron jobs to run every 5 minutes at the very least, so unfortunately you can't get to-the-minute accuracy.<br />
<br />
If you can view the site from the URL - congratulations, you've set up the site successfully!<br />
<br />
= Site Configuration =<br />
Before we start adding data, let's edit the config files in the code, making use of Git to send your updates to the server.<br />
<br />
== Config Files ==<br />
In your local copy, open up config/app.php in your text editor of choice. The code is commented in detail, so you can read and modify the config as you need. Most settings do not need to be touched since you wrote them in .env, but you may want to edit the '''timezone''' to match the clock your community goes by.<br />
<br />
Open up config/lorekeeper/settings.php. Similar to the above, you can read the comments and modify the config as required.<br />
<br />
In your Git client, choose the modified files, commit and push them (important: to your server, not Github!) with a helpful message. If the hooks have been set up correctly, you should see the effects on the live site after it's done. If not, and there were no errors, you may need to run <code>php artisan config:clear</code> on the server.<br />
<br />
== Site Data ==<br />
Now we can start editing the site data. All changes on the live site will only stay on the live site, and all local changes will only remain local.<br />
<br />
Log in as the admin user and go to the admin panel (click the crown in the navigation bar). The first things you may want to edit are:<br />
<br />
* Site Settings<br />
* User Ranks (create moderator ranks)<br />
* Pages (Terms of Service, Privacy Policy, About)<br />
* Site Images<br />
<br />
You can, of course, dive right into editing the game data - I would recommend editing in the order:<br />
<br />
* rarities<br />
* categories (trait categories, item categories, prompt categories, character categories)<br />
* species, traits, items, currencies<br />
* loot tables<br />
* prompts, shops<br />
<br />
Note that at least 1 character category is required to create any characters. More specific information about each type of data can be found on the respective wiki pages.<br />
<br />
= Troubleshooting =<br />
'''Composer install error: The filter extension is missing.'''<br />
<br />
You are probably using PHP 7.4 on the command line, change it to 7.2 or 7.3.<br />
<br />
'''PHP Fatal error: Uncaught Error: Call to undefined function JsonSchema\Uri\filter_var() in …'''<br />
<br />
Same as above, change to PHP 7.2 or 7.3.<br />
<br />
'''500 Server Error trying to send emails'''<br />
<br />
For people who registered accounts after April 6 2020, SendGrid requires the sender identity to be verified. See this article for details.</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Tutorial:_Creating_Item_Tags&diff=858Tutorial: Creating Item Tags2020-11-16T20:37:08Z<p>Corowne: Created page with "This is a tutorial on how to add new item types (item tags). Throughout the tutorial, I will also walk through the creation of the Box item type in the blue boxes, which was a..."</p>
<hr />
<div>This is a tutorial on how to add new item types (item tags). Throughout the tutorial, I will also walk through the creation of the Box item type in the blue boxes, which was also implemented using this method.<br />
<br />
First, let's define what a box type item is/does:<br />
<br />
* A box is an "openable" item. This item can be used from the inventory and will give the user a set of assets (can be defined in the admin panel), and delete the original item.<br />
* Assets can be items, currency or loot tables. Loot tables will be rolled. Multiple assets of various quantities can be attached in the admin panel.<br />
<br />
= 1. Add item type to the config file =<br />
Find the config file: <code>config/lorekeeper/item_tags.php</code><br />
<br />
Add a row inside the array, in the format:<br />
'tag_name' => [<br />
'name' => 'Tag Name',<br />
'text_color' => '#000000',<br />
'background_color' => '#000000'<br />
],<br />
Where <code>text_color</code> and <code>background_color</code> are hexadecimal colour codes excluding the #. These colours will be used in displaying the tag label.<br />
<br />
Replace <code>tag_name</code> and <code>Tag Name</code> as well, following those capitalisation/punctuation rules.<br />
<br />
<code>tag_name</code> must be a unique key (all small letters, underscores instead of spaces), but <code>Tag Name</code> (any capitalisation, any formatting) does not have to be. The latter will be used in displaying tag names on user-facing pages.<br />
<br />
Adding our box item type, which will be an orange tag label with white text.<br />
'box' => [<br />
'name' => 'Box',<br />
'text_color' => '#ffffff',<br />
'background_color' => '#f6993f'<br />
],<br />
<br />
= 2. Add a service class for the item tag =<br />
This class will help us process the data and get relevant information for our form.<br />
<br />
Create a file called <code>[ItemTag]Service.php</code> in <code>app/Services/Item</code>. The capitalisation is important!<br />
<br />
These are the required functions:<br />
<br />
* <code>getEditData()</code> - Retrieves any data that you need for your editing form. Should return an array, and can be accessed from the tag using $tag->getEditData().<br />
* <code>getTagData($tag)</code> - Does some custom processing and returns tag data in an appropriate format for your needs. Can be accessed from the tag using $tag->getData(). This is not strictly necessary if you don't use it, but allows you to implement some custom handling.<br />
* <code>updateData($tag, $data)</code> - Handles updating of the tag's data in the admin panel. Add your custom processing here.<br />
* <code>act($stack, $user, $data)</code> - Handles what happens when a user uses the item.<br />
<br />
Here is a blank template for the file:<br />
<br />
+ Click to Expand<br />
<br />
You can also add any additional functions that you may need in order to process the data.<br />
<br />
As we haven't started creating the form, we probably aren't entirely sure what data we'll need at this point, so we will just create <code>app/Services/Item/BoxService.php</code> for now and move on to the next step.<br />
<br />
= 3. Add item tag settings editing to the admin panel =<br />
We need to create a form in the admin panel so we can edit the item data.<br />
<br />
Go to the admin panel for the item you want to tag (<code>your-site-url.com/admin/data/items/edit/[item_id]</code>), and add the item tag you want to edit in the Item Tags section. Doing so should bring you to the tag settings page, but only the "Active" toggle will be visible. If you only want this tag to be cosmetic, you can stop here.<br />
<br />
Add a new file in <code>resources/views/admin/items/tags</code> named <code>[tag_name].blade.php</code>, where <code>[tag_name]</code> is as you specified in the config file (no square brackets). This will contain the form HTML for our other fields.<br />
<br />
A few other optional sections can be added to allow you to insert data into the page in various locations.<br />
<br />
* If you're using Javascript, make a new file in <code>resources/views/js/admin_items</code> with the same file name as above and include script tags when writing your Javascript.<br />
* Files can be added in <code>resources/views/admin/items/tags</code> named <code>[tag_name]_pre.blade.php</code> and <code>[tag_name]_post.blade.php</code>. These add content before and after the form respectively, so any form elements in these sections will not be sent along with the rest of the data.<br />
<br />
We'll add 3 files:<br />
<br />
* box.blade.php in resources/views/admin/items/tags<br />
* box_post.blade.php in resources/views/admin/items/tags<br />
* box.blade.php in resources/views/js/admin_items<br />
<br />
As they rely heavily on pre-existing code, I would recommend going through the files to see how they're set up.<br />
<br />
These contain the code that will allow us to select assets using Javascript. The code in these files is fairly simple as I've made selectors that are easy to include.<br />
<br />
However, for the select inputs, we need to be able to retrieve the item/currency/loot table data to fill them out, so we'll do that in BoxService:<br />
<br />
* In getEditData(), we add the code to retrieve our dropdown data. This makes it possible to select assets from the form.<br />
* In getTagData(), we take the data attribute of the tag and format it so that our item/currency/loot table selection code can read it and show us what we've already put in the box.<br />
* In updateData($tag, $data), we add the code that processes the data from the admin panel. This is where we handle the saving of what goes into the box.<br />
* In act($stack, $user, $data), we add the code for distributing the box's contents and deleting the item from the user's inventory. This will be handled later.<br />
<br />
= 4. Add front-facing views =<br />
Now that we're done with editing the item in the admin panel, let's look at how the user will see and interact with the item.<br />
<br />
If you look at the item in your inventory (click on it to show the modal), you will see that it now displays the tag under the name. Let's add a new feature above the "Transfer Item" and "Delete Item" options.<br />
<br />
Create a file named <code>_[tag_name].blade.php</code> (note the underscore in front) in <code>resources/views/inventory</code>. Add any additional options to the list in this file. Sample code:<br />
<nowiki><li class="list-group-item"></nowiki><br />
<a class="card-title h5 collapse-title" data-toggle="collapse" href="#customForm"> Action Name</a><br />
{!! Form::open(['url' => 'inventory/act/'.$stack->id.'/'.$tag->tag, 'id' => 'customForm', 'class' => 'collapse']) !!}<br />
<!-- You can add more form fields in this space. --><br />
<nowiki><div class="text-right"></nowiki><br />
{!! Form::submit('Action Name', ['class' => 'btn btn-primary']) !!}<br />
<nowiki></div></nowiki><br />
{!! Form::close() !!}<br />
<nowiki></li></nowiki><br />
Some notes:<br />
<br />
* IDs must be unique, so to avoid any overlap, change <code>customForm</code> (in both places) to a unique name.<br />
* The above form only adds one new option on the modal, but you can add multiple by adding more in succession. The form URL must be the same, but you can distinguish the intended action by, for example, giving the submit button in each form a different <code>name</code> attribute.<br />
* The action will only be displayed if the user is logged in and either owns the item, or is a staff member with the <code>edit_inventories</code> power.<br />
<br />
As no other information is required in the form, we'll simply put in a note to the user that this action is irreversible. This functions as a confirmation screen for using the item.<br />
<nowiki><li class="list-group-item"></nowiki><br />
<a class="card-title h5 collapse-title" data-toggle="collapse" href="#openBoxForm"> Open Box</a><br />
{!! Form::open(['url' => 'inventory/act/'.$stack->id.'/'.$tag->tag, 'id' => 'openBoxForm', 'class' => 'collapse']) !!}<br />
<nowiki><p>This action is not reversible. Are you sure you want to open this box?</p></nowiki><br />
<nowiki><div class="text-right"></nowiki><br />
{!! Form::submit('Open', ['class' => 'btn btn-primary']) !!}<br />
<nowiki></div></nowiki><br />
{!! Form::close() !!}<br />
<nowiki></li></nowiki><br />
<br />
= 5. Add action processing =<br />
We now need to write the back-end code for handling what happens when you use the item.<br />
<br />
Back in <code>[ItemName]Service.php</code> from step 3, one of the functions we created was <code>act($stack, $user, $data)</code>. Inside that function, if you have only one possible action, you can directly write the handling code. If you have multiple possible actions, you can write a switch/case statement that checks <code>$data</code> and calls a different function depending on the intended usage.<br />
<br />
Note that <code>$stack</code> refers to the user-held item stack, while <code>$stack->item</code> refers to the actual item data itself.<br />
<br />
We don't want any other user except for the owner to open a box, so the first thing we do is check that the box belongs to the owner. Following that, we remove the box and distribute the associated rewards (with logging).<br />
public function act($stack, $user, $data)<br />
{<br />
<nowiki> </nowiki> DB::beginTransaction();<br />
<nowiki> </nowiki><br />
<nowiki> </nowiki> try {<br />
<nowiki> </nowiki> // We don't want to let anyone who isn't the owner of the box open it,<br />
<nowiki> </nowiki> // so do some validation... <br />
<nowiki> </nowiki> if($stack->user_id != $user->id) throw new \Exception("This item does not belong to you.");<br />
<nowiki> </nowiki><br />
<nowiki> </nowiki> // Next, try to delete the box item. If successful, we can start distributing rewards.<br />
<nowiki> </nowiki> if((new InventoryManager)->debitStack($stack->user, 'Box Opened', ['data' => <nowiki>''</nowiki>], $stack)) {<br />
<nowiki> </nowiki><br />
<nowiki> </nowiki> // Distribute user rewards<br />
<nowiki> </nowiki> if(!$rewards = fillUserAssets(parseAssetData($stack->item->tag('box')->data), $user, $user, 'Box Rewards', [<br />
<nowiki> </nowiki> 'data' => 'Received rewards from opening <nowiki><a href="#" class="inventory-log-stack" data-id="'.$stack->id.'" data-name="'.$stack->item->name.'">'.$stack->item->name.'</a></nowiki>'<br />
<nowiki> </nowiki> ])) throw new \Exception("Failed to open box."); <br />
<nowiki> </nowiki> }<br />
<nowiki> </nowiki><br />
<nowiki> </nowiki> return $this->commitReturn(true);<br />
<nowiki> </nowiki> } catch(\Exception $e) { <br />
<nowiki> </nowiki> $this->setError('error', $e->getMessage());<br />
<nowiki> </nowiki> }<br />
<nowiki> </nowiki> return $this->rollbackReturn(false);<br />
}<br />
<br />
= Summary =<br />
The whole process consists of 5 steps:<br />
<br />
# Adding the tag to <code>config/lorekeeper/item_tags.php</code><br />
# Creating the service class in <code>app/Services/Item</code> containing 4 functions, <code>getEditData()</code>, <code>getTagData($tag)</code>, <code>updateData($tag, $data)</code> and <code>act($stack, $user, $data)</code><br />
# Adding item tag setting form fields in <code>resources/views/admin/items/tags</code> and possibly <code>resources/views/js/admin_items</code> for the admin panel, and handling in service class if not already done<br />
# Adding action(s) to the inventory menu in <code>resources/views/inventory</code><br />
# Adding the effects of inventory actions in the service class</div>Corownehttp://wiki.lorekeeper.me/index.php?title=User_Ranks&diff=857User Ranks2020-11-16T20:28:49Z<p>Corowne: Created page with "{| class="wikitable" |Fold Table of Contents Effects Powers Editing Admin See Also |} Ranks are assigned to users to manage their access to various parts of the site. =..."</p>
<hr />
<div>{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Effects<br />
<br />
Powers<br />
<br />
Editing<br />
<br />
Admin<br />
<br />
See Also<br />
|}<br />
Ranks are assigned to users to manage their access to various parts of the site.<br />
<br />
= Effects =<br />
Ranks have a name, description, colour, and can have any number (or none) of specific powers that restrict access to different parts of the admin panel. Users without the appropriate power will not be able to view certain admin pages/carry out certain actions. By default, the member rank has no powers, and therefore cannot access the admin panel at all. The colour assigned to a rank will be applied to the usernames of users of that rank.<br />
<br />
The exception is the admin rank, which is created during setup. The admin rank cannot be deleted, its powers cannot be removed, and additionally has exclusive access to certain parts of the admin panel.<br />
<br />
= Powers =<br />
Here is a complete list of powers and their descriptions.<br />
<br />
'''Edit Site Settings'''<br />
<br />
Allow rank to modify site settings and upload new images to replace the site layout images.<br />
<br />
'''Edit World Data'''<br />
<br />
Allow rank to modify the world data. This includes creating/editing/uploading images for species, items, traits, etc.<br />
<br />
'''Edit Text Pages'''<br />
<br />
Allow rank to create/modify text pages. This includes pages created using the page creator tool and news posts.<br />
<br />
'''Manage Users'''<br />
<br />
Allow rank to view/modify user account info and create invitation keys. This will grant access to the user admin panel.<br />
<br />
'''Edit Ranks'''<br />
<br />
Allow rank to change the rank of a user. This power requires the Edit User Info power to be attached as well.<br />
<br />
'''Edit Inventories'''<br />
<br />
Allow rank to grant and remove items from user inventories, as well as grant/remove currency from users and characters.<br />
<br />
'''Manage Masterlist'''<br />
<br />
Allow rank to create/edit new characters. This includes uploading new images, modifying traits on an existing character and forcing ownership transfers.<br />
<br />
'''Manage Raffles'''<br />
<br />
Allow rank to create/edit raffles, add/remove tickets for users and roll raffles.<br />
<br />
'''Manage Submissions'''<br />
<br />
Allow rank to view the submissions queue, edit rewards attached to a submission and approve/reject them.<br />
<br />
= Editing =<br />
Ranks can be edited in the admin panel. '''Only the admin account is able to edit ranks - this is not an assignable power.'''<br />
<br />
Ranks can also be sorted - users will be sorted according to rank on the User Index, starting with the admin rank at the top. Lower ranks are also considered "weaker" than higher ranks - given 2 ranks that both have the Edit Ranks power, a lower-ranked user will not be able to edit the rank of the higher-ranked one.<br />
<br />
The ranks of individual users can be assigned from the user admin panel.<br />
<br />
= Admin =<br />
As mentioned above, the admin account has special access to certain pages and actions.<br />
<br />
These include:<br />
<br />
* User rank editing<br />
* Viewing the blacklist when set to the greatest privacy level<br />
<br />
= See Also =<br />
<br />
* User Accounts<br />
* Site Settings</div>Corownehttp://wiki.lorekeeper.me/index.php?title=User_Accounts&diff=856User Accounts2020-11-16T20:28:25Z<p>Corowne: Created page with "User accounts are required to use most of the site's features, including participation through prompt submissions and managing owned characters. User data can be edited in the..."</p>
<hr />
<div>User accounts are required to use most of the site's features, including participation through prompt submissions and managing owned characters. User data can be edited in the admin panel by users of a rank with the '''Manage Users''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Registration<br />
<br />
Verification<br />
<br />
Profile<br />
<br />
FTO status<br />
<br />
Logs<br />
<br />
Bans<br />
<br />
See Also<br />
|}<br />
<br />
= Registration =<br />
Users are able to register accounts by clicking on the Register button on the right side of the navigation bar when logged out. The name and e-mail address must be unique. An invitation key is required if the site is not open to new user signups.<br />
<br />
New user accounts will always have FTO status on registration.<br />
<br />
= Verification =<br />
After a new account has been created, users need to verify their identity by linking their deviantART account to their site user account. They will not be able to use any other parts of the site until this process has been completed. This account cannot be changed by the user once it has been linked. In the user admin panel, the name cannot be changed directly but can be unlinked, which will require the user to link a deviantART account again to regain access to their account features.<br />
<br />
The deviantART account name is also referred to as the user's "alias". Upon linkage, any characters that were previously credited to the user's alias will be credited to the account immediately. This will also update their FTO status.<br />
<br />
= Profile =<br />
Each user has a profile page, which lists their name, rank, join date, FTO status and other details. A summary of currencies, newest items in their inventory as well as their characters are displayed on the lower half of the page. Users have an HTML-compatible section of their page that they can edit from their user settings.<br />
<br />
This profile page will also display an alert if the user has been banned.<br />
<br />
From the main profile page, the sidebar includes links to logs of player activity.<br />
<br />
= FTO status =<br />
This is a purely cosmetic status that adds a badge to the user's profile. Users are considered FTOs if they have had no logs of character ownership. This can be edited in the user admin panel manually.<br />
<br />
MYO slots do not remove FTO status until they are submitted for design approval and successfully approved.<br />
<br />
= Logs =<br />
Logs for the following are accessible from the user's profile:<br />
<br />
* Ownership history - logs the characters that the user has sent/received<br />
* Item logs - logs the items that the user has used/sent/received<br />
* Currency logs - logs the currencies that the user has used/sent/received<br />
* Prompt submissions - logs the submissions that the user has submitted (only approved submissions)<br />
<br />
= Bans =<br />
Users can be banned from the admin panel. This still allows them to log in, but they can no longer participate in site activities and/or transfer assets to/from other users.<br />
<br />
Banning causes a few things to happen immediately:<br />
<br />
* Pending character transfers to/from the user are cancelled<br />
* Pending prompt submissions and claims from the user are rejected<br />
* Pending design update approvals/MYO approvals from the user are rejected<br />
* Pending trades involving the user are rejected<br />
* The user's rank is downgraded to the lowest possible rank<br />
<br />
A ban reason can be attached to a ban. This is visible on the site's blacklist, although it is not listed directly on the user's profile.<br />
<br />
= See Also =<br />
<br />
* User Ranks<br />
* Characters</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Traits&diff=855Traits2020-11-16T20:26:39Z<p>Corowne: Created page with "Traits are used as add-ons to characters that describe their unique features. They can be edited in the admin panel by users with the '''Edit World Data''' power. {| class="wi..."</p>
<hr />
<div>Traits are used as add-ons to characters that describe their unique features. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Categories<br />
<br />
Traits<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Traits and trait categories can be created in the admin panel, with the option of restricting them to certain species. Once created, they can be attached to characters and MYO slots.<br />
<br />
The character and MYO slot masterlist pages contain options to filter characters by a trait or combination of traits.<br />
<br />
Note that in the code, traits are named "features" instead as "trait" is a reserved keyword in PHP.<br />
<br />
= Editing =<br />
<br />
== Categories ==<br />
Editing trait categories and traits requires the '''Edit World Data''' power.<br />
<br />
Trait categories can be created in the admin panel, with the usual category properties:<br />
<br />
* Name<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
The image and description are displayed only on the world page. Categories are optional, but allow traits to be listed in a controllable order on the character's page.<br />
<br />
== Traits ==<br />
Traits themselves have the following properties:<br />
<br />
* Name<br />
* Rarity<br />
* World Page Image<br />
* Trait Category<br />
* Species Restriction<br />
* Description (accepts HTML)<br />
<br />
'''Name''' is the trait name which is displayed on the trait index.<br />
<br />
'''Rarity''' is the rarity of the trait. While this is mostly cosmetic, a rarity cap can be set on MYO slots - users will only be able to submit the slot for approval with traits equal or lower to that rarity.<br />
<br />
The '''World Page Image''' is shown in the encyclopedia, and nowhere else. As with all encyclopedia images, the recommended size is 200 x 200 pixels, but can be any size. It is recommended to use a simple thumbnail image for this image, and elaborate on trait restrictions, reference images etc. in the description area.<br />
<br />
'''Trait Category''' is the category to which the trait falls under, and used for organisation. It is otherwise optional.<br />
<br />
'''Species Restriction''' sets the trait to only be available for that particular species, and is optional.<br />
<br />
'''Description''' is a description of the trait for the encyclopedia page.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* MYO Slots</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Trades&diff=854Trades2020-11-16T20:26:15Z<p>Corowne: Created page with "Trades are a method of securely transferring resources between 2 different user accounts. {| class="wikitable" |Fold Table of Contents Usage Flow Trade Creation Open Trad..."</p>
<hr />
<div>Trades are a method of securely transferring resources between 2 different user accounts.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Flow<br />
<br />
Trade Creation<br />
<br />
Open Trade<br />
<br />
Approval<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Current and past trades can be viewed by clicking "Trades" in the Activity menu. Trades can be created by clicking the New Trade button.<br />
<br />
Each trade on the index lists the trade's status, sender's comment, each user's offer and the confirmation status. Only the two users involved as well as users with the '''Manage Masterlist''' power (as character transfers need to be able to be monitored) are able to view incomplete trades.<br />
<br />
When a trade is completed and does not contain any characters, the assets will automatically be deposited into the other user's account. If the trade contains any characters, and the '''open_transfers_queue''' site-settings:site setting is set to 1, the trade will go into the transfers queue for approval. Otherwise, it will also complete automatically. Please see the Characters article for more information on transfers.<br />
<br />
Completed transfers can be viewed by any user. Cancelled and rejected transfers do not become visible to other users.<br />
<br />
= Flow =<br />
<br />
== Trade Creation ==<br />
Clicking on the New Trade button allows a user to initiate a trade with another user. The options are:<br />
<br />
* Recipient<br />
* Comments (Optional; no HTML, linebreaks are honoured)<br />
* (Asset Selection)<br />
<br />
The '''Recipient''' must be a registered user of the site.<br />
<br />
'''Comments''' is a section where the sender can write a small note to the recipient. This can be used for stating the purpose of the trade.<br />
<br />
'''Asset Selection''' comprises of 3 sections for selecting items from inventory, characters, and/or currency. Characters that cannot be transferred (cannot be gifted/traded/sold) are By default, a maximum of 20 things can be attached to one trade - this maximum can be edited in the config files, however, it is recommended that this limit be kept low.<br />
<br />
== Open Trade ==<br />
In an open trade, each user is able to view both sides of the offer and edit/confirm their own offer. Both users must confirm their own offer, and then the entire trade after both offers have been confirmed, so that neither user is caught off-guard.<br />
<br />
# A edits A's offer and confirms. B edits B's offer and confirms.<br />
# A looks at A and B's offers and confirms trade. B looks at A and B's offer and confirms trade.<br />
# Trade is completed.<br />
<br />
Offers can be unconfirmed if a user wants to change their offer. If a user wants to change their offer after the other user has confirmed the entire trade, the second user has to reconfirm after the first is done editing.<br />
<br />
At this stage, the trade can be cancelled at any time. After the trade has been confirmed by both parties, it cannot be withdrawn.<br />
<br />
== Approval ==<br />
Approval is only required if the transfers queue is open and the trade contains at least one character. After confirmation, the trade will enter the transfers queue and be processed when approved by staff.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* User Accounts<br />
* Items<br />
* Currencies</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Species&diff=853Species2020-11-16T20:25:46Z<p>Corowne: Created page with "Species are used to categorise characters. Subtypes are subcategories of species that can optionally be assigned to characters as well. They can be edited in the admin panel b..."</p>
<hr />
<div>Species are used to categorise characters. Subtypes are subcategories of species that can optionally be assigned to characters as well. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Species and subtypes are assigned to characters upon creation. Staff can fix the species and subtype for a MYO slot by selecting a species during MYO slot creation. Additionally, traits may also be made assignable to a specific species only. Subtypes do not impose any restrictions on trait selection and are mainly cosmetic.<br />
<br />
Traits and characters can be filtered by species on the world page and masterlist pages respectively.<br />
<br />
= Editing =<br />
Species have the following properties:<br />
<br />
* Name<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
'''Name''' is the species's name.<br />
<br />
The '''World Page Image''' is shown in the encyclopedia, and nowhere else. As with all encyclopedia images, the recommended size is 200 x 200 pixels, but can be any size.<br />
<br />
'''Description''' is a description of the species for the encyclopedia page.<br />
<br />
Additionally, the sort order of species can be edited from the Species index page. This order affects the display order on the encyclopedia page.<br />
<br />
Subtypes have the same properties, but additionally:<br />
<br />
* Species<br />
<br />
The '''Species''' is required, but species do not need to have subtypes.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* Traits</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Site_Settings&diff=852Site Settings2020-11-16T20:25:15Z<p>Corowne: Created page with "Site settings are editable in the admin panel (requires the '''Edit Site Settings''' power). {| class="wikitable" |Fold Table of Contents Settings See Also |} = Settings =..."</p>
<hr />
<div>Site settings are editable in the admin panel (requires the '''Edit Site Settings''' power).<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Settings<br />
<br />
See Also<br />
|}<br />
<br />
= Settings =<br />
These are the site settings that are added by default during setup.<br />
<br />
'''blacklist_key'''<br />
<br />
Optional key to view the blacklist. Enter "0" to not require one.<br />
<br />
Default value: 0<blockquote>This is a password for the blacklist page (if the page is made available for viewing). Note that this is not a very secure method of protecting the blacklist, and is primarily intended for temporary use.</blockquote>'''blacklist_link'''<br />
<br />
0: No link to the blacklist is displayed anywhere, 1: Link to the blacklist is shown on the user list.<br />
<br />
Default value: 1<br />
<br />
'''blacklist_privacy'''<br />
<br />
Who can view the blacklist? 0: Admin only, 1: Staff only, 2: Members only, 3: Public.<br />
<br />
Default value: 1<br />
<br />
'''is_claims_open'''<br />
<br />
0: New claims cannot be made (mods can work on the queue still), 1: Claims are submittable.<br />
<br />
Default value: 1<br />
<br />
'''is_design_updates_open'''<br />
<br />
0: Characters cannot be submitted for design update approval, 1: Characters can be submitted for design update approval.<br />
<br />
Default value: 1<br />
<br />
'''is_myos_open'''<br />
<br />
0: MYO slots cannot be submitted for design approval, 1: MYO slots can be submitted for approval.<br />
<br />
Default value: 1<br />
<br />
'''is_prompts_open'''<br />
<br />
0: New prompt submissions cannot be made (mods can work on the queue still), 1: Prompts are submittable.<br />
<br />
Default value: 1<br />
<br />
'''is_registration_open'''<br />
<br />
0: Registration closed, 1: Registration open. When registration is closed, invitation keys can still be used to register.<br />
<br />
Default value: 1<br />
<br />
'''open_transfers_queue'''<br />
<br />
0: Character transfers do not need mod approval, 1: Transfers must be approved by a mod.<br />
<br />
Default value: 1<blockquote>If set to 1, transfers and trades will go through the usual mutual acknowledge/accept process, then get placed into a transfer queue where staff can review the transfer. This also allows staff to edit the transfer cooldown periods of transferred characters.</blockquote>'''prompt_reward_editing'''<br />
<br />
0: Only mods can edit default prompt rewards for a submission, 1: Users can modify rewards at time of submission.<br />
<br />
Default value: 0<br />
<br />
'''transfer_cooldown'''<br />
<br />
Number of days to add to the cooldown timer when a character is transferred.<br />
<br />
Default value: 3<blockquote>Note that in circumstances where a staff member has to officiate a transfer, the staff member will still be able to manually edit the cooldown applied in that case (the transfer cooldown is filled in automatically for convenience). This value primarily applies in situations where users transfer characters without requiring approval.</blockquote><br />
<br />
= See Also =<br />
<br />
* Config Files</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Site_Pages&diff=851Site Pages2020-11-16T20:24:44Z<p>Corowne: Created page with "Site pages are dynamically created pages that can be created and edited in the admin panel (requires the '''Edit Pages''' power). {| class="wikitable" |Fold Table of Contents..."</p>
<hr />
<div>Site pages are dynamically created pages that can be created and edited in the admin panel (requires the '''Edit Pages''' power).<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Editing<br />
<br />
Default Pages<br />
<br />
See Also<br />
|}<br />
<br />
= Editing =<br />
Pages require a title, unique key, content and viewable setting. Each page can be accessed from (site-url)/info/{key}, which displays the title, date of creation, date of last update and content, assuming that the page is set to viewable.<br />
<br />
Page content can contain HTML, but cannot contain Javascript.<br />
<br />
= Default Pages =<br />
A few default pages are added during setup. These pages cannot be deleted, but are otherwise editable the same way (title and key can be edited).<br />
<br />
These pages are:<br />
<br />
* About<br />
* Privacy Policy<br />
* Terms of Service<br />
<br />
= See Also =<br />
<br />
* Site Settings<br />
* News</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Site_Images&diff=850Site Images2020-11-16T20:24:23Z<p>Corowne: Created page with "Site Images is a feature in the admin panel that is used to replace the images used in the site layout. It also provides an upload for a CSS file that can be used to insert CS..."</p>
<hr />
<div>Site Images is a feature in the admin panel that is used to replace the images used in the site layout. It also provides an upload for a CSS file that can be used to insert CSS into the site layout without editing the site code directly. This page can be used by users with the '''Edit Site Settings''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
The Site Images page provides uploads for the following images:<br />
<br />
* Header Image<br />
* Characters Icon<br />
* Account Icon<br />
* Inventory Icon<br />
* Currency Icon<br />
* MYO Default Image<br />
* MYO Default Image (Thumbnail)<br />
<br />
'''Header Image''': The header banner displayed at the top of the page. PNG format, default height of 200px. Tiles in both directions.<br />
<br />
'''Characters Icon''': The characters graphic on the front page. PNG format, default size of 200px x 200px (no restriction).<br />
<br />
'''Account Icon''': The account graphic on the front page. PNG format, default size of 200px x 200px (no restriction).<br />
<br />
'''Inventory Icon''': The inventory graphic on the front page. PNG format, default size of 200px x 200px (no restriction).<br />
<br />
'''Currency Icon''': The bank graphic on the front page. PNG format, default size of 200px x 200px (no restriction).<br />
<br />
'''MYO Default Image''': The default image used for MYO slots when no image is uploaded. PNG format, no size restriction.<br />
<br />
'''MYO Default Image (Thumbnail)''': The default masterlist thumbnail used for MYO slots when no image is uploaded. PNG format, size of masterlist thumbnails.<br />
<br />
Additionally, there is an upload under the heading Site CSS. This file will be included after all other CSS files that are added to the page. Reuploading the file will replace the original.<br />
<br />
= Editing =<br />
A single upload is presented for each. The "View Current" button can be clicked to visit the URL of the file, though previews of each image are given next to each field.<br />
<br />
On the command line, the following command can be run to overwrite uploaded images with the default ones. This command also works to copy default images over when none are present.<br />
<code>php artisan copy-default-images</code><br />
Maximum image file sizes are subject to as specified in php.ini on your server - if your image is failing to upload, it may be too large. (Large images are not recommended either, as this will consume large amounts of bandwidth on each page load.)<br />
<br />
= See Also =<br />
<br />
* Site Settings<br />
* File Manager</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Shops&diff=849Shops2020-11-16T20:23:52Z<p>Corowne: Created page with "Shops are pages from which users can spend currency to purchase items. They can be edited in the admin panel by users with the '''Edit World Data''' power. {| class="wikitable..."</p>
<hr />
<div>Shops are pages from which users can spend currency to purchase items. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Shops listed on the shop index can be clicked to view the shop's contents, including the shop image, flavour text and shop stock.<br />
<br />
Shop stock is categorised by the items' item categories. Each item lists:<br />
<br />
* Item name<br />
* Cost and currency<br />
* Available stock (if applicable)<br />
* Purchase limit (if applicable)<br />
<br />
Note that items with 0 stock are still listed in the shop.<br />
<br />
Clicking on the item brings up the purchase modal. If the item can be purchased, the user is given the option to purchase the item.<br />
<br />
The option to use the user's bank or a character's bank may be provided. In the latter case, a character's code (must be owned by the user) can be entered, and currency will be deducted from the character's bank instead. The item is deposited in the user's inventory, and the code of the purchasing character is noted in the item's source information. This makes it possible, for example, to have users purchase items for design updates that must be used specifically on the character that purchased it.<br />
<br />
A purchase log is available for every user, linked in the shops sidebar, as a quick reference for their own recent purchases.<br />
<br />
= Editing =<br />
Shops have the following properties:<br />
<br />
* Name<br />
* Shop Image<br />
* Description (accepts HTML)<br />
* Set Active<br />
<br />
'''Name''' is the name of the shop, as shown in the shop index and on the shop's page.<br />
<br />
The '''Shop Image''' is the image used to represent the shop on the shop index and is also displayed at the top of the shop's page.<br />
<br />
'''Description''' is displayed underneath the shop image on the shop's page. It can be used, for example, to provide helpful information about the shop, or add additional flavour text.<br />
<br />
'''Set Active''' affects whether or not the shop is visible on the shop index. If set to false, it will not be shown on the shop index and cannot be accessed by anyone.<br />
<br />
Shop display order can be edited on the admin panel shop index page.<br />
<br />
Shop stock is editable after a shop is created. Each shop stock has the following properties:<br />
<br />
* Item<br />
* Cost (quantity and currency)<br />
* Use User Bank<br />
* Use Character Bank<br />
* Set Limited Stock<br />
** Quantity<br />
* User Purchase Limit<br />
<br />
'''Item''' is the item to be sold. Only items can be sold in shops.<br />
<br />
'''Cost''' is the price of the item. A value and currency must be selected.<br />
<br />
'''Use User Bank''' and '''Use Character Bank''' determine if the user has the option to use either for purchase. For the item to be purchasable, the bank type has to correspond to whether users and/or characters can own that currency. (e.g. If a user cannot own the currency but only "Use User Bank" is enabled, the item cannot be purchased at all from the shop.)<br />
<br />
'''Set Limited Stock''' and '''Quantity''' allows only a specific amount of the item to be made available for purchase. The quantity will go down as items are purchased from the shop. As mentioned above, items with 0 quantity will still be displayed in the shop as an indicator that the item was purchased, but is now sold out. If limited stock is not enabled, the item will have infinite stock.<br />
<br />
'''User Purchase Limit''' limits the number of that stock the user can purchase from that particular shop. The limit cannot be circumvented - even if the stock record is deleted and the item is re-added to the shop, the limit still applies. However, if the same item is added to a different shop, it can be purchased.<br />
<br />
= See Also =<br />
<br />
* Items<br />
* Currencies</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Rarities&diff=848Rarities2020-11-16T20:23:21Z<p>Corowne: Created page with " Rarities are a characteristic that is assigned to both traits and characters. They can be edited in the admin panel by users with the '''Edit World Data''' power. {| class="..."</p>
<hr />
<div><br />
<br />
Rarities are a characteristic that is assigned to both traits and characters. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Rarities are assigned to characters and traits upon creation. Staff can cap the maximum rarity of selectable traits for a MYO slot by selecting a rarity during MYO slot creation, but the rarity of a character is otherwise not strictly linked to its traits.<br />
<br />
Traits and characters can be filtered by rarity on the world page and masterlist pages respectively.<br />
<br />
= Editing =<br />
Rarities have the following properties:<br />
<br />
* Name<br />
* Colour (hexadecimal code)<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
'''Name''' is the rarity's name.<br />
<br />
'''Colour''' is colour used to represent this rarity. It is used to colour the rarity's name as a visual aid.<br />
<br />
The '''World Page Image''' is shown in the encyclopedia, and nowhere else. As with all encyclopedia images, the recommended size is 200 x 200 pixels, but can be any size.<br />
<br />
'''Description''' is a description of the rarity for the encyclopedia page.<br />
<br />
Additionally, the hierarchy of rarities can be edited from the Rarities index page. This order affects the display order on the encyclopedia page, and which rarities are considered rarer than others.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* Traits</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Raffles&diff=847Raffles2020-11-16T20:23:01Z<p>Corowne: Created page with "Raffles can be managed on the site with a feature that tracks tickets and rolls consecutive raffles automatically. They can be edited and rolled in the admin panel by users wi..."</p>
<hr />
<div>Raffles can be managed on the site with a feature that tracks tickets and rolls consecutive raffles automatically. They can be edited and rolled in the admin panel by users with the '''Manage Raffles''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Raffles can be rolled one-by-one, or in groups. When an entire raffle group is rolled, the raffles in the group are rolled in order, and any winners removed from later raffles. Raffles cannot be rerolled, and do not automatically distribute prizes.<br />
<br />
The raffle page lists all raffles, grouped by raffle groups, with non-grouped raffles at the top of the list. Each raffle can be clicked to view the raffle’s tickets.<br />
<br />
On the individual raffle page, the raffle name, number of winners, number of tickets and paginated list of tickets are listed. If the user is logged in, they will also see how many tickets they hold, and if winners have been drawn, a table of winners is also displayed.<br />
<br />
Tickets can be credited to both on-site users as well as deviantART users by username (alias). One user can have multiple tickets; each ticket counts as a single chance in the raffle. Each ticket has an equal chance to be rolled.<br />
<br />
In the admin panel, when a raffle is clicked, the site will display the tickets entered in the raffle for editing. Tickets are displayed 200 to a page and numbered consecutively. The number is not bound to the ticket and can change when tickets are deleted, so there will not be any skipping of numbers.<br />
<br />
= Editing =<br />
Raffle groups have the following properties:<br />
<br />
* Group Name<br />
* Active<br />
<br />
'''Group Name''' is the name of the raffle group. This name does not have to be unique.<br />
<br />
The '''Active''' setting controls if the raffle group is visible to users.<br />
<br />
Raffles have the following properties:<br />
<br />
* Raffle Name<br />
* Number of Winners to Draw<br />
* Raffle Group<br />
* Raffle Order<br />
* Active<br />
<br />
'''Raffle Name''' is the name of the raffle. This name does not have to be unique.<br />
<br />
'''Number of Winners to Draw''' is the number of winning tickets to draw. The same user cannot win the same raffle twice. In the event that there are fewer unique users in the raffle than winners drawn, only the number of unique users will be drawn.<br />
<br />
'''Raffle Group''' is the group that the raffle is grouped under.<br />
<br />
'''Raffle Order''' is the order in which the raffle will be drawn, if the raffle is part of a group that will be rolled together. The lower the number, the earlier it will be drawn - e.g. a raffle numbered 1 will be drawn before a raffle numbered 2, and so on.<br />
<br />
The '''Active''' setting controls if the raffle is visible to users.<br />
<br />
The ticket index allows adding tickets with a single text field:<br />
<br />
* Names<br />
<br />
'''Names''' should be entered into this field, separated by commas. Spaces will be removed. 1 name counts for 1 ticket, and duplicates of the same name can be entered to give the same user multiple tickets. These names will first be matched to usernames on the site, and if no match is found, it will label the ticket with the deviantART account of that name.<br />
<br />
= See Also =<br />
<br />
* User Accounts<br />
* How Random is Random?</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Prompts&diff=846Prompts2020-11-16T20:22:34Z<p>Corowne: Created page with " Prompts are a submission type that accepts user submissions into a queue and distributes rewards when approved. They can be edited in the admin panel by users with the '''Ed..."</p>
<hr />
<div><br />
<br />
Prompts are a submission type that accepts user submissions into a queue and distributes rewards when approved. They can be edited in the admin panel by users with the '''Edit World Data''' power. See Claims for collecting rewards that do not have a prompt specified.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Categories<br />
<br />
Prompts<br />
<br />
Rewards<br />
<br />
Submission<br />
<br />
Rewards<br />
<br />
Characters<br />
<br />
Submission<br />
<br />
Approval Queue<br />
<br />
Rewards<br />
<br />
Processing<br />
<br />
Logging<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
This section pertains to the general purpose and usage of the prompt index page. See the Submission section below for more information on submitting prompts.<br />
<br />
Prompts can be accessed from the navigation bar, under the World dropdown. The prompt index lists all visible prompts, sorted by category order, and can be further filtered by the following:<br />
<br />
* Name<br />
* Category<br />
<br />
Additionally, prompts can be sorted by:<br />
<br />
* Name (alphabetical order)<br />
* Category<br />
* Newest First (creation date)<br />
* Oldest First<br />
* Starts Earliest<br />
* Starts Latest<br />
* Ends Earliest<br />
* Ends Latest<br />
<br />
Each prompt lists the following:<br />
<br />
* Name<br />
* Start date (if applicable)<br />
* End date (if applicable)<br />
* Summary<br />
* Details (collapsed)<br />
* Rewards<br />
* Button for submission (if allowed)<br />
<br />
Prompts can only be submitted between the start and end dates if either or both of those dates are specified. Clicking the Submit Prompt button goes to the prompt submission page with the prompt already selected.<br />
<br />
= Editing =<br />
This section pertains to the editing of prompt categories and prompts. See the Approval Queue section below for more information on the approval queue.<br />
<br />
== Categories ==<br />
Editing prompt categories and prompts requires the '''Edit World Data''' power. Note that this power alone does not allow the user to view and process the submission queue.<br />
<br />
Prompt categories can be created in the admin panel, with the usual category properties:<br />
<br />
* Name<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
The image and description are displayed only on the world page. Besides being used to organise prompts on the prompt submission page, submissions in the approval queue can also be filtered by category, which can be used to help distribute moderation work.<br />
<br />
== Prompts ==<br />
Prompts themselves have the following properties:<br />
<br />
* Name<br />
* Prompt Category<br />
* Summary (no HTML)<br />
* Description (accepts HTML)<br />
* Start Time<br />
* End Time<br />
* Hide Before Start Time<br />
* Hide After End Time<br />
* Is Active<br />
<br />
'''Name''' is the prompt name which is displayed on the prompt index.<br />
<br />
'''Prompt Category''' is the category to which the prompt falls under, and used for organisation.<br />
<br />
'''Summary''' is a short blurb about the prompt that is immediately visible on the prompt index. This is intended to be just a concise one-liner that gives users a rough idea of what the prompt is about.<br />
<br />
'''Description''' is a longer description about the prompt. Details and specifications about the prompt requirements can be described in greater detail here. It accepts HTML, so you can insert images.<br />
<br />
'''Start Time''' and '''End Time''' note the period during which the prompt can be submitted. Both are optional, and you can also specify only one of them.<br />
<br />
'''Hide Before Start Time''' and '''Hide After End Time''' additionally prevent the prompt from showing on the index when it cannot be submitted to. This is useful, for example, if you would like to keep event prompts secret until the event is live.<br />
<br />
'''Is Active''' toggles the visibility of the prompt altogether. This overrides the hiding options - if this is set to not active, the prompt will never show on the index.<br />
<br />
== Rewards ==<br />
The rewards section allows you to attach some default rewards to the prompt. Users will not be able to edit these rewards during submission.<br />
<br />
You can attach any of the following, specifying a quantity:<br />
<br />
* Item<br />
* Currency<br />
* Loot table<br />
<br />
Note that loot table quantity rolls the table x times, and not the rewards from 1 roll multiplied by x. Only the display name of the loot table will be shown - users will not see the internal name of the table, nor the contents/odds of rolling.<br />
<br />
These rewards are not permanent and can be edited during approval time.<br />
<br />
= Submission =<br />
Responses to prompts can be submitted from the prompt submission page. A quick link is also available from the submit dropdown on the right hand side of the nav bar.<br />
<br />
A prompt submission requires:<br />
<br />
* Prompt<br />
* Submission URL<br />
* Comments (no HTML; accepts line breaks)<br />
* Rewards<br />
<br />
'''Prompt''' is the prompt that is being responded to. If the submit button on the prompts page is clicked, this field will already have been filled.<br />
<br />
'''Submission URL''' is the link to a page containing the material to be reviewed for prompt submission. This is expected to be something like a dA submission or sta.sh link, but can be anything relevant.<br />
<br />
'''Comments''' are optional. This space could be used for, for example, entering calculations for tiered rewards. Line breaks will be preserved, but HTML will not be rendered.<br />
<br />
== Rewards ==<br />
The rewards section allows the user to select additional rewards. They can choose to add any of:<br />
<br />
* Items<br />
* Currencies<br />
<br />
Loot tables cannot be selected. This selection is added on top of the default rewards, which are also displayed below the reward selection area.<br />
<br />
== Characters ==<br />
The characters section allows the user to add characters to their submission. Inputs are:<br />
<br />
* Character Code<br />
* Rewards<br />
<br />
'''Character Code''' refers to the character's unique identification code.<br />
<br />
'''Rewards''' function much like the user selected rewards, but only currencies can be selected, and these rewards will be credited directly to the character on approval.<br />
<br />
== Submission ==<br />
Submissions submitted to the approval queue cannot be edited by the user. The submission will have its own page containing all submitted information - this will not be visible to any users besides the submitter and users with the Manage Submissions power until it is approved.<br />
<br />
= Approval Queue =<br />
Users with the '''Manage Submissions''' power can view the queue, edit rewards and approve/reject submissions.<br />
<br />
The prompt approval queue consists of lists of submissions filtered by status, ordered by newest first. Submissions can be further filtered by prompt category. Pending submissions can be acted upon, while approved and rejected submissions are for reference only.<br />
<br />
Clicking the edit button takes the user to the submission review page, where they can edit the rewards attached to the submission.<br />
<br />
== Rewards ==<br />
The user rewards section lists the '''combined''' default rewards and any additional rewards the user may have selected. Please take care when checking that the rewards are appropriate for the submission, as the user may have added something extra! A list of the default rewards is displayed for reference. The selectable area contains everything the user will receive when their submission is approved.<br />
<br />
The character rewards section lists the characters and rewards the user has added that will be given to the selected characters. More characters can be added as well.<br />
<br />
== Processing ==<br />
The submission can be approved or rejected using the buttons at the bottom. Clicking either will notify the user that their submission has been processed.<br />
<br />
In the case of approval, any attached rewards will be automatically distributed to the user and characters. The submission page will become publicly visible.<br />
<br />
In the case of rejection, a comment can be provided to the user. This can be used to inform the user about why their submission was rejected. HTML cannot be used, and the reason will be displayed on the submission page. The submission page remains hidden to users other than staff with the Manage Submissions power and the submitter themselves.<br />
<br />
= Logging =<br />
A list of prompt/claim submissions a user has made is linked from their user profile. Similarly, characters also have a page that lists prompts/claims they have been submitted for rewards in.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* Claims</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Notifications&diff=845Notifications2020-11-16T20:22:09Z<p>Corowne: Created page with " Logged in users have a notifications page, which lists notifications for important events that may require their attention. {| class="wikitable" |Fold Table of Contents Us..."</p>
<hr />
<div><br />
<br />
Logged in users have a notifications page, which lists notifications for important events that may require their attention.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Events<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Notifications include any pertinent links, as well as a timestamp for when the event occurred.<br />
<br />
New notifications are displayed as a counter in the navigation bar, which goes away once the notifications page is viewed. New notifications are highlighted with a differently-coloured background when viewed at this time.<br />
<br />
Notifications can be cleared individually by clicking the x on the right of the notification, or by clicking the clear all button to remove all existing notifications.<br />
<br />
= Events =<br />
This is a list of all events for which the user will be notified by default:<br />
<br />
* User has received a currency grant from staff<br />
* User has received an Item grant from staff<br />
* User has had currency removed by staff<br />
* User has had an item removed by staff<br />
* User has received a currency transfer from another user<br />
* User has received an item transfer from another user<br />
* User has received an item transfer from another user, forced by staff<br />
* Staff has uploaded a character for the user<br />
* Staff has granted one of user’s characters currency<br />
* Staff has removed currency from one of user’s characters<br />
* Staff has edited the profile of one of user’s characters<br />
* Staff has uploaded an image for one of user’s characters<br />
* User has received a character transfer<br />
* Recipient of user-initiated character transfer has rejected the transfer<br />
* Sender of user-initiated character transfer has cancelled the transfer<br />
* Staff has denied a character transfer involving the user<br />
* Recipient of character transfer has accepted the transfer<br />
* Staff has approved a character transfer<br />
* Staff has forced a character transfer on one of the user’s characters<br />
* User has received a forced character transfer<br />
* Prompt submission by the user has been approved by staff<br />
* Prompt submission by the user has been rejected by staff<br />
* Claim submission by the user has been approved by staff<br />
* Claim submission by the user has been rejected by staff<br />
* User has received a MYO slot grant by staff<br />
* Design update submission by the user has been approved<br />
* Design update submission by the user has been rejected<br />
* Design update submission by the user has been cancelled<br />
* User has received a trade<br />
* User’s trade partner has updated and confirmed their half of a trade<br />
* User’s trade partner has cancelled a trade<br />
* A Trade involving the user has been completed<br />
* A trade involving the user has been rejected<br />
* A trade involving the user has been confirmed<br />
* A character the user has bookmarked has had its trading status updated<br />
* A character the user has bookmarked has had its gift art allowed status updated<br />
* A character the user has bookmarked has been transferred to another user<br />
* A character the user has bookmarked has had a new image uploaded<br />
<br />
= See Also =<br />
<br />
* User Accounts<br />
* Characters<br />
* Config Files</div>Corownehttp://wiki.lorekeeper.me/index.php?title=News&diff=844News2020-11-16T20:21:33Z<p>Corowne: Created page with "News are a form of text post that can be used to alert all users to important information. They can be edited in the admin panel by users with the '''Edit Text Pages''' power...."</p>
<hr />
<div>News are a form of text post that can be used to alert all users to important information. They can be edited in the admin panel by users with the '''Edit Text Pages''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
News posts can be created in the admin panel and viewed on the news page. The news page lists news posts ordered by newest first. When a new post is made, all users will gain an alert at the top of every page notifying them of the new post. This alert disappears when the news page is viewed.<br />
<br />
News posts can be scheduled to post at certain times. Note that this posting is handled via crontab scheduling, and therefore may not be entirely accurate to the minute.<br />
<br />
= Editing =<br />
News posts have the following properties:<br />
<br />
* Title<br />
* Post Time<br />
* Post Content (accepts HTML)<br />
<br />
'''Title''' is the title of the news post.<br />
<br />
'''Post Time''' is optional, and schedules the post to be posted after a certain date/time. If not set, the news post will be posted immediately.<br />
<br />
'''Post Content''' is the content of the news post itself. HTML is allowed. The File Manager can be used to upload images to be inserted into news posts if desired.<br />
<br />
= See Also =<br />
<br />
* Site Pages</div>Corownehttp://wiki.lorekeeper.me/index.php?title=MYO_Slots&diff=843MYO Slots2020-11-16T20:21:03Z<p>Corowne: Created page with "= MYO Slots = MYO slots are a resource that can be attached to user accounts. MYO slots are "lesser" versions of characters with more restrictions on how they can be used with..."</p>
<hr />
<div>= MYO Slots =<br />
MYO slots are a resource that can be attached to user accounts. MYO slots are "lesser" versions of characters with more restrictions on how they can be used with site features - they are not considered full characters until they have been submitted for design approval and approved. They can be edited in the admin panel by users with the '''Manage Masterlist''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
MYO Slot<br />
<br />
User-editable Profile<br />
<br />
Logs<br />
<br />
Transfers<br />
<br />
Transfers Queue<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
All MYO slots are listed on the MYO slot masterlist, which is separate from the character masterlist.<br />
<br />
MYO slots cannot hold currency and cannot be used to participate in prompts. If the gift/resale/trade options are configured to allow it, they can be transferred/traded. They can be converted into full characters through the design updates system. For more information, please refer to the respective pages.<br />
<br />
Users are able to edit a section of their MYO slot's profile, and list their character as being available for trade. This section also includes a text field that allows HTML.<br />
<br />
= Editing =<br />
<br />
== MYO Slot ==<br />
Similar to full characters, MYO slots are set up in a manner such that traits, species, rarity and other specific details about the character tied to its current design are linked to images rather than the MYO slot itself. When the MYO slot's design is approved, the record of its original conditions (rarity, species, required traits etc.) are preserved as an image. This section will cover only the information attached to the MYO slot itself - for more information on character images, please see the Character Images page.<br />
<br />
Characters have the following properties:<br />
<br />
* Name<br />
* Owner<br />
* Owner Alias<br />
* Description<br />
* Is Visible<br />
* Is Giftable<br />
* Is Tradeable<br />
* Is Resellable<br />
* On Transfer Cooldown Until<br />
<br />
The '''Name''' is used on the MYO slot masterlist. As MYO slots do not have a category/number and character code yet, this name will be displayed on pages where the MYO slot is listed. This name is not editable by the owner. Using a descriptive name like "Rare MYO Slot" is recommended.<br />
<br />
The '''Owner''' is the user on-site who owns the slot. This field can be left blank if the owner has not registered for an account, and the following field has been filled in.<br />
<br />
The '''Owner Alias''' is the deviantART account name of the user who owns the slot. If the Owner field is filled in, this field will be ignored. In the future, if the owner registers for the site, any MYO slots listed under their deviantART name will automatically be attached to their account. Note that if the user has since changed their dA username, this will not happen (slots have to be transferred to their new site account manually).<br />
<br />
The '''Description''' field allows for a custom description to be entered. This can be left blank if no further information is required. Suggestions for content include: specifics on how the slot was obtained, etc.<br />
<br />
'''Is Visible''' controls whether the slot is displayed on the MYO slot masterlist. If set to not visible, the slot will only be visible to users with the Manage Masterlist power (even the owner cannot see it without the power).<br />
<br />
'''Is Giftable''', '''Is Tradeable''', '''Is Resellable''' are toggles that display the respective information prominently on the slot's profile. This is largely cosmetic as the site cannot tell what a slot is being sold/traded for. However, the following effects will apply:<br />
<br />
* If all toggles are off, the slot is account-bound - it cannot be transferred by the user directly, and cannot be attached to trades. Only users with the Manage Masterlist power can force a transfer.<br />
* If the slot is not tradeable or resellable, the user will not be able to toggle the '''Up For Trade''' option in the slot's profile (which is a searchable option on the masterlist).<br />
<br />
'''Resale Value''' is a field that appears if the slot is marked as resellable. The dollar value of the slot can be set, which will be displayed on the slot's profile. This is cosmetic, and purely for reference.<br />
<br />
'''On Transfer Cooldown Until''' causes temporary account binding until the selected date/time. Until the cooldown time has been reached, the owner will not be able to directly transfer the slot or attach it to a trade. It is possible to automatically set the cooldown date to x number of days (default: 3) when a user makes a transfer - please see Site Settings for more information.<br />
<br />
= User-editable Profile =<br />
After a slot has been created, its profile can be edited by the owner or users with the Manage Masterlist power. The following properties can be modified by the user:<br />
<br />
* Profile Content<br />
* Up For Trade<br />
<br />
'''Profile Content''' is a section that allows HTML content to be entered.<br />
<br />
'''Up For Trade''' is a toggle that denotes if the slot's owner wants to trade the slot. Similarly, this toggle can also be searched on the masterlist. This cannot be edited by anyone other than the owner.<br />
<br />
Additionally, for users who are not the owner (has the required power), a '''Notify User''' toggle is present. If left on, the owner of the slot will be notified that their slot's profile has been edited (implied: for moderation purposes). Regardless of the status of the toggle, owners of non-visible slots will not be notified.<br />
<br />
= Logs =<br />
Unlike characters, MYO slots do not have an image gallery (new images cannot be uploaded until it becomes a full character) and have no submission/currency logs as they cannot be submitted in prompts/hold currency. MYO slots have only 2 types of logs: the change log and ownership history log.<br />
<br />
'''Change Log''': This log specifically logs changes to the slot and its images. It lists the specific fields updated, who made the edits, as well as the date of editing.<br />
<br />
'''Ownership History''': This log tracks the transfer of the slot between different users, noting the sender, recipient, log information as well as the date. This is similar to the ownership history log that a user also possesses, but specifically monitors the slot only.<br />
<br />
= Transfers =<br />
MYO slots may change hands in 3 ways:<br />
<br />
* User-initiated transfer<br />
* Staff-initiated transfer (a forced transfer)<br />
* Trades<br />
<br />
Transfers may be monitored by changing the '''open_transfers_queue''' site setting to 1. This will place all MYO slot transfers and trades containing slots into a queue, and must be approved by a staff member before the transfer is completed.<br />
<br />
User-initiated transfers are a unidirectional transfer from sender to recipient. The recipient is required to accept before they can receive the slot. If the transfer queue is closed, the recipient will receive the slot immediately upon accepting the transfer.<br />
<br />
For trades, please see the trades article.<br />
<br />
== Transfers Queue ==<br />
The transfers queue has separate sections for transfers and trades; however, both work similarly. The contents of each transfer or trade can be reviewed by the staff member, and approved or rejected.<br />
<br />
On clicking Approve, the staff member will have the option of adding a cooldown period (number of days) to each character involved. This field is prefilled with the default number in site settings and can be modified to be more or less than the default, and applied immediately after approval. The transfer or trade is processed immediately after clicking Approve on this modal.<br />
<br />
If the transfer is rejected, a comment can be added, which will be visible to the 2 users iinvolved.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* Character Images<br />
* Masterlist<br />
* Trades<br />
* User Accounts</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Masterlist&diff=842Masterlist2020-11-16T20:20:36Z<p>Corowne: Created page with " The masterlist displays every character that exists on the site, based on the character's visibility settings. It provides a number of search and sorting features, as well a..."</p>
<hr />
<div><br />
<br />
The masterlist displays every character that exists on the site, based on the character's visibility settings. It provides a number of search and sorting features, as well as a toggle between grid and list views. The character masterlist is essentially the same as the MYO slot masterlist, with a few differences that will be noted below.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Display<br />
<br />
Searching<br />
<br />
Sorting<br />
<br />
See Also<br />
|}<br />
<br />
= Display =<br />
Characters that are listed as visible to the public are listed on the masterlist page, which is paginated. Users with the '''Manage Masterlist''' power will additionally see characters that are not visible, marked with an eye icon in front of the character's code.<br />
<br />
By default, the masterlist is shown in '''grid mode''' - all characters will be displayed as their thumbnails, listing their character code (if a character), name (if assigned by the user, or is a MYO slot), species, rarity and owner.<br />
<br />
In '''list mode''', characters are listed without images, in table form, showing the information above as well as the character's date of creation.<br />
<br />
The grey buttons under the search button can be clicked to switch between modes. This preference is remembered by your Internet browser and will persist if you use the same browser to access the page again.<br />
<br />
= Searching =<br />
The following search conditions can be set:<br />
<br />
* Character name (user-assigned) OR character code<br />
* Rarity<br />
* Species<br />
* Category<br />
* Owner name<br />
* Artist alias<br />
* Designer alias<br />
* Minimum resale price<br />
* Maximum resale price<br />
* Trading status (user-assigned)<br />
* Gift art status (user-assigned)<br />
* Can be resold<br />
* Can be traded<br />
* Can be gifted<br />
* Trait selection (AND selection)<br />
<br />
Additionally, an option to search through all character images, including ones that are no longer valid, can be toggled for the options shown in red. Only images visible to the user will be searched.<br />
<br />
The MYO slot masterlist presents the same search options except for the category selection.<br />
<br />
= Sorting =<br />
The following sort orders can be specified:<br />
<br />
* Newest first (default)<br />
* Oldest first<br />
* Highest sale value<br />
* Lowest sale value<br />
<br />
Note that "newest" and "oldest" are dependent on characters and are not influenced by character images. Additionally, characters that cannot be resold have a default value of $0 and will appear at the front of the list.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* MYO Slots</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Loot_Tables&diff=841Loot Tables2020-11-16T20:20:00Z<p>Corowne: Created page with "Loot tables are used to randomise rewards during distribution. They can be edited in the admin panel by users with the '''Edit World Data''' power and are the only type of wor..."</p>
<hr />
<div>Loot tables are used to randomise rewards during distribution. They can be edited in the admin panel by users with the '''Edit World Data''' power and are the only type of world data that cannot be publicly viewed.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Test Rolling<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Loot tables must be created before they can be distributed as a reward.<br />
<br />
After they have been created, they can be attached to the following:<br />
<br />
* Prompt rewards<br />
* Box type items<br />
* Another loot table<br />
<br />
Loot tables can be nested, chaining multiple loot tables to form a complex item selection system. Nesting many loot tables is not recommended, however, and care must be taken to avoid creating an infinite rolling loop.<br />
<br />
Upon claiming the reward (having a prompt approved, or opening a box type item) the final reward will be rolled accordingly. Each loot table will select only ONE (1) of the rewards attached to it.<br />
<br />
= Editing =<br />
Loot tables require the following:<br />
<br />
'''Name'''<br />
<br />
This is the name used to identify the table internally. This name will only be shown in the admin panel when editing rewards; users will not be able to see this name, so it is recommended to make it descriptive to make loot table selection easier.<br />
<br />
'''Display Name'''<br />
<br />
This is the name that users will see, if a random reward will be given as a prompt reward. Users without the appropriate power are not able to see the rewards of a loot table as well as the odds, so you may want to choose a name that's appropriately cryptic depending on how transparent you would like to be about the rewards. (e.g. "A Random Prize" vs. "Item A OR Item B")<br />
<br />
'''Loot'''<br />
<br />
Under this section, you can choose the rewards that can be given out through this table. The following loot types can be selected:<br />
<br />
* Item<br />
* Currency<br />
* Loot table<br />
* None (no reward given)<br />
<br />
Additionally, you can specify the quantity and rolling weight.<br />
<br />
Quantity is fairly straightforward, giving a fixed amount of the item or currency selected. In the case of loot tables, it rolls the loot table that number of times. For example, if you selected Loot Table A with a quantity of 2, it would roll Loot Table A 2 times, rather than once and double the reward.<br />
<br />
Weight represents the likelihood of the reward being selected. This is not a percentage (which is calculated in the Chance column) and does not have to add up to 100, although that may make it easier to keep track of.<br />
<br />
= Test Rolling =<br />
The loot table editing page provides a feature to generate test results for a loot table. Note that if the loot section has been edited, it must be saved beforehand for the changes to take effect. Additionally, if "None" is selected as a possible reward type, it will not show up as a result (so fewer results than rolls selected may be generated in this case).<br />
<br />
= See Also =<br />
<br />
* Items<br />
* Currencies<br />
* Prompts<br />
* How Random is Random?</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Items&diff=840Items2020-11-16T20:18:59Z<p>Corowne: Created page with "Items can be owned by users and may be used in various ways. They can be edited in the admin panel by users with the '''Edit World Data''' power. {| class="wikitable" |Fold T..."</p>
<hr />
<div>Items can be owned by users and may be used in various ways. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Categories<br />
<br />
Items<br />
<br />
Item Tags<br />
<br />
Inventory<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Items can be created in the admin panel. Once created, they can be distributed to users through a variety of ways. Item categories are optional, but provide categorisation in the user's inventory and shop pages.<br />
<br />
Items are primarily used as turn-ins for character design updates. Depending on their item tags, they may also have additional functionality.<br />
<br />
= Editing =<br />
<br />
== Categories ==<br />
Editing item categories and items requires the '''Edit World Data''' power.<br />
<br />
Item categories can be created in the admin panel, with the usual category properties:<br />
<br />
* Name<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
The image and description are displayed only on the world page. Categories are optional, but useful for sorting items. Items without a category will be placed in a "Miscellaneous" category in the inventory.<br />
<br />
Additionally, categories can be sorted from the Item Categories index page. This order reflects the sorting order of categories in user inventories.<br />
<br />
== Items ==<br />
Items themselves have the following properties:<br />
<br />
* Name<br />
* World Page Image<br />
* Item Category<br />
* Description (accepts HTML)<br />
* Allow User → User Transfer<br />
<br />
'''Name''' is the item name which is displayed on the item index and shown in user inventories.<br />
<br />
The '''World Page Image''' is shown in the encyclopedia, and also functions as the item's thumbnail image in inventories. As with all encyclopedia images, the recommended size is 200 x 200 pixels, but can be any size.<br />
<br />
'''Item Category''' is the category to which the item falls under, and used for organisation. It is otherwise optional.<br />
<br />
'''Description''' is a description of the item for the encyclopedia page.<br />
<br />
'''Allow User → User Transfer''' is a setting for whether the item can be transferred to another user. This can be used to create account-bound items - items with this turned off cannot be sent to another user or added to a trade. Note that individual items can also be account-bound at the time of granting, so this setting does not have to be used if you want to create only selectively account-bound items.<br />
<br />
== Item Tags ==<br />
This is a section under the item editing form that becomes accessible after the item has been created. Item tags are special settings that affect how the item can be used from a user's inventory - what they do has to be written in the site code itself, but once coded, can be attached to any item to give them the special behaviour.<br />
<br />
The Add a Tag button can be used to select an item tag. Duplicate item tags cannot be added to the same item. Attached item tags can be toggled on or off to allow or remove functionality without completely removing the item tag.<br />
<br />
By default, the Box type item tag is available - this allows you to choose a particular set of rewards from items, currencies and loot tables. When a user chooses to use the item in the inventory, they will receive these rewards. The process of creating this item tag can be seen in this tutorial.<br />
<br />
= Inventory =<br />
Each user has an inventory, which is sorted by item category and further sorted by alphabetical order of item names. Clicking on an item brings up a menu that lists the item's source (if any), accompanying notes (if any), and actions that can be performed on it.<br />
<br />
The '''Source''' field notes down the source of the item. This field is automatically filled out when the user receives an item through site activity e.g. through prompts/claims and functions as a record of how/why an item was received. In the case of shop purchases, this also notes who purchased the item, the shop it was purchased from, and the price.<br />
<br />
The '''Notes''' field contains additional information about the item. This is sometimes automatically filled out - for example, purchasing an item from a shop will fill the Notes section with the date of purchase. When granting an item from the admin panel, staff can fill in this section with a custom message.<br />
<br />
Below this section, actions that can be used are listed. Special actions from item tags are listed first, then general actions.<br />
<br />
'''Transfer Item''' (if the item can be transferred) allows the user to transfer the item to another user.<br />
<br />
'''Delete Item''' allows the users to trash the item entirely.<br />
<br />
= See Also =<br />
<br />
* User Accounts<br />
* Shops<br />
* Tutorial: Creating Item Types</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Invitation_Keys&diff=839Invitation Keys2020-11-16T20:18:30Z<p>Corowne: Created page with "Invitation keys, used for registering for the site, can be generated in the admin panel (requires the '''Manage Users''' power). {| class="wikitable" |Fold Table of Contents..."</p>
<hr />
<div>Invitation keys, used for registering for the site, can be generated in the admin panel (requires the '''Manage Users''' power).<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Effects<br />
<br />
Editing<br />
|}<br />
<br />
= Effects =<br />
Invitation keys are only useful when the '''is_registration_open''' site setting is set to 0. In this case, the registration form will display an additional, required invitation key field and new users will not be able to create an account without a valid key.<br />
<br />
= Editing =<br />
Keys can be generated in the Invitation Keys section of the admin panel. When generated, a random string will be generated as an invitation code, which can be given to a new user to register an account with. After the user has used the code, their account name will be listed in the table, as well as the date of usage.<br />
<br />
Codes that have not been used can be deleted, rendering them unusable.</div>Corownehttp://wiki.lorekeeper.me/index.php?title=File_Manager&diff=838File Manager2020-11-16T20:18:03Z<p>Corowne: Created page with " The File Manager is a feature in the admin panel that can be used to upload files through the site interface. It provides a simple way to upload images that can be used in t..."</p>
<hr />
<div><br />
<br />
The File Manager is a feature in the admin panel that can be used to upload files through the site interface. It provides a simple way to upload images that can be used in the descriptions of encyclopedia entries, news posts, etc. as well as other files that may be useful to players of the ARPG, such as drawing bases/PSDs. The File Manager can be used by users with the '''Edit Site Settings''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
The File Manager is a simple file uploader for creating folders and uploading files. Folders and files are uploaded to the public/files folder. Using any other method to place/edit files in this folder (e.g. through FTP) will also cause the changes to be reflected in the manager.<br />
<br />
Folders can be created up to 1 level deep (no nested folders). Each folder can hold an unlimited number of files (only limited by amount of storage space your webhosting plan provides). Folders can be renamed and deleted, both of which will break existing links to any of their contents.<br />
<br />
Files can be uploaded one-by-one to the base folder and any created folders. There is no restriction on the file type. The file size is limited by the maximum upload size as specified in your server's php.ini, and may or may not be an accurate representation of the maximum size of file you can upload - the displayed maximum size is a guideline, and avoiding uploading excessively large files is recommended.<br />
<br />
Files in a folder are listed in the folder page. The files can be accessed by clicking on the file names. Files can be moved, renamed or deleted, which will break existing links to any of them.<br />
<br />
= Editing =<br />
Folders have the following properties:<br />
<br />
* Name<br />
<br />
'''Name''' is the folder's name. This should be unique (not the name of an existing folder), and use only alphanumeric characters and dashes/underscores only.<br />
<br />
File uploads present only an upload. The move form allows the user to select a destination folder, and will overwrite any existing file in the destination folder with the same file name. Similarly, the rename feature will also overwrite an existing file with the same name. It can also be used to change the file extension of the file, but this may cause unintended behaviour and thus is not recommended.<br />
<br />
= See Also =<br />
<br />
* Site Settings<br />
* Site Pages</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Design_Updates&diff=837Design Updates2020-11-16T20:17:17Z<p>Corowne: Created page with "Design updates are a means by which users can upload and submit an updated version of their character's design, or a completed MYO slot design for review. This system streamli..."</p>
<hr />
<div>Design updates are a means by which users can upload and submit an updated version of their character's design, or a completed MYO slot design for review. This system streamlines the process of uploading new images for the masterlist by having users prepare the images and fill in the character stats, and submissions go into a review queue where staff can act upon them.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Submission<br />
<br />
Approval Queue<br />
<br />
Approve<br />
<br />
Reject<br />
<br />
Cancel<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Users are able to prepare a new approval request for a character or MYO slot by going to their character/slot's page and clicking on Update Design or Submit MYO Design respectively.<br />
<br />
At this point, if the '''is_design_updates_open''' site setting is set to 0, the user will not be able to create a new request. However, if it is set to 1, the page will prompt the user to create a new request if one does not exist, or to view the request if there is already an active one. Clicking on the button creates a new draft for a design update approval. After each section of the approval has been updated, it can be submitted to the queue.<br />
<br />
Note that characters or MYO slots with an active request cannot be transferred or traded, due to complications that may arise from attached resources. At the draft stage, a design approval request can be deleted easily.<br />
<br />
Once the request has been submitted to the queue, staff with the '''Manage Masterlist''' power can choose to approve, reject or cancel the request. The effects of each action are covered further below.<br />
<br />
= Submission =<br />
The approval request page contains the following tabs: Status, Comments, Masterlist Image, Add-ons, Traits.<br />
<br />
'''Status''' shows the current status of the draft, and notes if any of the required information is missing. It also allows users to delete the request (the current draft), or submit it if it's ready. All of the sections below must have been edited at least once for the user to submit their request, regardless of whether any information has been entered (for the optional fields).<br />
<br />
'''Comments''' is a section for the user to include any notes about the submission, if required by staff.<br />
<br />
'''Masterlist Image''' allows the user to upload an image and use the thumbnail cropper to crop it. The image thumbnail can be edited by staff during approval, if necessary. The user can also add image credits for the designer(s) and artist(s) of the image.<br />
<br />
'''Add-ons''' allows the user to choose items and currencies from their inventory/bank to submit with the request. These items and currencies will be removed from their inventory/bank immediately, but returned if the user decides to cancel.<br />
<br />
'''Traits''' allows the user to select the species, subtype, rarity and traits for their character. If the user is submitting for an MYO slot, any restrictions on these fields will be applied here - for example, compulsory traits cannot be deselected, and if the species is fixed, it cannot be changed here.<br />
<br />
After the information on each tab has been saved once, the slot can be submitted. At any point during the editing of this draft, the page can be viewed by a user with the '''Manage Masterlist''' power - this can be used for obtaining feedback on the current design without having to submit it.<br />
<br />
= Approval Queue =<br />
Users with the '''Manage Masterlist''' power can view the queue and approve/reject/cancel submissions in the design update approval queue.<br />
<br />
The staff member reviewing the submission cannot modify any of the trait information the user has submitted - this is so the submitter does not end up with traits different from what they expected to receive. However, the staff member can:<br />
<br />
* Re-crop the thumbnail<br />
* Upload a new thumbnail<br />
* Change the designer/artist credits of the image<br />
<br />
== Approve ==<br />
Approving the request requires some data about the character to be added (in the case of MYO slots) or reviewed:<br />
<br />
* Character Category<br />
* Number<br />
* Character Code<br />
* Description<br />
* Is Giftable<br />
* Is Tradeable<br />
* Is Resellable<br />
* Resale Value<br />
* On Transfer Cooldown Until<br />
* Set Active Image<br />
* Invalidate Old Image<br />
<br />
'''Character Category''' ~ '''On Transfer Cooldown Until''' are covered in the Characters article.<br />
<br />
'''Set Active Image''', if set to On, will cause the newly-uploaded image to become the character's new masterlist image.<br />
<br />
'''Invalidate Old Image''', if set to On, will mark the character's old masterlist image as invalid. See the Character Images article for more information.<br />
<br />
== Reject ==<br />
Rejecting the request hard denies the update, causing all items and currency attached to it to be returned to the user, and forcing them to need to create a new request if they want to update the same character.<br />
<br />
A comment can be added to the rejection, which the user will be able to see on the request page.<br />
<br />
If a softer approach is desired, consider cancelling the request instead.<br />
<br />
== Cancel ==<br />
Cancelling the request puts it back into draft status, allowing the submitter to make changes to their submission and resubmit it.<br />
<br />
A comment can be added as feedback, which the user will be able to see on the request page. Additionally, a toggle is provided for preserving the user's position in the queue - if set to On, when the user resubmits the request, it will be inserted back into the queue at the position it was at previously, allowing the submitter to avoid having to wait for their turn again.<br />
<br />
= See Also =<br />
<br />
* Character Images<br />
* Characters<br />
* MYO Slots</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Currencies&diff=836Currencies2020-11-16T20:16:35Z<p>Corowne: Created page with " Currencies are distributed through prompts and can be used to purchase items from shops, as well as attached to character design updates. They can be edited in the admin pan..."</p>
<hr />
<div><br />
<br />
Currencies are distributed through prompts and can be used to purchase items from shops, as well as attached to character design updates. They can be edited in the admin panel by users with the '''Edit World Data''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Currencies owned by a user can be viewed from their user profile and public bank. Users can transfer currency from their bank (provided that currency can be transferred).<br />
<br />
Currencies can be obtained via the following methods:<br />
<br />
* Prompt rewards/Claims<br />
* Box type items<br />
* Transferred/traded from another user<br />
* Granted by users with the '''Edit Inventories''' power, in the admin panel<br />
<br />
Currencies can be spent/removed via the following methods:<br />
<br />
* Used to purchase from shops<br />
* Attached to design updates<br />
* Transferred/traded to another user<br />
* Removed by users with the '''Edit Inventories''' power, in the admin panel<br />
<br />
Removal can be done using the grant currency feature by entering a negative value. Users cannot own negative currency.<br />
<br />
A log of ingoing/outgoing currencies can be found on the user's bank pages.<br />
<br />
= Editing =<br />
Currencies have the following properties:<br />
<br />
* Currency Name<br />
* Abbreviation<br />
* Icon Image<br />
* World Page Image<br />
* Description (accepts HTML)<br />
* Attach to Users<br />
** Profile Display<br />
** User → User Transfers<br />
* Attach to Characters<br />
** User → Character Transfers<br />
** Character → User Transfers<br />
<br />
'''Currency Name''' is the currency's full name (e.g. "Gold") that is displayed on the encyclopedia and bank pages. It is also shown in dropdown selections.<br />
<br />
'''Abbreviation''' is the short form of the currency's name (e.g. "G"). It is used if an icon is not provided, and also listed alongside the currency's full name in the bank. If an abbreviation is not provided, the currency's full name will be used instead.<br />
<br />
The '''Icon Image''' is a small image that can be used to represent the currency (e.g. a gold coin). There is no restriction on the size of the image, but the recommended height is 16 pixels. This image is displayed on the user's profile page as well as in logs.<br />
<br />
The '''World Page Image''' is shown in the encyclopedia, and nowhere else. As with all encyclopedia images, the recommended size is 200 x 200 pixels, but can be any size.<br />
<br />
'''Description''' is a description of the currency for the encyclopedia page.<br />
<br />
The '''Attach to Users''' option allows users to hold this currency. Similarly, the '''Attach to Characters''' option allows characters to hold this currency. Either of these options must be selected.<br />
<br />
The '''Profile Display''' option chooses whether or not to display the currency on the user's profile, making it easy to tell how much currency the user is holding at a glance. The user's other currencies can still be viewed easily from their bank page. This makes it possible to, for example, give users event currencies without it showing prominently on their profiles when the event is not running.<br />
<br />
The '''User → User Transfers''', '''User → Character Transfers''' and '''Character → User Transfers''' concern whether currencies can be transferred in those directions. Note that character-to-character transfers are not an option as this is achievable by selecting both the user/character transfer options. Disabling the user-to-user option also prevents currencies from being attached to trades.<br />
<br />
Additionally, the display order of currencies can be edited from the Sort Currencies page. This order affects how currencies are displayed on profiles and in the bank, and user-owned currencies and character-owned currencies can have different sorting orders.<br />
<br />
= See Also =<br />
<br />
* Shops</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Config_Files&diff=835Config Files2020-11-16T20:16:10Z<p>Corowne: Created page with " The configuration files are files in the site’s code that allow customisation of certain features that are highly unlikely to be changed on a regular basis. {| class="wiki..."</p>
<hr />
<div><br />
<br />
The configuration files are files in the site’s code that allow customisation of certain features that are highly unlikely to be changed on a regular basis.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Files<br />
<br />
settings.php<br />
<br />
admin_sidebar.php<br />
<br />
image_files.php<br />
<br />
item_tags.php<br />
<br />
notifications.php<br />
<br />
powers.php<br />
<br />
text_pages.php<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
These files are located in config/lorekeeper. The settings.php file is the only file that may require any editing at all; the others should not be touched except when coding new features.<br />
<br />
= Files =<br />
<br />
== settings.php ==<br />
This file lists some basic site settings that are unlikely to change once the site is in use, and therefore should be modified before all else. The following properties can be modified here:<br />
<br />
* Site Name<br />
* Character Codes (formatting)<br />
* Masterlist Thumbnail Dimensions<br />
* Trade Asset Limit<br />
<br />
Please refer to the comments in the file itself for a complete description of each setting.<br />
<br />
== admin_sidebar.php ==<br />
This file lists the links in the admin panel sidebar, as well as the staff power required to view the category of links.<br />
<br />
== image_files.php ==<br />
This file lists the files that will appear in the image uploader section of the admin panel.<br />
<br />
== item_tags.php ==<br />
This file lists item tags that are available to attach to items. Please refer to (tutorial) for how to use this file.<br />
<br />
== notifications.php ==<br />
This file lists notification types as well as their message texts.<br />
<br />
== powers.php ==<br />
This file lists staff powers that can be attached to user ranks.<br />
<br />
== text_pages.php ==<br />
This file lists text pages that are generated during setup and cannot be deleted from the admin panel.<br />
<br />
= See Also =<br />
<br />
* Site Settings</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Claims&diff=834Claims2020-11-16T20:15:23Z<p>Corowne: Created page with "Claims are a submission type that accepts user submissions into a queue and distributes rewards when approved. Unlike Prompts, they do not require the user to choose a prompt..."</p>
<hr />
<div>Claims are a submission type that accepts user submissions into a queue and distributes rewards when approved. Unlike Prompts, they do not require the user to choose a prompt for submission.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Submission<br />
<br />
Rewards<br />
<br />
Characters<br />
<br />
Submission<br />
<br />
Approval Queue<br />
<br />
Rewards<br />
<br />
Processing<br />
<br />
Logging<br />
<br />
See Also<br />
|}<br />
<br />
= Submission =<br />
Claims can be submitted from the claim submission page. A quick link is also available from the submit dropdown on the right hand side of the nav bar.<br />
<br />
A claim submission requires:<br />
<br />
* URL<br />
* Comments (no HTML; accepts line breaks)<br />
* Rewards<br />
<br />
'''URL''' is the link to a page containing the material to be reviewed for claim submission. This is expected to link to proof (e.g. a comment, screenshot etc.) that the user is allowed to make this claim.<br />
<br />
'''Comments''' are optional. This space could be used for, for example, entering a reason/purpose for making the claim. Line breaks will be preserved, but HTML will not be rendered.<br />
<br />
== Rewards ==<br />
The rewards section allows the user to select additional rewards. They can choose to add any of:<br />
<br />
* Items<br />
* Currencies<br />
<br />
Loot tables cannot be selected. This selection is added on top of the default rewards, which are also displayed below the reward selection area.<br />
<br />
== Characters ==<br />
The characters section allows the user to add characters to their submission. Inputs are:<br />
<br />
* Character Code<br />
* Rewards<br />
<br />
'''Character Code''' refers to the character's unique identification code.<br />
<br />
'''Rewards''' function much like the user selected rewards, but only currencies can be selected, and these rewards will be credited directly to the character on approval.<br />
<br />
== Submission ==<br />
Submissions submitted to the approval queue cannot be edited by the user. The submission will have its own page containing all submitted information - this will not be visible to any users besides the submitter and users with the Manage Submissions power until it is approved.<br />
<br />
= Approval Queue =<br />
Users with the '''Manage Submissions''' power can view the queue, edit rewards and approve/reject submissions.<br />
<br />
The claim approval queue consists of lists of submissions filtered by status, ordered by newest first. Pending submissions can be acted upon, while approved and rejected submissions are for reference only.<br />
<br />
Clicking the edit button takes the user to the submission review page, where they can edit the rewards attached to the submission.<br />
<br />
== Rewards ==<br />
The user rewards section lists the rewards the user has selected. The selectable area contains everything the user will receive when their submission is approved.<br />
<br />
The character rewards section lists the characters and rewards the user has added that will be given to the selected characters. More characters can be added as well.<br />
<br />
== Processing ==<br />
The submission can be approved or rejected using the buttons at the bottom. Clicking either will notify the user that their submission has been processed.<br />
<br />
In the case of approval, any attached rewards will be automatically distributed to the user and characters. The submission page will become publicly visible.<br />
<br />
In the case of rejection, a comment can be provided to the user. This can be used to inform the user about why their submission was rejected. HTML cannot be used, and the reason will be displayed on the submission page. The submission page remains hidden to users other than staff with the Manage Submissions power and the submitter themselves.<br />
<br />
= Logging =<br />
A list of prompt/claim submissions a user has made is linked from their user profile. Similarly, characters also have a page that lists prompts/claims they have been submitted for rewards in.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* Prompts</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Characters&diff=833Characters2020-11-16T20:14:45Z<p>Corowne: Created page with "Characters are a resource that can be attached to user accounts. MYO Slots are "lesser" versions of characters with more restrictions on how they can be used with site feature..."</p>
<hr />
<div>Characters are a resource that can be attached to user accounts. MYO Slots are "lesser" versions of characters with more restrictions on how they can be used with site features. They can be edited in the admin panel by users with the '''Manage Masterlist''' power.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Categories<br />
<br />
Characters<br />
<br />
User-editable Profile<br />
<br />
Logs<br />
<br />
Transfers<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
All characters are listed on the masterlist.<br />
<br />
Characters can hold currency and be used to participate in prompts, as well as be transferred/traded. Their designs can be updated through the design updates system. For more information, please refer to the respective pages.<br />
<br />
Users are able to edit a section of their character's profile, and list their character as being available for receiving gift art and/or trade. This section also includes a text field that allows HTML.<br />
<br />
= Editing =<br />
<br />
== Categories ==<br />
Editing character categories requires the '''Edit World Data''' power.<br />
<br />
Character categories can be created in the admin panel, with the following category properties:<br />
<br />
* Name<br />
* Code<br />
* World Page Image<br />
* Description (accepts HTML)<br />
<br />
The image and description are displayed only on the world page.<br />
<br />
The '''Code''' field is important for character code generation (covered below). This code should be unique among character categories, and preferably short.<br />
<br />
Additionally, categories can be sorted from the Character Categories index page. This order reflects the sorting order of categories on the character categories encyclopedia page.<br />
<br />
== Characters ==<br />
Characters are set up in a manner such that traits, species, rarity and other specific details about the character tied to its current design are linked to images rather than the character itself. This allows the character to change and be updated, while preserving a record of previous forms (and the ability to revert to an earlier design) and/or have multiple approved forms for a character. This section will cover only the information attached to the character itself - for more information on character images, please see the Character Images page.<br />
<br />
Characters have the following properties:<br />
<br />
* Owner<br />
* Owner Alias<br />
* Character Category<br />
* Number<br />
* Character Code<br />
* Description<br />
* Is Visible<br />
* Is Giftable<br />
* Is Tradeable<br />
* Is Resellable<br />
* On Transfer Cooldown Until<br />
<br />
The '''Owner''' is the user on-site who owns the character. This field can be left blank if the owner has not registered for an account, and the following field has been filled in.<br />
<br />
The '''Owner Alias''' is the deviantART account name of the user who owns the character. If the Owner field is filled in, this field will be ignored. In the future, if the owner registers for the site, any characters listed under their deviantART name will automatically be attached to their account. Note that if the user has since changed their dA username, this will not happen (characters have to be transferred to their new site account manually).<br />
<br />
The '''Character Category''' is required, and characters cannot be created if at least 1 character category does not exist yet. This is a category for the character that is separate from the character’s species or any other stats, and can be used for example to categorise creator-made designs, MYO designs and guest artist designs. Of course, the usage is entirely up to you - you can also use it to categorise characters by species, or any other criteria you see fit. This category, by default, provides the first half of the character code.<br />
<br />
The '''Number''' is a second identifier for the character. This number can be automatically pulled for new characters, and the rule for how the number should be pulled can be found in the config files. This number, by default, provides the second half of the character code.<br />
<br />
The '''Character Code''' field automatically generates an identifier for the character based on the above two fields. This field '''must''' be unique among all characters, but otherwise can be edited in the form if desired. The default configuration generates codes that follow the {character category code}-{number} format, but this can be edited in the config files. This code is used to access the character's page.<br />
<br />
The '''Description''' field allows for a custom description to be entered. This can be left blank if no further information is required. Suggestions for content include: a link to the initial sales post for the character, additional conditions on the transfer of the character, any transfer cooldown, etc.<br />
<br />
'''Is Visible''' controls whether the character is displayed on the character masterlist. If set to not visible, the character will only be visible to users with the Manage Masterlist power (even the owner cannot see it without the power).<br />
<br />
'''Is Giftable''', '''Is Tradeable''', '''Is Resellable''' are toggles that display the respective information prominently on the character's profile. This is largely cosmetic as the site cannot tell what a character is being sold/traded for. However, the following effects will apply:<br />
<br />
* If all toggles are off, the character is account-bound - it cannot be transferred by the user directly, and cannot be attached to trades. Only users with the Manage Masterlist power can force a transfer.<br />
* If the character is not tradeable or resellable, the user will not be able to toggle the '''Up For Trade''' option in the character's profile (which is a searchable option on the masterlist).<br />
<br />
'''Resale Value''' is a field that appears if the character is marked as resellable. The dollar value of the character can be set, which will be displayed on the character's profile. This is cosmetic, and purely for reference.<br />
<br />
'''On Transfer Cooldown Until''' causes temporary account binding until the selected date/time. Until the cooldown time has been reached, the owner will not be able to directly transfer the character or attach it to a trade. It is possible to automatically set the cooldown date to x number of days (default: 3) when a user makes a transfer - please see Site Settings for more information.<br />
<br />
= User-editable Profile =<br />
After a character has been created, its profile can be edited by the owner or users with the Manage Masterlist power. The following properties can be modified by the user:<br />
<br />
* Name<br />
* Profile Content<br />
* Allow Gift Art<br />
* Up For Trade<br />
<br />
'''Name''' is an optional name given to the character. This is purely cosmetic, and also displays next to the character's code on the masterlist, on user profiles, etc.<br />
<br />
'''Profile Content''' is a section that allows HTML content to be entered.<br />
<br />
'''Allow Gift Art''' is a toggle that denotes if the character's owner is open to receiving gift art of the character. This toggle can be searched on the masterlist to find a list of characters for users to draw. This cannot be edited by anyone other than the owner.<br />
<br />
'''Up For Trade''' is a toggle that denotes if the character's owner wants to trade the character. Similarly, this toggle can also be searched on the masterlist. This cannot be edited by anyone other than the owner.<br />
<br />
Additionally, for users who are not the owner (has the required power), a '''Notify User''' toggle is present. If left on, the owner of the character will be notified that their character's profile has been edited (implied: for moderation purposes). Regardless of the status of the toggle, owners of non-visible characters will not be notified.<br />
<br />
= Logs =<br />
Aside from images, characters have 4 types of logs: the change log, ownership history log, currency log and submission log.<br />
<br />
'''Change Log''': This log specifically logs changes to the character and its images. It lists the specific fields updated, who made the edits, as well as the date of editing.<br />
<br />
'''Ownership History''': This log tracks the transfer of the character between different users, noting the sender, recipient, log information as well as the date. This is similar to the ownership history log that a user also possesses, but specifically monitors the character only.<br />
<br />
'''Currency Logs''': Like the user currency logs, this log tracks the in and outflow of currency from the character's bank. Note that characters are unable to transfer currency between each other, and can only transfer currency to their owners. However, character-owned currencies can be used to purchase items from shops (if the settings allow).<br />
<br />
'''Submissions''': This is a list of submissions that the character has been attached to for rewards.<br />
<br />
= Transfers =<br />
Characters may change hands in 3 ways:<br />
<br />
* User-initiated transfer<br />
* Staff-initiated transfer (a forced transfer)<br />
* Trades<br />
<br />
Transfers may be monitored by changing the '''open_transfers_queue''' site setting to 1. This will place all character transfers and trades containing characters into a queue, and must be approved by a staff member before the transfer is completed.<br />
<br />
User-initiated transfers are a unidirectional transfer from sender to recipient. The recipient is required to accept before they can receive the character. If the transfer queue is closed, the recipient will receive the character immediately upon accepting the transfer.<br />
<br />
For trades, please see the trades article.<br />
<br />
= See Also =<br />
<br />
* Character Images<br />
* MYO Slots<br />
* Masterlist<br />
* Trades<br />
* User Accounts</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Character_Images&diff=832Character Images2020-11-16T20:14:03Z<p>Corowne: Created page with "Character Images are a subsection of Characters and MYO Slots. They are used for managing the main part of the character itself - its visual image, rarity, species and traits...."</p>
<hr />
<div>Character Images are a subsection of Characters and MYO Slots. They are used for managing the main part of the character itself - its visual image, rarity, species and traits.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
Creation<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Character images are automatically created when a character or MYO slot is created, and when their design is updated through the design updates system. They can also be added manually from the character's page by a staff member with the '''Manage Masterlist''' power.<br />
<br />
Character images are intended to be used as "versions" of a character's design - for example, a character with multiple forms, and/or to keep track of past designs the character has had. Each image is separate from the other and can have completely different species/rarity/traits.<br />
<br />
Updates to a character's images can be tracked via Bookmarks.<br />
<br />
= Editing =<br />
<br />
== Creation ==<br />
The character image form has certain variations depending on whether you are viewing it in character creation, new image creation or the design updates forms - some options may not always be available. However, images have all of the following properties:<br />
<br />
* Is Visible<br />
* Is Valid<br />
* Character Image (upload)<br />
* Use Image Cropper<br />
* Thumbnail Image (upload)<br />
* Designer(s)<br />
* Artist(s)<br />
* Image Notes<br />
* Species<br />
* Subtype<br />
* Character Rarity<br />
* Traits<br />
<br />
'''Is Visible''' determines whether the image is visible to the public. If set to Off, only staff members with the relevant power can see the image.<br />
<br />
'''Is Valid''' is a cosmetic toggle - if set to Off, a note will be displayed on the image saying<blockquote>This version of this character is outdated, and only noted here for recordkeeping purposes. Do not use as an official reference.</blockquote>'''Character Image''' is for uploading the main image for the character. '''Use Image Cropper''' allows the user to use a cropping application on the page to crop a thumbnail from the uploaded image, which will be used on the character masterlist. Alternatively, a '''Thumbnail Image''' can be uploaded in its place.<br />
<br />
'''Designer(s)''' and '''Artist(s)''' are used for adding credits for the image's creation. Multiple designers and artists may be attached to a single image.<br />
<br />
'''Image Notes''' is an optional field for adding any additional information about the image. Suggestions include how this version of the character was obtained, any special effects for traits that are too long to fit in the trait descriptions, etc.<br />
<br />
'''Species''' is the species of the character. This is required for creating full characters and optional for creating MYO slots. If this is assigned for an MYO slot, the character created must be that species.<br />
<br />
'''Character Rarity''' is the rarity of the character. This is required for creating full characters and optional for creating MYO slots. If this is assigned for an MYO slot, the character created must be that rarity.<br />
<br />
'''Traits''' is the list of traits to be attached to this image. Any amount of traits, or none, can be attached. If any traits are selected for an MYO slot, they cannot be removed when the user edits the design approval request for it. Traits also contain an additional extra info slot - this can be used to give unique information about how the trait is used on the character. For example, a "Fish Tail" trait can be specified to be "Shark" or "Goldfish".<br />
<br />
== Editing ==<br />
Once an image has been added, the information can be edited on the images page by staff with the relevant power. Each image in the gallery at the bottom of the page can be clicked to bring up information about the image and each section can be edited separately. A few other options become available:<br />
<br />
* Is Viewable<br />
* Reupload Image<br />
* Set Active (only for any non-active image)<br />
* Delete<br />
<br />
'''Is Viewable''' can be used to hide the image from the character's page. This cannot be toggled off for the character's active image.<br />
<br />
'''Reupload Image''' can be used to reupload the character's masterlist image.<br />
<br />
'''Set Active''' changes the character's active image - this is the image that is displayed on the masterlist.<br />
<br />
'''Delete''' will completely delete the image as well as the actual images (main image and thumbnail) themselves. The character's active image cannot be deleted.<br />
<br />
Additionally, when there are more than one image in the character's image gallery, they can be sorted/reordered by staff.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* MYO Slots</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Bookmarks&diff=831Bookmarks2020-11-16T20:12:50Z<p>Corowne: Created page with "Bookmarks are a feature that can be used to keep track of characters and MYO slots owned by other users privately. Other users, as well as staff members are not able to view o..."</p>
<hr />
<div>Bookmarks are a feature that can be used to keep track of characters and MYO slots owned by other users privately. Other users, as well as staff members are not able to view or modify bookmarks.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Usage<br />
<br />
Editing<br />
<br />
See Also<br />
|}<br />
<br />
= Usage =<br />
Any visible character or MYO slot can be bookmarked from its page. The "Bookmark" button located in the right side of the character's name header can be clicked to bring up a creation modal.<br />
<br />
Created bookmarks can be managed from the Character Bookmarks page, which is accessible from the Bookmarks link from the user dropdown on the far right side of the navigation bar. This page allows you to edit and delete bookmarks, and additionally features a mode to hide character thumbnails for a more condensed version of the page. Each bookmark also displays the character's name (with a link to the page), its species, rarity, current owner, and current trade/gift art statuses.<br />
<br />
= Editing =<br />
Bookmarks have the following properties:<br />
<br />
* Notify me when…<br />
** Open For Trades status changes<br />
** Gift Art Allowed status changes<br />
** Character's owner changes<br />
** A new image is uploaded<br />
* Comment (No HTML, 500 characters maximum)<br />
<br />
The '''Notify me when…''' settings each represent whether a notification will be sent to you when the respective change occurs. All of these settings are optional.<br />
<br />
'''Open For Trades/Gift Art Allowed''' settings change whenever the user or a staff member edits the settings. Note that since these are editable by the character's owner themselves, they may change frequently, resulting in a lot of notifications.<br />
<br />
The '''Character's owner''' changes when a character is transferred (voluntarily or forced by a staff member) or traded to another user. It does not send a notification when a new user registers for the site and has their existing characters credited to them.<br />
<br />
'''A new image is uploaded''' when a staff member adds a new image to a character, a design update for a character is successfully approved, or a MYO slot's design is approved.<br />
<br />
The '''Comment''' is entirely optional and provides a space to make a small note regarding the character. As bookmarks are completely invisible to any user other than the bookmarking user, the owner will not be able to see this comment.<br />
<br />
= See Also =<br />
<br />
* Characters<br />
* MYO Slots<br />
* User Accounts</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Admin_Panel&diff=830Admin Panel2020-11-16T20:11:09Z<p>Corowne: </p>
<hr />
<div><br />
<br />
The admin panel collects most of the features of the site that require user rank power to access. These features give users the ability to create and modify data that will be used on the site. This page will list the links available in the admin panel, categorised by the power required to access it.<br />
{| class="wikitable"<br />
|Fold<br />
<br />
Table of Contents<br />
<br />
Features<br />
<br />
Admin<br />
<br />
Edit Text Pages<br />
<br />
Manage Users<br />
<br />
Manage Submissions<br />
<br />
Edit Inventories<br />
<br />
Edit World Data<br />
<br />
Manage Masterlist<br />
<br />
Manage Raffles<br />
<br />
Edit Site Settings<br />
<br />
See Also<br />
|}<br />
<br />
= Features =<br />
<br />
== Admin ==<br />
These can only be edited by the admin account, which is not an assignable power.<br />
<br />
; User Ranks<br />
: Create and edit user ranks to assign to users.<br />
<br />
== Edit Text Pages ==<br />
<br />
; News<br />
: Create and edit news posts.<br />
; Pages<br />
: Create and edit site pages.<br />
<br />
== Manage Users ==<br />
<br />
; User Index<br />
: Lists all users on the site. This links to pages for each user that allow for editing of user information (note that the Edit Ranks power is needed to edit the user's rank), bans, and a record of user information that was edited by staff.<br />
; Invitation Keys<br />
: Create and delete invitation keys to register for the site when the site is closed for public registration.<br />
<br />
== Manage Submissions ==<br />
<br />
; Prompt Submissions<br />
: View, approve and reject prompt submissions.<br />
; Claim Submissions<br />
: View, approve and reject claim submissions.<br />
<br />
== Edit Inventories ==<br />
<br />
; Currency Grants<br />
: Grant and remove currencies from users.<br />
; Item Grants<br />
: Grant items to users.<br />
<br />
== Edit World Data ==<br />
<br />
; Rarities<br />
: Create and edit rarities.<br />
; Species<br />
: Create and edit species.<br />
; Subtypes<br />
: Create and edit species subtypes.<br />
; Trait Categories<br />
: Create and edit trait categories.<br />
; Traits<br />
: Create and edit traits.<br />
; Item Categories<br />
: Create and edit item categories.<br />
; Items<br />
: Create and edit items.<br />
; Shops<br />
: Create and edit shops and shop stock.<br />
; Prompt Categories<br />
: Create and edit prompt categories.<br />
; Prompts<br />
: Create and edit prompts.<br />
; Character Categories<br />
: Create and edit character categories.<br />
; Currencies<br />
: Create and edit currencies.<br />
; Loot Tables<br />
: Create and edit loot tables.<br />
<br />
== Manage Masterlist ==<br />
<br />
; Create Character<br />
: Create a character.<br />
; Create MYO Slot<br />
: Create an MYO slot.<br />
; Character Transfers<br />
: View and approve/deny character transfers.<br />
; Character Trades<br />
: View and approve/deny character trades.<br />
; Design Updates<br />
: View and approve/reject character design updates.<br />
; MYO Approvals<br />
: View and approve/reject MYO design submissions.<br />
<br />
== Manage Raffles ==<br />
<br />
; Raffles<br />
: Create raffles and raffle groups, and modify tickets for raffles.<br />
<br />
== Edit Site Settings ==<br />
<br />
; Site Settings<br />
: Edit site settings.<br />
; Site Images<br />
: Edit site settings and additional CSS file.<br />
; File Manager<br />
: Upload and manage files.<br />
<br />
= See Also =<br />
<br />
* Config Files<br />
<br />
*</div>Corownehttp://wiki.lorekeeper.me/index.php?title=Admin_Panel&diff=829Admin Panel2020-11-16T20:09:17Z<p>Corowne: Created page with "The admin panel collects most of the features of the site that require user rank power] to access. These features give users the ability to create and mo..."</p>
<hr />
<div>The admin panel collects most of the features of the site that require user rank [[[wiki:user-ranks |power]]] to access. These features give users the ability to create and modify data that will be used on the site. This page will list the links available in the admin panel, categorised by the power required to access it.<br />
<br />
[[toc]]<br />
<br />
+ Features<br />
<br />
++ Admin<br />
<br />
These can only be edited by the admin account, which is not an assignable power.<br />
<br />
: [[[wiki:user-ranks|User Ranks]]] : Create and edit user ranks to assign to users.<br />
<br />
++ Edit Text Pages<br />
<br />
: [[[wiki:news|News]]] : Create and edit news posts.<br />
: [[[wiki:site-pages|Pages]]] : Create and edit site pages.<br />
<br />
++ Manage Users<br />
<br />
: [[[wiki:user-accounts|User Index]]] : Lists all users on the site. This links to pages for each user that allow for editing of user information (note that the Edit Ranks power is needed to edit the user's rank), bans, and a record of user information that was edited by staff.<br />
: [[[wiki:invitation-keys|Invitation Keys]]] : Create and delete invitation keys to register for the site when the site is closed for public registration.<br />
<br />
++ Manage Submissions<br />
<br />
: Prompt Submissions : View, approve and reject prompt submissions.<br />
: Claim Submissions : View, approve and reject claim submissions.<br />
<br />
++ Edit Inventories<br />
<br />
: Currency Grants : Grant and remove currencies from users.<br />
: Item Grants : Grant items to users.<br />
<br />
++ Edit World Data<br />
<br />
: [[[wiki:rarities|Rarities]]] : Create and edit rarities.<br />
: [[[wiki:species|Species]]] : Create and edit species.<br />
: Subtypes : Create and edit species subtypes.<br />
: [[[wiki:traits|Trait Categories]]] : Create and edit trait categories.<br />
: Traits : Create and edit traits.<br />
: [[[wiki:items|Item Categories]]] : Create and edit item categories.<br />
: Items : Create and edit items.<br />
: [[[wiki:shops|Shops]]] : Create and edit shops and shop stock.<br />
: [[[wiki:prompts|Prompt Categories]]] : Create and edit prompt categories.<br />
: Prompts : Create and edit prompts.<br />
: [[[wiki:characters|Character Categories]]] : Create and edit character categories.<br />
: [[[wiki:currencies|Currencies]]] : Create and edit currencies.<br />
: [[[wiki:loot-tables|Loot Tables]]] : Create and edit loot tables.<br />
<br />
++ Manage Masterlist<br />
<br />
: Create Character : Create a character.<br />
: Create [[[wiki:myo-slots|MYO Slot]]] : Create an MYO slot.<br />
: Character Transfers : View and approve/deny character transfers.<br />
: Character Trades : View and approve/deny character trades.<br />
: [[[wiki:design-updates|Design Updates]]] : View and approve/reject character design updates.<br />
: MYO Approvals : View and approve/reject MYO design submissions.<br />
<br />
++ Manage Raffles<br />
<br />
: [[[wiki:raffles|Raffles]]] : Create raffles and raffle groups, and modify tickets for raffles.<br />
<br />
++ Edit Site Settings<br />
<br />
: [[[wiki:site-settings|Site Settings]]] : Edit site settings.<br />
: [[[wiki:site-images|Site Images]]] : Edit site settings and additional CSS file.<br />
: [[[wiki:file-manager|File Manager]]] : Upload and manage files.<br />
<br />
+ See Also<br />
<br />
* [[[wiki:config-files |Config Files]]]</div>Corowne