When posting binary messages to an NNTP server, does the user generate the unique message ID, or does the server you are posting to do this?

I have created a fully featured USENET client for binary yEnc downloading, & have decided to attempt adding the POSTING feature.

I am studying the RFCs, & whatever, but it's all a little bit unclear about who generates the ID of the message.

I thought that it was the server, but is a bit confused about this.

Any help will be greatly appreciated.