Вы не вошли.
Здравствуйте.
При попытке открыть инвентарь возникает ошибка:
- - -
(номер который меняется с инвентарём) file not exists:
ftp://*:*@*:21/world/players/nickname.dat
Игрок ещё не заходил на этот сервер.
Если Вы его знаете, посоветуйте ему войти в игру для создания игрового персонажа.
Вернуться к списку инвентарей
- - -
Суть такая, игрок регистрируется под ником NickName и на сервере файл NickName.dat
При попытке открыть инвентарь, вызывается ссылка выше в нижнем регистре. И естественно возникает ошибка.
Ники в нижнем регистре корректно открывают инвентарь.
Версия сервера без uuid, старая.
Версия cms 3.8.9.
Если это не баг, то как это можно исправить?
Отредактировано 4elovek (10-06-2019 17:50:51)
Вне форума
Чтоб отключить перевод ников в нижний регистр, откройте файл shop\app\functions.php
снимите комментарий со строки 1125:
//if(empty($type)) return $string; // to preserve the case of letters || сохранить регистр букв
Отредактировано Online (15-06-2019 23:40:15)
Вне форума
Там имеются 3 комментария. Расскомментировать их все?
Вне форума
Другие функции применяются для UUID, они не должны влиять на серверы с отключенным UUID.
Вне форума
Стало отображаться.
Но почему-то после удаления предмета (ранее не удалял), появилось уведомление:
Notice: Use of undefined constant IGNORE_EFFECTS - assumed 'IGNORE_EFFECTS' in /shop/app/msmod/inv.php on line 1285
И почему-то под аккаунтом игрока, не могу просматривать свой инвентарь, написано "отключен". Где-то что-то я пропустил или не заметил?
Вне форума
Замените файл shop/app/msmod/inv.php из последней сборки, там ошибка исправлена.
Вне форума
Заменил.
Но теперь стали появляться:
Warning: fopen(compress.zlib://...@*:21/world/players/NickName.dat): failed to open stream: operation failed in /shop/app/gmp.php on line 36
Warning: feof() expects parameter 1 to be resource, boolean given in /shop/app/gmp.php on line 146
Warning: fread() expects parameter 1 to be resource, boolean given in /shop/app/gmp.php on line 182
Warning: unpack(): Type c: not enough input, need 1, have 0 in /shop/app/gmp.php on line 182
Инвентарь по прежнему отключен.
p.s. Обновлюсь полностью на новую версию, отпишу, если что-то исправится или выявится.
Вне форума
После обновления. Удалил предмет из инвентаря:
Notice: Use of undefined constant IGNORE_EFFECTS - assumed 'IGNORE_EFFECTS' in /shop/app/msmod/inv.php on line 1285
Инвентарь под авторизацией игрока по прежнему отключен.
===
Если пытаться открыть инвентарь на кнопку с названием сервера, который "отключен" с аккаунта игрока:
Вы ещё не заходили на этот сервер.
Для управления инвентарём необходимо его инициализировать.
Вернуться к списку инвентарей
Сначала думал, может дело в регистре букв, проверил в нижнем регистре. Всё тоже самое...
Отредактировано 4elovek (11-06-2019 10:35:41)
Вне форума
Перекачайте и замените три файла:
shop\app\msmod\inv.php
shop\app\msmod\myitems.php
shop\app\msmod\shopitems.php
Вне форума
Notice исчез.
Но с аккаунта игрока всё ещё не могу управлять инвентарём "отключен".
===
Был отключен рынок у сервера, из-за него не было возможности пользоваться инвентарём.
После включения - можно управлять. Думал, что эта галочка влияет только на рынок, но просматривать свой инвентарь возможно.
===
Почему-то не получается сделать покупку блока через магазин блоков. Пытаюсь понять в чём проблема...
===
Добавил на аккаунт через админ панель деньги. Обменял их в игровую валюту.
Захожу в магазин блоков, пытаюсь купить. Не покупается, пишет недостаточно средств.
После тестов, если указана только игровая валюта и цена в реальных денег - 0 (в настройках блока), тогда покупка происходит за игровую.
Если у товара реальная и игровая валюта или только реальная, тогда выдаётся ошибка:
У вас недостаточно средств, пополните счет через личный кабинет.
Но банк аккаунта и игровой валюты и реально больше заданной цены.
Отредактировано 4elovek (11-06-2019 14:25:30)
Вне форума
Из последней версии замените файл shop\app\msmod\shop.php
Откройте phpMyAdmin и выполните SQL запрос:
ALTER TABLE `ms_realmoney` CHANGE `cash` `cash` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
ALTER TABLE `ms_oxide_market` CHANGE `price` `price` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
ALTER TABLE `ms_lisf_market` CHANGE `price` `price` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
ALTER TABLE `ms_user_shop` CHANGE `price` `price` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
ALTER TABLE `ms_oxide_market` CHANGE `price` `price` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
ALTER TABLE `ms_lisf_market` CHANGE `price` `price` DOUBLE(11,2) UNSIGNED NULL DEFAULT '0.00';
Отредактировано Online (12-06-2019 22:53:31)
Вне форума
Хмм... Не знаю, так задуманно или всё таки ошибка.
Если в цене установлена игровая и реальная валюта, я предполагаю, что я могу купить или за реальную или за игровую.
Но при покупке снимается и реальная и игровая валюта, без возможности выбора какой-то из валют.
+ заметил, что после действий не сразу обновляется счёт валют в главном меню. Надо перезагружать страницу.
+ после авторизации с админ-аккаунта, надо обновить главную страницу в браузере, иначе, даже при переходе на страницах не отображается панель управления в выпадающем списке.
Вне форума
Ещё странное поведение, когда покупается предмет из магазина блоков.
Если рынок отключен, тогда после покупки предмета в магазине блоков, его нельзя забрать в инвентарь (как и просматривать инвентарь).
И при попытке положить предмет в инвентарь:
"Эта группа предметов запрещена для торговли на рынке выбранного сервера".
Какая-то тесная связь... Как я понимаю, магазин блоков - это магазин блоков, а рынок, область, в которой игроки могут торговать (обычно только за игровую валюту) между собой.
Но два этих объекта взаимодействуют с инвентарём, следовательно, инвентарь должен быть включен, что бы человек мог посмотреть, что находится в инвентаре, забрать предметы из корзины (в которую по идеи попадают предметы из магазина блоков и из рынка), а так же увидеть забранные предметы из корзины в инвентаре.
А при отключении рынка (как я понимаю игрового), у человека по идеи должна отключаться возможность выставлять предметы на игровой рынок. Ну и как вариант, выставленные предметы на рынок раннее должны переноситься в корзину.
Если я не правильно понимаю суть рынка, поправьте меня. Пока я разбираюсь с магазином и настраиваю его, в процессе могу сообщать найденные ошибки и недочёты. (Возможно стоит создать тему в другом разделе, так как проблема из названия темы - решена?)
Отредактировано 4elovek (13-06-2019 18:14:22)
Вне форума
Другие функции применяются для UUID, они не должны влиять на серверы с отключенным UUID.
инвентарь не отображается при включенном OfflineUUID! такая же ошибка версия 3.9
Вне форума
Вы пробовали снимать в файле functions.php?
Вне форума
Вы пробовали снимать в файле functions.php?
Перед тем как написать это сделал и перепроверил несколько раз, он же за регистр отвечает как вы сказали и на uuid offline не влияет?
А во ошибка:
Копирую путь и вставляю в терминал и заходу в директорию с этим файлом что в ошибке...
Отредактировано zugurysus (16-06-2019 09:38:46)
Вне форума
На фтп файл профиля uuid.dat как называется?
Вне форума
На фтп файл профиля uuid.dat как называется?
так же как и указан в ошибке
screenshot:
зашел в директорию к этому файлу ПО ПУТИ как написано в ошибке - значит папка с профилями указана верна в настройках CMS, права на папку с профилями 777
Отредактировано zugurysus (16-06-2019 13:30:02)
Вне форума
Для проверки работы подключите профили на тестовом сервере ftp://minecraft:minecraft@164.132.99.245:21/
Вне форума
Для проверки работы подключите профили на тестовом сервере ftp://minecraft:minecraft@164.132.99.245:21/
в чем у меня может быть проблема?
каталог с профилями 777
на стороне nginx надо что то править?
Вне форума
Настроить нужно только фтп. Листинг файла настроек ProFTPd \etc\proftpd.conf:
# This is the ProFTPD configuration file
#
# See: http://www.proftpd.org/docs/directives/linked/by-name.html
# Security-Enhanced Linux (SELinux) Notes:
#
# In Fedora and Red Hat Enterprise Linux, ProFTPD runs confined by SELinux
# in order to mitigate the effects of an attacker taking advantage of an
# unpatched vulnerability and getting control of the ftp server. By default,
# ProFTPD cannot read or write most files on a system nor connect to many
# external network services, but these restrictions can be relaxed by
# setting SELinux booleans as follows:
#
# setsebool -P allow_ftpd_anon_write=1
# This allows the ftp daemon to write to files and directories labelled
# with the public_content_rw_t context type; the daemon would only have
# read access to these files normally. Files to be made available by ftp
# but not writeable should be labelled public_content_t.
#
# setsebool -P allow_ftpd_full_access=1
# This allows the ftp daemon to read and write all files on the system.
#
# setsebool -P allow_ftpd_use_cifs=1
# This allows the ftp daemon to read and write files on CIFS-mounted
# filesystems.
#
# setsebool -P allow_ftpd_use_nfs=1
# This allows the ftp daemon to read and write files on NFS-mounted
# filesystems.
#
# setsebool -P ftp_home_dir=1
# This allows the ftp daemon to read and write files in users' home
# directories.
#
# setsebool -P ftpd_connect_all_unreserved=1
# This setting is only available from Fedora 16/RHEL-7 onwards, and is
# necessary for active-mode ftp transfers to work reliably with non-Linux
# clients (see http://bugzilla.redhat.com/782177), which may choose to
# use port numbers outside the "ephemeral port" range of 32768-61000.
#
# setsebool -P ftpd_connect_db=1
# This setting allows the ftp daemon to connect to commonly-used database
# ports over the network, which is necessary if you are using a database
# back-end for user authentication, etc.
#
# setsebool -P ftpd_is_daemon=1
# This setting is available only in Fedora releases 4 to 6 and Red Hat
# Enterprise Linux 5. It should be set if ProFTPD is running in standalone
# mode, and unset if running in inetd mode.
#
# setsebool -P ftpd_disable_trans=1
# This setting is available only in Fedora releases 4 to 6 and Red Hat
# Enterprise Linux 5, and when set it removes the SELinux confinement of the
# ftp daemon. Needless to say, its use is not recommended.
#
# All of these booleans are unset by default.
#
# See also the "ftpd_selinux" manpage.
#
# Note that the "-P" option to setsebool makes the setting permanent, i.e.
# it will still be in effect after a reboot; without the "-P" option, the
# effect only lasts until the next reboot.
#
# Restrictions imposed by SELinux are on top of those imposed by ordinary
# file ownership and access permissions; in normal operation, the ftp daemon
# will not be able to read and/or write a file unless *all* of the ownership,
# permission and SELinux restrictions allow it.
# Server Config - config used for anything outside a <VirtualHost> or <Global> context
# See: http://www.proftpd.org/docs/howto/Vhost.html
# Trace logging, disabled by default for performance reasons
# (http://www.proftpd.org/docs/howto/Tracing.html)
#TraceLog /var/log/proftpd/trace.log
#Trace DEFAULT:0
ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
DefaultServer on
# Cause every FTP user except adm to be chrooted into their home directory
DefaultRoot ~ !adm
# Use pam to authenticate (default) and be authoritative
#AuthPAMConfig proftpd
#AuthOrder mod_auth_pam.c* mod_auth_unix.c
AuthOrder mod_sql.c
# If you use NIS/YP/LDAP you may need to disable PersistentPasswd
#PersistentPasswd off
################################################################################################################
AllowStoreRestart on
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
#LoadModule mod_quotatab.c
#LoadModule mod_quotatab_sql.c
# The passwords in MySQL are encrypted using CRYPT
#SQLAuthTypes Plaintext Crypt
#SQLAuthenticate users groups
SQLBackend mysql
SQLEngine on
#SQLPasswordEngine on
SQLAuthenticate on
SQLAuthTypes Plaintext Crypt
SQLConnectInfo proftpd@localhost proftpd proftpd
SQLUserInfo users userid passwd uid gid homedir shell
SQLGroupInfo groups groupname gid members
SQLUserWhereClause "disabled != 1"
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "login_count=login_count+1, last_login=now() WHERE userid='%u'" users
SQLLog RETR bytes-out-count
SQLNamedQuery bytes-out-count UPDATE "bytes_out_used=bytes_out_used+%b WHERE userid='%u'" users
SQLLog RETR files-out-count
SQLNamedQuery files-out-count UPDATE "files_out_used=files_out_used+1 WHERE userid='%u'" users
SQLLog STOR bytes-in-count
SQLNamedQuery bytes-in-count UPDATE "bytes_in_used=bytes_in_used+%b WHERE userid='%u'" users
SQLLog STOR files-in-count
SQLNamedQuery files-in-count UPDATE "files_in_used=files_in_used+1 WHERE userid='%u'" users
# used to connect to the database
# databasename@host database_user user_password
#SQLConnectInfo ftp@localhost ftp ftp
# Here we tell ProFTPd the names of the database columns in the "usertable"
# we want it to interact with. Match the names with those in the db
#SQLUserInfo ftpuser userid passwd uid gid homedir shell
# Here we tell ProFTPd the names of the database columns in the "grouptable"
# we want it to interact with. Again the names match with those in the db
#SQLGroupInfo ftpgroup groupname gid members
# set min UID and GID - otherwise these are 999 each
SQLMinID 500
# create a user's home directory on demand if it doesn't exist
#SQLHomedirOnDemand on
CreateHome on 775
# Update count every time user logs in
#SQLLog PASS updatecount
#SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser
# Update modified everytime user uploads or deletes a file
#SQLLog STOR,DELE modified
#SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser
# User quotas
# ===========
#QuotaEngine off
#QuotaDirectoryTally on
#QuotaDisplayUnits Mb
#QuotaShowQuotas on
#SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
#SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
#SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies
#SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
#QuotaLimitTable sql:/get-quota-limit
#QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
RootLogin off
RequireValidShell off
################################################################################################################
# Don't do reverse DNS lookups (hangs on DNS problems)
UseReverseDNS off
# Set the user and group that the server runs as
User nobody
Group nobody
# To prevent DoS attacks, set the maximum number of child processes
# to 20. If you need to allow more than 20 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode; in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 20
# Disable sendfile by default since it breaks displaying the download speeds in
# ftptop and ftpwho
UseSendfile off
# Define the log formats
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
# Dynamic Shared Object (DSO) loading
# See README.DSO and howto/DSO.html for more details
#
# General database support (http://www.proftpd.org/docs/contrib/mod_sql.html)
# LoadModule mod_sql.c
#
# Support for base-64 or hex encoded MD5 and SHA1 passwords from SQL tables
# (contrib/mod_sql_passwd.html)
# LoadModule mod_sql_passwd.c
#
# Mysql support (requires proftpd-mysql package)
# (http://www.proftpd.org/docs/contrib/mod_sql.html)
# LoadModule mod_sql_mysql.c
#
# Postgresql support (requires proftpd-postgresql package)
# (http://www.proftpd.org/docs/contrib/mod_sql.html)
# LoadModule mod_sql_postgres.c
#
# Quota support (http://www.proftpd.org/docs/contrib/mod_quotatab.html)
# LoadModule mod_quotatab.c
#
# File-specific "driver" for storing quota table information in files
# (http://www.proftpd.org/docs/contrib/mod_quotatab_file.html)
# LoadModule mod_quotatab_file.c
#
# SQL database "driver" for storing quota table information in SQL tables
# (http://www.proftpd.org/docs/contrib/mod_quotatab_sql.html)
# LoadModule mod_quotatab_sql.c
#
# LDAP support (requires proftpd-ldap package)
# (http://www.proftpd.org/docs/directives/linked/config_ref_mod_ldap.html)
# LoadModule mod_ldap.c
#
# LDAP quota support (requires proftpd-ldap package)
# (http://www.proftpd.org/docs/contrib/mod_quotatab_ldap.html)
# LoadModule mod_quotatab_ldap.c
#
# Support for authenticating users using the RADIUS protocol
# (http://www.proftpd.org/docs/contrib/mod_radius.html)
# LoadModule mod_radius.c
#
# Retrieve quota limit table information from a RADIUS server
# (http://www.proftpd.org/docs/contrib/mod_quotatab_radius.html)
# LoadModule mod_quotatab_radius.c
#
# SITE CPFR and SITE CPTO commands (analogous to RNFR and RNTO), which can be
# used to copy files/directories from one place to another on the server
# without having to transfer the data to the client and back
# (http://www.castaglia.org/proftpd/modules/mod_copy.html)
# LoadModule mod_copy.c
#
# Administrative control actions for the ftpdctl program
# (http://www.proftpd.org/docs/contrib/mod_ctrls_admin.html)
LoadModule mod_ctrls_admin.c
#
# Support for MODE Z commands, which allows FTP clients and servers to
# compress data for transfer
# (http://www.castaglia.org/proftpd/modules/mod_deflate.html)
# LoadModule mod_deflate.c
#
# Execute external programs or scripts at various points in the process
# of handling FTP commands
# (http://www.castaglia.org/proftpd/modules/mod_exec.html)
# LoadModule mod_exec.c
#
# Support for POSIX ACLs
# (http://www.proftpd.org/docs/modules/mod_facl.html)
# LoadModule mod_facl.c
#
# Support for using the GeoIP library to look up geographical information on
# the connecting client and using that to set access controls for the server
# (http://www.castaglia.org/proftpd/modules/mod_geoip.html)
# LoadModule mod_geoip.c
#
# Allow for version-specific configuration sections of the proftpd config file,
# useful for using the same proftpd config across multiple servers where
# different proftpd versions may be in use
# (http://www.castaglia.org/proftpd/modules/mod_ifversion.html)
# LoadModule mod_ifversion.c
#
# Configure server availability based on system load
# (http://www.proftpd.org/docs/contrib/mod_load.html)
# LoadModule mod_load.c
#
# Limit downloads to a multiple of upload volume (see README.ratio)
# LoadModule mod_ratio.c
#
# Rewrite FTP commands sent by clients on-the-fly,
# using regular expression matching and substitution
# (http://www.proftpd.org/docs/contrib/mod_rewrite.html)
# LoadModule mod_rewrite.c
#
# Support for the SSH2, SFTP, and SCP protocols, for secure file transfer over
# an SSH2 connection (http://www.castaglia.org/proftpd/modules/mod_sftp.html)
# LoadModule mod_sftp.c
#
# Use PAM to provide a 'keyboard-interactive' SSH2 authentication method for
# mod_sftp (http://www.castaglia.org/proftpd/modules/mod_sftp_pam.html)
# LoadModule mod_sftp_pam.c
#
# Use SQL (via mod_sql) for looking up authorized SSH2 public keys for user
# and host based authentication
# (http://www.castaglia.org/proftpd/modules/mod_sftp_sql.html)
# LoadModule mod_sftp_sql.c
#
# Provide data transfer rate "shaping" across the entire server
# (http://www.castaglia.org/proftpd/modules/mod_shaper.html)
# LoadModule mod_shaper.c
#
# Support for miscellaneous SITE commands such as SITE MKDIR, SITE SYMLINK,
# and SITE UTIME (http://www.proftpd.org/docs/contrib/mod_site_misc.html)
# LoadModule mod_site_misc.c
#
# Provide an external SSL session cache using shared memory
# (contrib/mod_tls_shmcache.html)
# LoadModule mod_tls_shmcache.c
#
# Provide a memcached-based implementation of an external SSL session cache
# (contrib/mod_tls_memcache.html)
# LoadModule mod_tls_memcache.c
#
# Use the /etc/hosts.allow and /etc/hosts.deny files, or other allow/deny
# files, for IP-based access control
# (http://www.proftpd.org/docs/contrib/mod_wrap.html)
# LoadModule mod_wrap.c
#
# Use the /etc/hosts.allow and /etc/hosts.deny files, or other allow/deny
# files, as well as SQL-based access rules, for IP-based access control
# (http://www.proftpd.org/docs/contrib/mod_wrap2.html)
# LoadModule mod_wrap2.c
#
# Support module for mod_wrap2 that handles access rules stored in specially
# formatted files on disk
# (http://www.proftpd.org/docs/contrib/mod_wrap2_file.html)
# LoadModule mod_wrap2_file.c
#
# Support module for mod_wrap2 that handles access rules stored in SQL
# database tables (http://www.proftpd.org/docs/contrib/mod_wrap2_sql.html)
# LoadModule mod_wrap2_sql.c
#
# Implement a virtual chroot capability that does not require root privileges
# (http://www.castaglia.org/proftpd/modules/mod_vroot.html)
# Using this module rather than the kernel's chroot() system call works
# around issues with PAM and chroot (http://bugzilla.redhat.com/506735)
LoadModule mod_vroot.c
#
# Provide a flexible way of specifying that certain configuration directives
# only apply to certain sessions, based on credentials such as connection
# class, user, or group membership
# (http://www.proftpd.org/docs/contrib/mod_ifsession.html)
# LoadModule mod_ifsession.c
# Allow only user root to load and unload modules, but allow everyone
# to see which modules have been loaded
# (http://www.proftpd.org/docs/modules/mod_dso.html#ModuleControlsACLs)
ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *
# Enable basic controls via ftpdctl
# (http://www.proftpd.org/docs/modules/mod_ctrls.html)
ControlsEngine on
ControlsACLs all allow user root
ControlsSocketACL allow user *
ControlsLog /var/log/proftpd/controls.log
# Enable admin controls via ftpdctl
# (http://www.proftpd.org/docs/contrib/mod_ctrls_admin.html)
<IfModule mod_ctrls_admin.c>
AdminControlsEngine on
AdminControlsACLs all allow user root
</IfModule>
# Enable mod_vroot by default for better compatibility with PAM
# (http://bugzilla.redhat.com/506735)
<IfModule mod_vroot.c>
VRootEngine on
</IfModule>
# TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html)
<IfDefine TLS>
TLSEngine on
TLSRequired on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
#TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
<IfModule mod_tls_shmcache.c>
TLSSessionCache shm:/file=/var/run/proftpd/sesscache
</IfModule>
</IfDefine>
# Dynamic ban lists (http://www.proftpd.org/docs/contrib/mod_ban.html)
# Enable this with PROFTPD_OPTIONS=-DDYNAMIC_BAN_LISTS in /etc/sysconfig/proftpd
<IfDefine DYNAMIC_BAN_LISTS>
LoadModule mod_ban.c
BanEngine on
BanLog /var/log/proftpd/ban.log
BanTable /var/run/proftpd/ban.tab
# If the same client reaches the MaxLoginAttempts limit 2 times
# within 10 minutes, automatically add a ban for that client that
# will expire after one hour.
BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00
# Inform the user that it's not worth persisting
BanMessage "Host %a has been banned"
# Allow the FTP admin to manually add/remove bans
BanControlsACLs all allow user ftpadm
</IfDefine>
# Set networking-specific "Quality of Service" (QoS) bits on the packets used
# by the server (contrib/mod_qos.html)
<IfDefine QOS>
LoadModule mod_qos.c
# RFC791 TOS parameter compatibility
QoSOptions dataqos throughput ctrlqos lowdelay
# For a DSCP environment (may require tweaking)
#QoSOptions dataqos CS2 ctrlqos AF41
</IfDefine>
# Global Config - config common to Server Config and all virtual hosts
# See: http://www.proftpd.org/docs/howto/Vhost.html
<Global>
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable
Umask 022
# Allow users to overwrite files and change permissions
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
</Global>
# A basic anonymous configuration, with an upload directory
# Enable this with PROFTPD_OPTIONS=-DANONYMOUS_FTP in /etc/sysconfig/proftpd
<IfDefine ANONYMOUS_FTP>
<Anonymous ~ftp>
User ftpserver
Group ftpserver
AccessGrantMsg "Anonymous login ok, restrictions apply."
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 10 "Sorry, max %m users -- try again later"
# Put the user into /pub right after login
DefaultChdir /home/ftpserver/ftp
# We want 'welcome.msg' displayed at login, '.message' displayed in
# each newly chdired directory and tell users to read README* files.
DisplayLogin /welcome.msg
DisplayChdir .message
DisplayReadme README*
AnonRequirePassword off
# Cosmetic option to make all files appear to be owned by user "ftp"
DirFakeUser on ftp
DirFakeGroup on ftp
# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE SITE_CHMOD>
DenyAll
</Limit>
# An upload directory that allows storing files but not retrieving
# or creating directories.
#
# Directory specification is slightly different if mod_vroot is in
# use: see http://sourceforge.net/p/proftp/mailman/message/31728570/
# https://bugzilla.redhat.com/show_bug.cgi?id=1045922
<IfModule mod_vroot.c>
<Directory /home/ftpserver/ftp/uploads/*>
AllowOverwrite no
<Limit READ>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
</IfModule>
<IfModule !mod_vroot.c>
<Directory uploads/*>
AllowOverwrite no
<Limit READ>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
</IfModule>
# Don't write anonymous accesses to the system wtmp file (good idea!)
WtmpLog off
# Logging for the anonymous transfers
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Anonymous>
</IfDefine>
Исправил ошибки на стрнице, перекачайте и замените файл shop\app\msmod\inv.php.
Благодарю за скриншоты!
Вне форума