CommunityBridge won't recognice the ban table name
epullay opened this issue · 5 comments
Hello.
I recently installed communitybridge on my server.It works fine, but, when it loads, I notice it doesn't read the ban table. I am currently using the full "config showing" , and as I said before, It won't recognice the ban table. It's quite weird. If it helps, on the config the table thing is "table-name: phpbb_banlist". Is something wrong with it?
I'll need to see your configuration file (without the database username and password) to troubleshoot the issue.
Community Bridge Configuration File
General Settings
general:
Log level controls the degree of detail that is sent to the console/log
The possible settings are (in order of quietest to noisiest:
info, config, fine, finer, finest, all
- During configuration, I recommend using 'config'.
- During normal operation, I recommend using 'info'.
- If you want to see the notifications that the synchronize and reminder
notices have been sent, use 'fine'
- During troubleshooting of problems, set this to either finest or all.
log-level: all
Allow plugin metrics to start up for this plugin. Please turn on
metrics! It helps plugin authors determine what features to include!
For more details see:
http://dev.bukkit.org/bukkit-plugins/communitybridge-fm/pages/why-plugin-metrics/
Enable/Disable for all plugins by editing
plugins/PluginMetrics/config.yml
and setting 'opt-out' to false.
plugin-metrics: true
Turns on the achievements (rewards) system. See achievements.yml for
more
information.
use-achievements: false
Set the unit of measurement for sync and reminder scheduling. Options
are:
ticks, seconds, minutes, hours, or days. Note that this applies to both
auto-sync-every and auto-remind-every.
auto-every-unit: minutes
This is a timer that will check and sync all data with your database at
a
set interval. Otherwise group and player statistics will only be
synchronized when the player joins and leaves the Minecraft server.
auto-sync: true
The interval for the auto-sync timer, this should not be set any lower
than
20 minutes.
auto-sync-every: 20
Enables/disables synchronization during join and quit events. Recommend
both
being set to true.
sync-during-join: true
sync-during-quit: true
NOTE: GroupManager will not create groups on the fly. So any groups you
specify in the linking or synchronization sections must already
exist. That is, you need to have used mangadd )
Also, GroupManager announces primary group changes with no option
to override this behavior.
NOTE: zPermissions will not create groups on the fly. So any groups you
specify in the linking or synchronization sections must already
exist. That is, you need to have used: permissions group
create. Further, zPermissions lacks a real API. A player's group
assignment can fail without CommunityBridge being aware of the
failure.
The permissions system you're using. A permissions system is required
for
the following features:
* Group Synchronization (both primary and secondary)
* Unregistered/Registered group assignment (sub-features of 'linking')
Current Options are: bPerms, GroupManager, PermsBukkit, PEX, Vault,
zPermissions.
permissions-system: PEX
If APPURL appears in a message in messages.yml, it will be replaced
with
this:
application-url: epullaycraft.bl.ee/forums
Set the date format for any of the dates used by CommunityBridge.
date-format: "dd-MM-yyyy hh:mm:ss a"
Database Settings
Please ensure if you run your Minecraft server on a remote host
that your MySQL server allows REMOTE connections. This WILL NOT WORK
unless
your MySQL server is configured to allow connections from the machine that
your Minecraft server is running on. If you don't know what that means,
consult your hosting provider on how to configure your MySQL server
correctly.
All of this information should be the same server and database used by
your
web-application...
database:
Hostname for your MySQL Server
hostname:
MySQL Port
port: 3306
Database Name
name:
Database Username
username:
Database Password
password:
Player Linking Settings
Settings associated with linking a Minecraft player with a web
application's
user. As this feature is a prerequisite for all other features, it cannot
be disabled.
player-user-linking:
If you want the player disconnected from the game if they haven't
registered, then set this to true. They will be shown the
link-unregistered-player message (in message.yml) on the disconnected
screen.
kick-unregistered: true
This is a timer that will notify unregistered users to register every
few
minutes.
auto-remind: true
The interval for the auto-remind timer, this should be no less than
5-10 minutes. Note that this uses the units specified above in
auto-every-unit.
auto-remind-every: 5
Set these to true to inform players when they log in if they're linked
to
the web application. These correspond to the link-unregistered-player
and
link-registered-player messages in messages.yml.
notify-registered-player: true
notify-unregistered-player: true
If you have a permissions system and you want the player to be placed
in a group based on (un)registered status, set the following.
If left blank the setting won't be used. If a group-synchronization
feature is turned on, the 'registered-player-group' won't be used.
NOTE: GroupManager will not create groups on the fly. So the groups you
specify here must already exist. That is, you need to have used
mangadd )
unregistered-player-group: unregistered
registered-player-group: player
notify-player-of-group: true
If you want a player to be added to the 'registered-player-group' ONLY
if:
* they are a member of the unregistered-player-group OR
* they have no assigned groups
then set this to true.
registered-former-unregistered-only: false
This is where we specify how to associate a Minecraft player with a web
application user. We do this by matching up the player name with a name
stored in the web application's database.
If you want your players to use the same name on both the server and the
web application, then you will need to provide the table and column
information where the web application relates its user IDs with the
user's
name/login ID/login/username.
If you want to allow them to use a different name on the web
application,
you need to add a custom field or column to your web application's
database,
and provide that table and column information here.
The name of the table which contains the columns:
table-name: phpbb_users
Column on the table that contains the user ID. Typically, the column
will be
named something like user_id or member_id and contains a unique number
for each
user.
user-id-column: user_id
If the player name is stored in a key-value pair of columns instead of
its own column, set this to true:
uses-key: false
If you set 'linking-uses-key' to false, then set this to the column that
the playername is stored in. Otherwise, leave it empty.
playername-column: username
If you set 'linking-uses-key' to true, then set the key column, value
column, and the key-name here. Otherwise, leave these fields empty.
key-name:
key-column:
value-column:
Used either for requiring and avatar or rewarding the existence of an
avatar.
app-avatar-config:
enabled: false
Table that contains the avatar column
table-name:
Column on the avatar table that contains the user ID.
user-id-column:
Column on the avatar table that contains the avatar information. If this
column contains data, the user is assumed by CommunityBridge to have an
avatar.
avatar-column:
Used for post count awards or for requiring a post count.
app-post-count-config:
enabled: false
Table that contains the avatar column
table-name:
Column on the avatar table that contains the user ID.
user-id-column:
Column containing the user's post count.
post-count-column:
Requirements
requirement:
Set this to true to require an avatar to be set to access the game.
Requires app-avatar-config settings to be enabled and configured
correctly.
avatar: false
Require the player to have at least this many posts before being able to
play. Requires app-post-count-config settings to be enabled and
configured
correctly.
post-count:
enabled: false
minimum: 0
Statistics Tracking
In general, to make this work, your web application will need to support
custom profile fields or a similar feature. CommunityBridge will put the
information in the database. It is up to you to configure your web
application
so that it displays the information.
statistics:
Enables statistics tracking. Nothing will be tracked unless you also
enable
at least one of the trackers below.
enabled: false
Name of the table to insert the tracking information on to.
table-name:
Name of the column that contains the player's User ID on the table.
user-id-column:
Set this to true if data on the table is stored in key-value pairs.
uses-key: false
If uses-key is true, set these as well. These settings are not used if
uses-key is false.
key-column:
value-column:
Some web applications require an insert the first time a custom profile
field is filled with data (SMF, for example). If that's the case, enable
this and provide the required information.
insert:
enabled: false
# Options are: generic and smf.
method: generic
# Required for the 'smf' method, ignored for other methods. Most likely
id_theme.
theme-id-column: id_theme
# Required for the 'smf' method, ignored for other methods. Most likely
value is 1.
theme-id: 1
Individual trackers
-------------------
trackers:
# Below each tracker can be enabled and configured. For each tracker:
# * If uses key is true, set column-or-key-name to the key name OR
# If uses key is false, set column-or-key-name to the column name
# For some trackers, there is a formatted version as well. For those
# trackers, the formatted version is optional. If you wish to use the
# formatted version, set the formatted-column-or-key-name appropriately.
# If set, the formatted column will be filled in with a human readable
# string.
# Online Status: Show a player is playing on the server in the forums.
online-status:
enabled: false
column-or-key-name:
# Set this to what should be stored in the field when the user is
online.
online-value:
# Set this to what should be stored in the field when the user is
offline.
offline-value:
# Last Online: Record the time that player was last online
last-online:
enabled: false
# Numeric column, should be able to store a 32 bit integer. Will be
seconds since epoch.
column-or-key-name:
# String (varchar, etc.) column at least 60 characters in length.
formatted-column-or-key-name:
# Game Time: Record how much time the player has played.
# Requires the last-online tracker to be turned on as well.
game-time:
enabled: false
# Numeric column, should be able to store a 32 bit integer. Time
played in seconds.
column-or-key-name:
formatted-column-or-key-name:
# Player's current level
level:
enabled: false
# Numeric column, a single byte will be sufficient in most cases.
column-or-key-name:
# Player's current progress toward next level
current-xp:
enabled: false
# Numeric floating point column.
column-or-key-name:
# String column with at least 4 characters capacity.
formatted-column-or-key-name:
# Player's XP total
total-xp:
enabled: false
# Numeric column, capable of storing a 32 bit integer.
column-or-key-name:
# Player's current health
health:
enabled: false
# Numeric column, a single byte should be sufficient.
column-or-key-name:
# Lifeticks; the amount of time the player has been alive.
lifeticks:
enabled: false
# Numeric column, capable of storing a 32 bit integer.
column-or-key-name:
# String field with at least 100 characters of storage.
formatted-column-or-key-name:
# Wallet. The amount of money the player currently has. REQUIRES VAULT.
wallet:
enabled: false
# Numeric column capable of storing a "double" floating point number.
column-or-key-name:
Web Application Group Configuration
Some terminology:
- Primary group: A group setting such that the setting can only be set to
exactly one group. Most web applications have such a feature. Very few
permissions systems have such a feature.
NOTE: If you wish to utilize the primary group synchronization feature
and
your permissions system does not support primary groups, then you
must
list groups you wish to be synchronized into the web applications
primary group field in the "groups-treated-as-primary" setting
(see
the synchronization options below). The permissions systems that
this
applies to are: bPerms, PermissionsBukkit, PermissionsEx, and
Vault.
- Secondary group(s): A group setting such that the setting can be set to
multiple groups or none.
This section describes to Communitybridge how the web application stores
user group/role information.
app-group-config:
If the web application has a primary group/role feature, configure it
here.
primary:
enabled: false
# The table that contains the primary group ID.
table-name:
# The column on the table that contains the user ID.
user-id-column:
# If the primary group is stored in a key-value pair, set this to true.
uses-key: false
# The column that the primary group ID is stored in. If uses-key is
true,
# this is the column that the "value" of the key-value pair is stored
in.
group-id-column:
# If you set uses-key to true, then set the following three settings:
# Key name for the key-value pair.
key-name:
# Column that the key name is in
key-column:
If the web application has a secondary groups feature, configure it
here.
secondary:
enabled: false
# The table that contains the secondary groups.
table-name:
# The column on the table that contains the user ID.
user-id-column:
# Storage method. Set to one of the following:
# - single: All the group ids in a single row & column separated by the
# delimiter specified below.
# - key-value: All the group ids are in a single row & column, separated
# by the delimiter specified below, on a table that stores
# its data in key-value pairs
# - multiple-key-value: Group IDs are stored on a table of key-value
pairs,
# where the key name can appear in multiple rows.
# - junction: The table can contain multiple rows for a given user_id,
# each with their own group_id.
storage-method: single
# The column that the group ID(s) are stored in:
# (For the key-value method, this is the 'value' column)
group-id-column:
# For single-column or key-value storage methods, the
delimiter/separator
# that separates the group IDs:
# (ignored for junction and multiple-key-value storage method)
group-id-delimiter: ','
# For the key-value storage method:
# (ignored for the junction and single methods)
# Key name for the key-value pair.
key-name:
# Column that the key name is in
key-column:
Simple Synchronization Configuration
NOTE: If you wish to utilize the primary group synchronization feature and
your permissions system does not support primary groups, then you
must
list groups you wish to be synchronized into the web applications
primary group field in the "groups-treated-as-primary" setting. The
permissions systems that this applies to are: bPerms,
PermissionsBukkit,
PermissionsEx, Vault, and zPermissions.
simple-synchronization:
Set this to true for simple synchronization
enabled: false
Controls the "direction" of synchronization.
Options are: two-way, web-application, or minecraft.
- two-way: Changes on either side are synchronized to the other.
- web-application: Changes made in the web-application are
synchronized to the Minecraft server.
- minecraft: Changes made in Minecraft are synchronized to the
web-application.
direction: two-way
If player hasn't been seen before on server, CommunityBridge will use
this
setting to determine the direction of the synchronization.
'web-application'
is the only option available at this time.
first-direction: web-application
Set this to true if you want the player to be notified when their
primary
group changes.
primary-group-change-notify: false
This is a safety net. Since CommunityBridge directly modifies group
membership information, there is a risk that a misconfiguration could
cause the main administrative account (e.g. super-user) of a webapp to
not
have administrative privileges to the forum, potentially leaving the
forum
in a state where it cannot be administered. To protect against this
possibility, provide the user-id of the main administrative account of
the
web application here. Generally, this is the account created when the
web
application was installed. For this user-id, group changes will not be
synchronized from Minecraft to the web application, that is, the
synchronization for this user will be as if direction was set to
'web' (see above). Be absolutely sure this user-id is your super-user
all-access administrative account.
super-user-user-id: 'epullay'
If you're using primary group synchronization and a permissions system
that
does NOT have the notion of primary groups (bPerms, PermissionsBukkit,
PermissionsEx, Vault) you must list permission group names that you
wish to
be synchronized into the user's primary group field on the web
application
here. Be sure to include these groups in the group-mapping as well.
Sample: groups-treated-as-primary: [guest, member, premium]
groups-treated-as-primary: []
List groups and group IDs to be synchronized here. On the left side of
the colon put a web application's group ID. On the right side of the
colon
put the corresponding permissions group name. Only list group IDs and
group names you wish to be synchronized.
NOTE: GroupManager will not create groups on the fly. So any groups you
specify here must already exist. That is, you need to have used
mangadd .
NOTE: Regarding ladders(promotions/inherited groups): Either ALL of the
groups that are part of a ladder need to have entries on this
table
and have corresponding group on the web application or NONE of
them
should be on this list. It may be that you want to use the
unregistered/registered group settings instead.
group-mapping:
'1' : 'guest'
'2' : 'member'
'3' : 'premium'
ban-synchronization:
enabled: true
If your web application stores banned users in a group, set this to
group
otherwise set it to table.
method: table
If method is 'group' above, fill in the group-ids for the ban group(s)
here. Otherwise, fill in table-name, banned-user-id-column,
ban-reason-column, etc. below...
ban-group-ids: []
Settings for table method...
Name of the table that holds ban information for your web application
table-name: phpbb_banlist
Column that contains the user ID of the banee.
banned-user-id-column: ban_userid
The column containing the reason for the ban. Leave blank if your web
application does not support this.
ban-reason-column: ban_give_reason
The column containing the ban start time (systime expected). Leave blank
if your application does not support this.
ban-start-column:
The column containing the ban end time (systime expected). Leave blank
if your application does not support this.
ban-end-column:
[12:55:13 INFO]: [CommunityBridge] SHOW TABLES LIKE 'phpbb_users'
[12:55:13 INFO]: [CommunityBridge] SHOW COLUMNS FROM phpbb_users
LIKE
'user_id
'
[12:55:14 INFO]: [CommunityBridge] SHOW COLUMNS FROM phpbb_users
LIKE
'usernam
e'
[12:55:15 INFO]: [CommunityBridge] SHOW TABLES LIKE ''
[12:55:15 INFO]: [CommunityBridge] SHOW COLUMNS FROM LIKE 'ban_userid' [12:55:16 ERROR]: [CommunityBridge] Error while checking ' ban-synchronization.ba nned-user-id-column' set to 'ban_userid': Incorrect table name '' [12:55:16 INFO]: [CommunityBridge] SHOW COLUMNS FROM
LIKE
'ban_give_reason'
[12:55:16 ERROR]: [CommunityBridge] Error while checking '
ban-synchronization.ba
n-reason-column' set to 'ban_give_reason': Incorrect table name ''
[12:55:16 ERROR]: [CommunityBridge] Temporarily disabling ban
synchronization du
e to previous errors.
[12:55:16 INFO]: [CommunityBridge] Plugin Metrics activated.
[12:55:16 INFO]: [CommunityBridge] Auto reminder started.
[12:55:16 INFO]: [CommunityBridge] Auto synchronization started.
[12:55:16 INFO]: [CommunityBridge] CommunityBridge activated.
[12:55:16 INFO]: [CommunityBridge] Reload succeeded. Loaded from: config.yml
[12:55:16 INFO]: [CommunityBridge] Log level :
all
[12:55:16 INFO]: [CommunityBridge] Plugin metrics enabled :
true
[12:55:16 INFO]: [CommunityBridge] Use achievements :
false
[12:55:16 INFO]: [CommunityBridge] Permissions system :
PEX
[12:55:16 INFO]: [CommunityBridge] Economy enabled :
false
[12:55:16 INFO]: [CommunityBridge] Autosync :
true
[12:55:16 INFO]: [CommunityBridge] Autosync every :
20 min
utes
[12:55:16 INFO]: [CommunityBridge] Synchronize during join event :
true
[12:55:16 INFO]: [CommunityBridge] Synchronize during quit event :
true
[12:55:16 INFO]: [CommunityBridge] Application url :
epulla
ycraft.bl.ee/forums
[12:55:16 INFO]: [CommunityBridge] Date Format :
dd-MM-
yyyy hh:mm:ss a
[12:55:16 INFO]: [CommunityBridge] Database hostname :
[12:55:16 INFO]: [CommunityBridge] Database port :
3306
[12:55:16 INFO]: [CommunityBridge] Database name :
[12:55:16 INFO]: [CommunityBridge] Database username :
[12:55:16 INFO]: [CommunityBridge] Linking auto reminder :
true
[12:55:16 INFO]: [CommunityBridge] Linking auto reminder every : 5
minu
tes
[12:55:16 INFO]: [CommunityBridge] Linking notify registered :
true
[12:55:16 INFO]: [CommunityBridge] Linking notify unregistered :
true
[12:55:16 INFO]: [CommunityBridge] Linking kick unregistered :
true
[12:55:16 INFO]: [CommunityBridge] Linking unregistered group :
[12:55:16 INFO]: [CommunityBridge] Linking registered group :
[12:55:16 INFO]: [CommunityBridge] Linking notify player of group :
true
[12:55:16 INFO]: [CommunityBridge] Linking reg former unregistered only :
false
[12:55:16 INFO]: [CommunityBridge] Linking uses key-value pair :
false
[12:55:16 INFO]: [CommunityBridge] Linking table name :
phpbb_
users
[12:55:16 INFO]: [CommunityBridge] Linking user ID column :
user_i
d
[12:55:16 INFO]: [CommunityBridge] Linking player name column :
userna
me
[12:55:16 INFO]: [CommunityBridge] Avatars config enabled :
false
[12:55:16 INFO]: [CommunityBridge] Post count config enabled :
false
[12:55:16 INFO]: [CommunityBridge] Post count user ID column :
null
[12:55:16 INFO]: [CommunityBridge] Post count post count column :
null
[12:55:16 INFO]: [CommunityBridge] Require avatars :
false
[12:55:16 INFO]: [CommunityBridge] Require minimum posts :
false
[12:55:16 INFO]: [CommunityBridge] Tracking statistics :
false
[12:55:16 INFO]: [CommunityBridge] Simple synchronization enabled :
false
[12:55:16 INFO]: [CommunityBridge] Ban synchronization enabled :
false
The weird part is that it says the ban sync is disabled, while on the
config it is, and doesn't recognice the ban table name. And I'm currently
using version 2.3.4 (Build 445)
2014-05-25 9:52 GMT-04:00 Iain E. Davis [email protected]:
Hmm. That looks okay...What version of CommunityBridge? What is the actual
log message that you're seeing?—
Reply to this email directly or view it on GitHubhttps://github.com//issues/176#issuecomment-44133676
.
Saludos
Ignacio
Hmm. That looks okay...What version of CommunityBridge? What is the actual log message that you're seeing?
I can't tell from your paste if the indentation is correct in the config.yml. Generally, when you get messages like: "incorrect table name ''" that's an indication that someone has removed the indentation for a yaml-section.
ban-synchronization:
enabled: true
method: table
table-name: phpbb_banlist
Also, there are newer options in that section. You may wish to use this block for that section instead:
ban-synchronization:
enabled: false
# Controls the "direction" of synchronization.
# Options are: two-way, web-application, or minecraft.
# - two-way: Changes on either side are synchronized to the other.
# - web-application: Changes made in the web-application are
# synchronized to the Minecraft server.
# - minecraft: Changes made in Minecraft are synchronized to the
# web-application.
direction: two-way
# Method options:
# - table: Banned users will be inserted and deleted from a table that is a list of bans
# - user: A column on the users/members table designates whether a user is banned.
# - group: Specify a web-application group whose members are banned. Specify whether
# the group is a primary or secondary group and configure app-group-config
# above as appropiate.
method: table
# Group method settings
# Group type is either primary or secondary
group-type:
banned-group:
# Name of the table that holds ban information for your web application. Only needed for
# user and table methods.
table-name:
# Column that contains the user ID of the banee. Only needed for the user and table methods.
banned-user-id-column:
# Settings for the user method. Only needed if method above is set to user
# The value parameters can be strings, numbers, whatever your web application
# uses to indicate the user is banned or not.
ban-column:
value-banned:
value-notbanned:
# Settings for table method. Only needed if method above is 'table'. Set
# options that seem relevant to your web application.
# The column containing the reason for the ban. Leave blank if your web
# application does not support this.
ban-reason-column:
# The column containing the ban start time (systime expected). Leave blank
# if your application does not support this.
ban-start-column:
# The column containing the ban end time (systime expected). Leave blank
# if your application does not support this.
ban-end-column:
# The column containing ban-group-id. Leave blank if your web application
# does not support this.
ban-group-id-column:
# The ban-group-id. Leave blank if your web application does not support this.
ban-group-id: