Jump to content

PlayerDBMergeTool: Difference between revisions

From fCraft Wiki
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[PlayerDBMergeTool]] is a specialized command-line utility intended to merge players' stats from one server with another. It requires <code>config.xml</code> and <code>PlayerDB.txt</code> from both servers. It was originally developed to facilitate [http://forum.fcraft.net/viewtopic.php?f=6&t=4427 the merger of Platinum Moon with fCraft.net Freebuild communities]. Source code for this utility is not included on fCraft's usual source code repository at this time.
[[PlayerDBMergeTool]] is a specialized command-line utility intended to merge players' stats from one server with another. It requires <code>config.xml</code> and <code>PlayerDB.txt</code> from both servers. It was originally developed to facilitate [http://forum.fcraft.net/viewtopic.php?f=6&t=4427 the merger of Platinum Moon with fCraft.net Freebuild communities]. Source code for this utility is not included on fCraft's usual source code repository at this time. '''PlayerDBMergeTool was last updated on 29 July 2013, for fCraft {{changelog|0.640}}'''


==Download==  
==Download==
Source code: [http://fCraft.net/PlayerDBMergeTool_source.zip PlayerDBMergeTool_source.zip] (19.9 KB)
Source code: [http://fCraft.net/PlayerDBMergeTool_source.zip PlayerDBMergeTool_source.zip] (20.0 KB)


Binaries: [http://fCraft.net/PlayerDBMergeTool.zip PlayerDBMergeTool.zip] (14.5 KB)
Binaries: [http://fCraft.net/PlayerDBMergeTool.zip PlayerDBMergeTool.zip] (14.6 KB)


==Usage==
==Usage==
  PlayerDBMergeTool /path/to/source /path/to/target
  PlayerDBMergeTool path/to/source/server path/to/target/server


Paths can be either absolute or relative to the working directory. If both paths are not given (e.g. if you just launch the program with no parameters), you will be prompted to type them in. Information from source (first) server's PlayerDB will be merged into records in the target (second) server's PlayerDB, and saved to <code>PlayerDB.merged.txt</code> file in the target (second) server's directory. A detailed list of changes will be written to <code>mergelog.txt</code> inside the target (second) server's directory.
Paths can be either absolute or relative to the working directory. If both paths are not given (e.g. if you just launch the program with no parameters), you will be prompted to type them in. Information from source (first) server's PlayerDB will be merged into records in the target (second) server's PlayerDB, and saved to <code>PlayerDB.merged.txt</code> file in the target (second) server's directory. A detailed list of changes will be written to <code>mergelog.txt</code> inside the target (second) server's directory.
Line 14: Line 14:


==Example==
==Example==
  C:\servers\minecraft> PlayerDBMergeTool PM freebuild
  C:\servers\minecraft> PlayerDBMergeTool.exe PM freebuild
  Loading data from PM
  Loading data from PM
   Loading LegacyRankMapping... 4
   Loading LegacyRankMapping... 4
Line 61: Line 61:
     this list of conditions and the following disclaimer in the documentation
     this list of conditions and the following disclaimer in the documentation
     and/or other materials provided with the distribution.
     and/or other materials provided with the distribution.
  3. Neither the name of fNbt nor the names of its contributors may be used to
  3. Neither the name of fCraft nor the names of its contributors may be used to
     endorse or promote products derived from this software without specific
     endorse or promote products derived from this software without specific
     prior written permission.
     prior written permission.

Latest revision as of 08:57, 29 July 2013

PlayerDBMergeTool is a specialized command-line utility intended to merge players' stats from one server with another. It requires config.xml and PlayerDB.txt from both servers. It was originally developed to facilitate the merger of Platinum Moon with fCraft.net Freebuild communities. Source code for this utility is not included on fCraft's usual source code repository at this time. PlayerDBMergeTool was last updated on 29 July 2013, for fCraft 0.640

Download

Source code: PlayerDBMergeTool_source.zip (20.0 KB)

Binaries: PlayerDBMergeTool.zip (14.6 KB)

Usage

PlayerDBMergeTool path/to/source/server path/to/target/server

Paths can be either absolute or relative to the working directory. If both paths are not given (e.g. if you just launch the program with no parameters), you will be prompted to type them in. Information from source (first) server's PlayerDB will be merged into records in the target (second) server's PlayerDB, and saved to PlayerDB.merged.txt file in the target (second) server's directory. A detailed list of changes will be written to mergelog.txt inside the target (second) server's directory.

Back up your PlayerDB.txt file before trying out this tool, just in case!

Example

C:\servers\minecraft> PlayerDBMergeTool.exe PM freebuild
Loading data from PM
  Loading LegacyRankMapping... 4
  Loading Ranks... 13
  Default rank: guest#M5AsamObRbaZjMz2
  Loading PlayerDB... 31500 player records (0 skipped)
  Done loading in 374 ms (84015.7 records/sec)

Loading data from freebuild
  Loading LegacyRankMapping... 7
  Loading Ranks... 10
  Default rank: guest#ecpuWZ6BuAgbVRd6
  Loading PlayerDB... 247007 player records (0 skipped)
  Done loading in 3063 ms (80617.7 records/sec)

Looking for matching player records... 6443
  AccountType changes: 890
  BlocksBuilt changes: 2872
  BlocksDeleted changes: 2972
  BlocksDrawn changes: 288
  FirstLoginDate changes: 1893
  LastLoginDate changes: 3933
  LastSeen changes: 3932
  LastIP changes: 2346
  MessagesWritten changes: 3484
  TimesBannedOthers changes: 24
  TimesKickedOthers changes: 35
  TimesVisited changes: 6443
  TotalTime changes: 6349
  Total changes: 33115

Saving to freebuild\PlayerDB.merged.txt
  Done saving in 1597 ms (154626.4 records/sec)

License

PlayerDBMergeTool is open-source and free for all uses. fCraft code and binaries are licensed and distributed under the permissive BSD-3 License, reproduced here:

Copyright (c) 2009-2013, Matvei "fragmer" Stefarov <[email protected]>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
    list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.
3. Neither the name of fCraft nor the names of its contributors may be used to
    endorse or promote products derived from this software without specific
    prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.