SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('options', 'languages', 'contentTypes', 'codeEventListeners', 'deferredRun', 'simpleCache', 'addOns', 'defaultStyleProperties', 'routeFiltersIn', 'routeFiltersOut', 'routesPublic', 'nodeTypes', 'bannedIps', 'discouragedIps', 'styles', 'displayStyles', 'userBanners', 'smilies', 'bbCode', 'threadPrefixes', 'userTitleLadder', 'reportCounts', 'moderationCounts', 'userModerationCounts', 'notices', 'userFieldsInfo')
Run Time: 0.004818
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 26 | Using where |
SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('brListenerClasses', 'brBriviumAddOns')
Run Time: 0.000368
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 2 | Using where |
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000405
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_permission_combination | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT thread.*
,
user.gender, user.avatar_date, user.gravatar,
NULL AS thread_read_date,
0 AS thread_reply_banned,
0 AS thread_is_watched,
'' AS draft_message, NULL AS draft_extra
FROM xf_thread AS thread
LEFT JOIN xf_user AS user ON
(user.user_id = thread.user_id)
WHERE thread.thread_id = ?
Params: 3926
Run Time: 0.000380
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT node.*, forum.*
,
permission.cache_value AS node_permission_cache,
NULL AS forum_read_date
FROM xf_forum AS forum
INNER JOIN xf_node AS node ON (node.node_id = forum.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = 1
AND permission.content_type = 'node'
AND permission.content_id = forum.node_id)
WHERE node.node_id = ?
Params: 7
Run Time: 0.000521
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | forum | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | node | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | permission | const | PRIMARY | PRIMARY | 35 | const,const,const | 1 | |
SELECT EWRporta2_articles.*, xf_thread.*, xf_post.*, xf_user.*, EWRporta2_authors.*
FROM EWRporta2_articles
INNER JOIN xf_thread ON (xf_thread.thread_id = EWRporta2_articles.thread_id)
INNER JOIN xf_post ON (xf_post.post_id = xf_thread.first_post_id)
LEFT JOIN xf_user ON (xf_user.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_authors ON (EWRporta2_authors.user_id = xf_thread.user_id)
WHERE EWRporta2_articles.thread_id = ?
Params: 3926
Run Time: 0.001326
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | | | | | | | | no matching row in const table |
SELECT EWRporta2_articles.*, EWRporta2_authors.*, xf_thread.*, xf_post.*, xf_user.*
FROM xf_thread
INNER JOIN xf_post ON (xf_post.post_id = xf_thread.first_post_id)
LEFT JOIN xf_user ON (xf_user.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_authors ON (EWRporta2_authors.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_articles ON (EWRporta2_articles.thread_id = xf_thread.thread_id)
WHERE xf_thread.thread_id = ?
Params: 3926
Run Time: 0.000627
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | xf_post | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | xf_user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | EWRporta2_authors | const | PRIMARY | PRIMARY | 4 | const | 0 | unique row not found |
SIMPLE | EWRporta2_articles | const | PRIMARY | PRIMARY | 4 | const | 0 | unique row not found |
SELECT post.*
,
bb_code_parse_cache.parse_tree AS message_parsed, bb_code_parse_cache.cache_version AS message_cache_version,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
signature_parse_cache.parse_tree AS signature_parsed, bb_code_parse_cache.cache_version AS signature_cache_version,
session_activity.view_date AS last_view_date,
0 AS like_date
FROM xf_post AS post
LEFT JOIN xf_bb_code_parse_cache AS bb_code_parse_cache ON
(bb_code_parse_cache.content_type = 'post' AND bb_code_parse_cache.content_id = post.post_id)
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_bb_code_parse_cache AS signature_parse_cache ON
(signature_parse_cache.content_type = 'signature' AND signature_parse_cache.content_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
WHERE post.thread_id = ?
AND (post.position >= 40 AND post.position < 60)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 3926
Run Time: 0.001673
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | post | range | thread_id_post_date,thread_id_position | thread_id_position | 8 | | 20 | Using index condition; Using where; Using filesort |
SIMPLE | bb_code_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xen.post.post_id | 1 | Using where |
SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | xen.post.user_id | 1 | |
SIMPLE | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | xen.post.user_id | 1 | |
SIMPLE | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | xen.post.user_id | 1 | |
SIMPLE | signature_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xen.post.user_id | 1 | Using where |
SIMPLE | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | xen.post.user_id,func | 1 | Using where |
INSERT DELAYED INTO xf_thread_view
(thread_id)
VALUES
(?)
Params: 3926
Run Time: 0.000229
SELECT EWRporta2_articles.*, xf_thread.*, xf_post.*, xf_user.*, EWRporta2_authors.*
FROM EWRporta2_articles
INNER JOIN xf_thread ON (xf_thread.thread_id = EWRporta2_articles.thread_id)
INNER JOIN xf_post ON (xf_post.post_id = xf_thread.first_post_id)
LEFT JOIN xf_user ON (xf_user.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_authors ON (EWRporta2_authors.user_id = xf_thread.user_id)
WHERE EWRporta2_articles.thread_id = ?
Params: 3926
Run Time: 0.000708
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | | | | | | | | no matching row in const table |
SELECT EWRporta2_articles.*, EWRporta2_authors.*, xf_thread.*, xf_post.*, xf_user.*
FROM xf_thread
INNER JOIN xf_post ON (xf_post.post_id = xf_thread.first_post_id)
LEFT JOIN xf_user ON (xf_user.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_authors ON (EWRporta2_authors.user_id = xf_thread.user_id)
LEFT JOIN EWRporta2_articles ON (EWRporta2_articles.thread_id = xf_thread.thread_id)
WHERE xf_thread.thread_id = ?
Params: 3926
Run Time: 0.000683
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | xf_post | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | xf_user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | EWRporta2_authors | const | PRIMARY | PRIMARY | 4 | const | 0 | unique row not found |
SIMPLE | EWRporta2_articles | const | PRIMARY | PRIMARY | 4 | const | 0 | unique row not found |
INSERT INTO `xf_session` (`session_id`, `session_data`, `expiry_date`) VALUES (?, ?, ?)
Params: af9c9a1cae56d72a0021f2fbd69828b8, , 1714371126
Run Time: 0.000258
INSERT INTO xf_session_activity
(user_id, unique_key, ip, controller_name, controller_action, view_state, params, view_date, robot_key)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
ip = VALUES(ip),
controller_name = VALUES(controller_name),
controller_action = VALUES(controller_action),
view_state = VALUES(view_state),
params = VALUES(params),
view_date = VALUES(view_date),
robot_key = VALUES(robot_key)
Params: 0, , , XenForo_ControllerPublic_Thread, Index, valid, thread_id=3926&page=3, 1714367526,
Run Time: 0.000237
SELECT *
FROM kingk_bbcm
ORDER BY tag
Run Time: 0.000348
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | kingk_bbcm | system | | | | | 1 | |
SELECT page_name FROM EWRcarta_pages WHERE page_slug = 'index'
Run Time: 0.000261
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | EWRcarta_pages | const | page_slug | page_slug | 302 | const | 1 | |
SELECT options.*, node.*,
permission.cache_value AS node_permission_cache
FROM nat_options AS options
INNER JOIN xf_node AS node
ON (node.node_id = options.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = ?
AND permission.content_type = 'node'
AND permission.content_id = options.node_id)
WHERE nat_display_tab = 1
ORDER BY options.nat_display_order
ASC
Params: 1
Run Time: 0.000598
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | options | ALL | node_id | | | | 24 | Using where; Using filesort |
SIMPLE | node | eq_ref | PRIMARY | PRIMARY | 4 | xen.options.node_id | 1 | |
SIMPLE | permission | eq_ref | PRIMARY | PRIMARY | 35 | const,const,xen.options.node_id | 1 | Using where |
SELECT title, phrase_text
FROM xf_phrase_compiled
WHERE language_id = ?
AND title IN ('trophy_1_title', 'trophy_1_description', 'trophy_40_title', 'trophy_40_description', 'trophy_5_title', 'trophy_5_description', 'trophy_2_title', 'trophy_2_description', 'trophy_12_title', 'trophy_12_description', 'trophy_27_title', 'trophy_27_description', 'trophy_28_title', 'trophy_28_description', 'trophy_29_title', 'trophy_29_description', 'trophy_30_title', 'trophy_30_description', 'trophy_31_title', 'trophy_31_description', 'trophy_32_title', 'trophy_32_description', 'trophy_39_title', 'trophy_39_description', 'trophy_41_title', 'trophy_41_description', 'trophy_3_title', 'trophy_3_description', 'trophy_6_title', 'trophy_6_description', 'trophy_11_title', 'trophy_11_description', 'trophy_33_title', 'trophy_33_description', 'trophy_34_title', 'trophy_34_description', 'trophy_7_title', 'trophy_7_description', 'trophy_10_title', 'trophy_10_description', 'trophy_13_title', 'trophy_13_description', 'trophy_35_title', 'trophy_35_description', 'trophy_36_title', 'trophy_36_description', 'trophy_4_title', 'trophy_4_description', 'trophy_8_title', 'trophy_8_description', 'trophy_17_title', 'trophy_17_description', 'trophy_22_title', 'trophy_22_description', 'trophy_26_title', 'trophy_26_description', 'trophy_37_title', 'trophy_37_description', 'trophy_44_title', 'trophy_44_description', 'trophy_9_title', 'trophy_9_description', 'trophy_20_title', 'trophy_20_description', 'trophy_18_title', 'trophy_18_description', 'trophy_38_title', 'trophy_38_description', 'trophy_21_title', 'trophy_21_description', 'trophy_23_title', 'trophy_23_description', 'trophy_25_title', 'trophy_25_description', 'trophy_24_title', 'trophy_24_description', 'trophy_42_title', 'trophy_42_description', 'trophy_43_title', 'trophy_43_description', 'BRSTS_support_tickets', 'media')
Params: 2
Run Time: 0.000729
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_phrase_compiled | range | PRIMARY | PRIMARY | 106 | | 82 | Using where |
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177405, a:1:{i:0;s:52:"Некрасиво + много не всунешь.";}, 1708502088, 1714367526
Run Time: 0.002327
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177407, a:4:{i:0;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:6:"229854";s:8:"original";a:2:{i:0;s:13:"[USER=229854]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:11:"HenryMorgan";}}i:1;s:2:", ";i:2;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:6:"234540";s:8:"original";a:2:{i:0;s:13:"[USER=234540]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:11:"Organ_donor";}}i:3;s:299:", вы говорите о тех игроках которым это всё не нужно, а я говорю о тех игроках которые после первой смерти перестают играть так как не знают и не умеют вообще ничего.";}, 1708502088, 1714367526
Run Time: 0.000658
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177408, a:1:{i:0;s:312:"Ещё вариант. Резервация. Территория на карте тыщща на тыщщу, внутри нет потери лута, под землёй регулярно реген, чтобы всё не выкопали. За пределами территории потеря лута.";}, 1708502088, 1714367526
Run Time: 0.001703
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177411, a:2:{i:0;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:6:"208391";s:8:"original";a:2:{i:0;s:13:"[USER=208391]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:6:"angvar";}}i:1;s:414:", ну и все простые игроки там ресы будут копать. Тогда ты разовьешь идею, что туда не надо будет пускать стариканов, а я скажу, в какой-то момент новичок становится стариканом и его туда перестанет пускать, а у него там все шмотки.";}, 1708502088, 1714367526
Run Time: 0.000899
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177413, a:1:{i:0;s:56:"Хм, это да, это недостаток идеи.";}, 1708502088, 1714367526
Run Time: 0.001338
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177415, a:1:{i:0;s:470:"А давайте (как было предложено не раз) перенесём точку первого спавна, в чистое поле.
Заприватим кусочек, 20х20. Поставим бесплатный портал на Спавноград, портал с рандомным телепортом и добавим немного информации на табличках (или на не красивых голограммах).";}, 1708502088, 1714367526
Run Time: 0.000967
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177416, a:2:{i:0;s:746:"Да, такая проблема есть. Игрок появляется ночью на спавне и уходит через ворота искать себе место. Мобы его убивают, так бывает. Я знаю, когда игрок ради китстарта заходил под другим новым ником, чтобы снова попробовать начать играть. Предлагаю дать возможность новичку не терять лут при смерти в течение 2 часов после входа в игру. И ограничить использование мульти-аккаунтов до двух (трёх) на одного человека.
";i:1;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:31:"Filter, post: 177317, member: 4";s:8:"original";a:2:{i:0;s:41:"[QUOTE="Filter, post: 177317, member: 4"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:285:"Не секрет, что многие новички вылезая в опасный мир со спавна, впервые столкнувшись с мобом или умирая по другой причине разочаровываются и выходят из игры.";}}}, 1708502088, 1714367526
Run Time: 0.001505
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177417, a:2:{i:0;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:36:"Chasey, post: 177416, member: 234547";s:8:"original";a:2:{i:0;s:46:"[QUOTE="Chasey, post: 177416, member: 234547"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:132:"И ограничить использование мульти-аккаунтов до двух на одного человека.";}}i:1;s:238:"
За такое предложение тебя прибьют три четверти сервера) мульты необходимы всем, например у кого-то мульт для скина NPC в его городе.";}, 1708502088, 1714367526
Run Time: 0.000908
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177420, a:11:{i:0;s:139:"Стоит определиться, что здесь идут рассуждения над решением для более-менее";i:1;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:23:" "казуальной"";}}i:2;s:2123:" аудитории. Тем игрокам, которые умеют играть и трезво оценивать риски в схватках с мобами, все эти облегчения игрового процесса не нужны - они и без каких-либо плюшек для себя спокойно разовьются на базе того снаряжения, которое уже выдаётся сейчас. Или, даже случайно умерев, без труда восполнят все ресурсы и продолжат игровой процесс. Банально потому что они знакомы с игрой, понимают как и что делать.
Для казуального же игрока сложен сам игровой процесс, и дай ты ему хоть чаренный железный сет, при нынешней сложности он всё ровно найдёт где его потерять, где умереть. Просто потому что этот игрок либо не знаком с опасностями майнкрафта в принципе, либо не умеет играть на нашей сложности, не знает где лучше отступать, куда лучше не ходить не подготовленным.
Я абсолютно согласен с той идеей, что спавн стоит перенести куда-нибудь в поле, сделать там простую и маленькую площадку с порталом в Спавноград. Это даст игрокам более удобную стартовую стартовую позицию и избавит от долгого процесса выбегания с территории Спавнограда.
Но эта мера не упростит сам игровой процесс, не решит поставленного тут вопроса.
Если и работать над решением именно проблемы ";i:3;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:57:"сложности сервера для новичков";}}i:4;s:284:", то необходимо делать упор на продолжительные, ограниченные какими-то временными рамками, а не смертями игрока, меры. При этом необходимо предусматривать ";i:5;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:28:"опциональность";}}i:6;s:93:" облегчения, чёткие временные рамки, которые будут ";i:7;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:48:"понятны игроку изначально";}}i:8;s:5:", и ";i:9;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:29:"баланс развития";}}i:10;s:2296:", чтобы не убить для игрока добрые две трети (а то и весь) игрового процесса как такового.
Именно поэтому лично я считаю, что меры вроде более продвинутого китстарта или всевозможных баффов на новичках не решат проблемы. Скорее он сдвинут шаткие весы онлайна и ударят по не "казуальной" аудитории, сократив их время развития (как следствие и нахождения) в игре на пару часов или дней.
Если и думать в этом направлении, то дельное решение уже предложено белкой - дешёвый дефолтный кит по команде. Остальные ухищрения дадут больше вреда, чем пользы.
Насчёт временного сохранения инвентаря: как уже выяснили, идея привлекательная, но юзабельная и для мультов уже развившихся пользователей, просто чтобы к примеру свести к минимуму риски в шахте или где-либо ещё, что буквально развязывает и без того несильно стянутые руки опытного игрока.
Предусмотреть этот момент мы не можем, поэтому идею сохранения инвентаря стоит ставить крайней мерой или вовсе отметать.
Ну и идея с "безопасной зоной" (моим вариантом), ИМХО, всё ещё проходит по необходимым критериям, как более глобальная мера. Конструктивной критики на этот счёт пока так и не было высказано. Буду рад обсудить этот момент, если резоны "против" всё же будут озвучены. В споре, как известно, рождается истина.";}, 1708502088, 1714367526
Run Time: 0.001899
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177421, a:1:{i:0;s:262:"Фри сервер. :help:
Легкая сложность, освоится с игровыми командами, научится фармить червонцы и просто играть - добро пожаловать на классик. :popcorn:";}, 1708502088, 1714367526
Run Time: 0.001782
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177422, a:2:{i:0;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:36:"Mogrein, post: 177421, member: 43433";s:8:"original";a:2:{i:0;s:46:"[QUOTE="Mogrein, post: 177421, member: 43433"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:262:"Фри сервер. :help:
Легкая сложность, освоится с игровыми командами, научится фармить червонцы и просто играть - добро пожаловать на классик. :popcorn:";}}i:1;s:621:"
Ну скорее фри-зона. Отдельные сервера мы уже проходили - получилось не очень. =))
Фармить особо не получится из-за редкого спавна мобов. Тут уже будет палка о двух концах. Аля: "Хочешь спокойствия? Оставайся. Хочешь реальных денег, опыта и лута с мобов? Выходи из зоны и фарми."
А в остальном, да, так оно и задумывается. Легче играть и осваиваться.";}, 1708502088, 1714367526
Run Time: 0.002015
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177423, a:2:{i:0;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:4:"7609";s:8:"original";a:2:{i:0;s:11:"[USER=7609]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:5:"Kaivo";}}i:1;s:546:", всё хорошо описал, но я нарочно упомянул про ограничения, это если иметь в виду непропадаемый инвентарь и/или более слабых мобов, а именно сделать невозможный поход в ад, в край, в...Да мало ли их можно придумать, например запретить носить алмазный доспех :) Всё в наших умах и головах в данном вопросе.";}, 1708502088, 1714367526
Run Time: 0.000987
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177429, a:3:{i:0;s:97:"Как вариант запускать новых игроков сразу на карту с ";i:1;a:4:{s:3:"tag";s:1:"u";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[U]";i:1;s:4:"[/U]";}s:8:"children";a:1:{i:0;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:29:"мирным уровнем, ";}}}}i:2;s:270:"а уже оттуда уже портал на классик с предупреждением обо всех возможностях и опасностях. Тренировка на коровах и овцах, так сказать, боевого скила :)";}, 1708502088, 1714367526
Run Time: 0.001745
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177430, a:2:{i:0;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:6:"221536";s:8:"original";a:2:{i:0;s:13:"[USER=221536]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:9:"Kavardaik";}}i:1;s:313:", это будет ровно тоже самое, что и упомянутые фришки, в то время как "мирные" условия можно реализовать и в обычном мире, просто ограничить время и некоторые другие функции.";}, 1708502088, 1714367526
Run Time: 0.001004
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177431, a:1:{i:0;s:1248:"Хочется сказать всем кто предлагает какие-то фри зоны, отдельные миры и тому подобное. Я в принципе не понимаю зачем это надо, ведь это заставит игрока развиваться два раза, искать эту фри зону, промахиваться мимо неё и тому подобное. В то время как полная свобода перемещения и игра вместе со всеми на много лучше. Живи где хочешь, стройся где хочешь, ведь свободного места реально много, а выйти со спавна для абсолютного большинства сейчас не составляет труда. Повторю, я ума не приложу зачем ограничивать новичков каким-то гетто или резервацией, если всё, что технически можно реализовать в этой резервации можно реализовать и персонально для каждого из новичков в любом месте мира.";}, 1708502088, 1714367526
Run Time: 0.001742
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177432, a:18:{i:0;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:31:"Filter, post: 177431, member: 4";s:8:"original";a:2:{i:0;s:41:"[QUOTE="Filter, post: 177431, member: 4"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:84:"ведь это заставит игрока развиваться два раза";}}i:1;s:1:"
";i:2;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:33:"Kaivo, post: 177358, member: 7609";s:8:"original";a:2:{i:0;s:43:"[QUOTE="Kaivo, post: 177358, member: 7609"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:636:"Можно будет сделать какую-то ограниченную зону для новичков, в которой не будет(или будет мизер) мобов. Там им предоставить какое-то время на освоение, а после, в заранее обозначенную дату, просто переносить зону на другое место.
Таким макаром новички, развившись в относительной безопасности, окажутся "в аду сложности ванилки" уже подготовленными.";}}i:3;s:439:"
Развиваться дважды их никто не заставляет. Они разовьются один раз и просто окажутся в заранее обозначенное время на сложности сервера в уже обжитом месте. Или же переедут в новую фри-зону, если прямо сильно не могут жить с кусучими мобами.
";i:4;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:31:"Filter, post: 177431, member: 4";s:8:"original";a:2:{i:0;s:41:"[QUOTE="Filter, post: 177431, member: 4"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:109:"искать эту фри зону, промахиваться мимо неё и тому подобное.";}}i:5;s:1:"
";i:6;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:33:"Kaivo, post: 177358, member: 7609";s:8:"original";a:2:{i:0;s:43:"[QUOTE="Kaivo, post: 177358, member: 7609"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:114:"Ну и со спавна поставить большой видный портал "новичкам сюда".";}}i:7;s:380:"
Этот момент легко предусматривается с нашей стороны. Вплоть до точки спавна уже в середине или в углу фри-зоны и многократного предупреждения в чат или на экран большими буквами, что игрок покидает фри-зону.
";i:8;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:31:"Filter, post: 177431, member: 4";s:8:"original";a:2:{i:0;s:41:"[QUOTE="Filter, post: 177431, member: 4"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:391:"я ума не приложу зачем ограничивать новичков каким-то гетто или резервацией, если всё, что технически можно реализовать в этой резервации можно реализовать и персонально для каждого из новичков в любом месте мира.";}}i:9;s:208:"
Идея фри-зоны никак не ограничивает игроков в выборе места поселения или взаимодействие пользователей. Она даёт ";i:10;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:24:"опциональный";}}i:11;s:1:" ";i:12;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:17:"плацдарм ";}}i:13;s:3787:"для игроков, которым сложно развиваться с нуля. Причём плацдарм понятный и лёгкий для объяснения каждому игроку, а не персональный "гейммод", который ещё надо донести до игрока, обозначить его персональные сроки, наверняка нагрузить тонной условий и ограничений. В фри-зоне этого не нужно. Она существует независимо от игроков и является лишь их выбором.
Если игрок захочет пойти и поселиться в горах на краю карты - он пойдёт и сразу там поселится. Или же, взвесив все риски, сначала потратит время в онлайне и добьётся большего развития на плацдарме фри-зоны, а уже тогда, более подготовленным, он пойдёт на выбранное им место и всё ровно там поселится. Или же вовсе решит никуда не уходить и останется развиваться в безопасной зоне.
И это будет изначально его выбор.
В твоём же варианте персональной защиты ему сначала нужно будет разобраться что вообще есть эта "персоналка", что она даёт, что отнимает, сколько длится, возможно узнать какие-то дополнительные команды. Казуальной аудитории это не нужно, у нас некоторые новые игроки только спустя пару месяцев игры на сервере узнают, что приватить оказывается надо деревянный топором.
Плюс ко всему в варианте персональной защиты лично мне пока не видно никакого механизма учёта опытных игроков и "правила сообщающихся сосудов". Ведь так или иначе, если вводить в этом случае персональные ограничения до какой-то планки развития для того, чтобы старички не копали под мультами и т.д., то мы лишаем новичка права выбора между безопасностью и развитием в игре. Если один раз он выбирает развитие, то вернуться к безопасности он уже не может, ведь персональная защита расчитана на то, чтобы облегчить первые этапы развития игрока. А казуальная аудитория по определению имеет постоянную потребность в безопасности. И если нет пути реализации этой их потребности, то сколько бы он не развивался во время действия персональной защиты, когда та спадёт, он всё ровно умрёт/сгорит/устанет из-за обычной сложности сервера и сгинет в тлен. Потому что он не умеет играть. Ему сложно/он не знает как.
Фри-зона же даст игроку опциональный и";i:14;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:18:" понятный ";}}i:15;s:51:"механизм защиты, которым он ";i:16;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:26:"в любой момент";}}i:17;s:925:" как может воспользоваться, идя при этом на осознанные ограничения, действующие только на территории фри-зоны(не работающие качалки, урезанные алмы и т.п.), так может и отвергнуть, и, самостоятельно идя на риск, играть на сложности сервера. При этом фри-зона не лишает игрока возможности выходить на или за её пределы, взаимодействовать и кооперироваться с другими игроками как на территории фри-зоны, так и за её пределами. Она существует лишь как безопасный периметр, доступный для заселения всем и каждому.";}, 1708502088, 1714367526
Run Time: 0.002554
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177436, a:8:{i:0;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:33:"Kaivo, post: 177432, member: 7609";s:8:"original";a:2:{i:0;s:43:"[QUOTE="Kaivo, post: 177432, member: 7609"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:674:"В твоём же варианте персональной защиты ему сначала нужно будет разобраться что вообще есть эта "персоналка", что она даёт, что отнимает, сколько длится, возможно узнать какие-то дополнительные команды. Казуальной аудитории это не нужно, у нас некоторые новые игроки только спустя пару месяцев игры на сервере узнают, что приватить оказывается надо деревянный топором.";}}i:1;s:613:"
Я несколько выше уже писал, что ничего такого в принципе не требуется. Просто любой персонаж зашедший в первый раз в игру автоматически получает режим "песочницы", при этом ему при входе всегда будет писаться, что он в режиме песочницы с некоторыми ограничениями и когда он заканчивается. Так же можно писать, что снять этот режим можно ";i:2;a:4:{s:3:"tag";s:1:"i";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[I]";i:1;s:4:"[/I]";}s:8:"children";a:1:{i:0;s:15:"такой-то";}}i:3;s:337:" командой. Если кому интересно про это более подробно, то дать ссылку на описание режима. Если не интересно, то полноценный режим сам включится, и тут уже "кто не спрятался, я не виноват".
";i:4;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:33:"Kaivo, post: 177432, member: 7609";s:8:"original";a:2:{i:0;s:43:"[QUOTE="Kaivo, post: 177432, member: 7609"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:119:"лично мне пока не видно никакого механизма учёта опытных игроков";}}i:5;s:1140:"
Это и не требуется. Ничего более того, что может предложить стандартный майнкрафт новичок получить не сможет, но будут некоторые разумные ограничения, такие как ад, край и некоторые другие прелести (например запрет копать на глубине ниже 15, рыбная ловля...) которые мы сами придумаем. Опытному игроку все эти ограничения в принципе не нужны будут как и режим песочницы, а новичок который ничего не знает, он с трудом доберётся до того когда сработает то или иное ограничение, ну а когда доберётся, то уже будет иметь представление о том что и как тут творится и уже сможет нормально играть в майнкрафт со всеми его сложностями.
";i:6;a:4:{s:3:"tag";s:5:"quote";s:6:"option";s:33:"Kaivo, post: 177432, member: 7609";s:8:"original";a:2:{i:0;s:43:"[QUOTE="Kaivo, post: 177432, member: 7609"]";i:1;s:8:"[/QUOTE]";}s:8:"children";a:1:{i:0;s:653:"А казуальная аудитория по определению имеет постоянную потребность в безопасности. И если нет пути реализации этой их потребности, то сколько бы он не развивался во время действия персональной защиты, когда та спадёт, он всё ровно умрёт/сгорит/устанет из-за обычной сложности сервера и сгинет в тлен. Потому что он не умеет играть. Ему сложно/он не знает как.";}}i:7;s:439:"
Тут я в принципе не согласен. Режим облегчения игры нужен не чтобы облегчить игру, но чтобы помочь освоиться. Если ему после освоения, понимания главных принципов, будет сложно играть, то тут уж извините, придётся играть в креативе, в сингле.";}, 1708502088, 1714367526
Run Time: 0.001711
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177451, a:2:{i:0;a:4:{s:3:"tag";s:4:"user";s:6:"option";s:5:"43433";s:8:"original";a:2:{i:0;s:12:"[USER=43433]";i:1;s:7:"[/USER]";}s:8:"children";a:1:{i:0;s:7:"Mogrein";}}i:1;s:132:", уже было, судя по рассказам - полуживые фри и мёртвый классик зимы 2014-го.";}, 1708502088, 1714367526
Run Time: 0.000986
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177700, a:1:{i:0;s:341:"Обнаружил ещё один "тип" новичка - игрок заходит в игру и стоит на месте, не реагируя на чат и инветарь.
Спустя 3 минуты выходит из игры.
Скорее всего он ожидал увидеть совсем другую графику.";}, 1708502088, 1714367526
Run Time: 0.001650
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 177701, a:1:{i:0;s:100:"Эмм, серьёзно, и такие есть?
Как с ними будем работать? :D";}, 1708502088, 1714367526
Run Time: 0.001645